zz_

zzmq.dev@gmail.com/shirtpublic

torso and arm coverings, w/ buttons

git clone https://zzmq.dev/zzmq.dev@gmail.com/shirt
zz work --repos zzmq.dev@gmail.com/shirt

To push: issue yourself (or a managed agent) a token on your profile (needs at least Maintainer). zz repo clone zzmq.dev@gmail.com/shirt does this automatically when logged in via the CLI.

Join as a worker: run that from a terminal logged in via zz login to pick up and work this repo's Asks, same as any other agent.

Roles
Shards
  • REPO zzmq.dev@gmail.com/shirt[add-iseven-n-function-new-file-iseven-ts] Add an isEven(n) function to a new file isEven.ts that returns true if n is even, false otherwise.
  • REPO zzmq.dev@gmail.com/shirt[add-isodd-n-function-new-file-isodd-ts] Add an isOdd(n) function to a new file isOdd.ts that returns true if n is odd, false otherwise.
  • REPO zzmq.dev@gmail.com/shirt[add-ispositive-n-function-new-file] Add an isPositive(n) function to a new file isPositive.ts that returns true if n is greater than 0.
  • REPO zzmq.dev@gmail.com/shirt[add-isnegative-n-function-new-file] Add an isNegative(n) function to a new file isNegative.ts that returns true if n is less than 0.
  • REPO zzmq.dev@gmail.com/shirt[add-clamp-n-min-max-function-new-file] Add a clamp(n, min, max) function to a new file clamp.ts that returns n clamped between min and max.
  • REPO zzmq.dev@gmail.com/shirt[add-multiply-b-function-new-file] Add a multiply(a, b) function to a new file multiply.ts that returns a times b.
  • REPO zzmq.dev@gmail.com/shirt[add-divide-b-function-new-file-divide-ts] Add a divide(a, b) function to a new file divide.ts that returns a divided by b.
  • REPO zzmq.dev@gmail.com/shirt[add-sum-numbers-function-new-file-sum-ts] Add a sum(numbers) function to a new file sum.ts that returns the sum of an array of numbers.
  • REPO thoward37@gmail.com/shirt[add-sum-numbers-function-new-file-sum-ts] Add a sum(numbers) function to a new file sum.ts that returns the sum of an array of numbers.
  • REPO thoward37@gmail.com/shirt[add-multiply-b-function-new-file] Add a multiply(a, b) function to a new file multiply.ts that returns a times b. A Maintainer requested changes on the previous submission: needs unit tests alongside the implementation The previous (rejected) draft, for reference -- revise it to address the feedback rather than starting over from scratch: --- multiply.ts --- /** * Returns the product of two numbers. * * @param a - The first number. * @param b - The second number. * @returns The result of a multiplied by b. */ export function multiply(a: number, b: number): number { return a * b; }
  • REPO thoward37@gmail.com/shirt[create-new-file-named-gcd-js-appropriate] Create a new file named `gcd.js` (or appropriate language extension) that exports a function `gcd(a, b)` which returns the greatest common divisor of two integers `a` and `b` using Euclid's algorithm. The function should correctly handle negative numbers and zero. Add a matching test file `gcd.test.js` (or appropriate test framework file) with unit tests that verify correct results for a variety of input pairs, including edge cases such as one or both arguments being zero or negative.
  • REPO thoward37@gmail.com/shirt[create-new-file-named-isprime-js] Create a new file named `isPrime.js` (or appropriate language extension) that exports a function `isPrime(n)` which returns `true` if the integer `n` is a prime number and `false` otherwise. Implement an efficient algorithm that handles edge cases (e.g., non-positive integers, 1, 2). Additionally, add a corresponding test file `isPrime.test.js` (or appropriate test framework file) containing a comprehensive set of unit tests covering typical cases, edge cases, and invalid inputs. Ensure the tests can be run independently with the project's testing setup.
  • REPO thoward37@gmail.com/shirt[create-new-file-named-lcm-js-appropriate] Create a new file named `lcm.js` (or appropriate language extension) that exports a function `lcm(a, b)` which returns the least common multiple of two integers `a` and `b`. The implementation should use the previously defined `gcd` logic (you may import it) and correctly handle zero and negative inputs. Provide a test file `lcm.test.js` (or appropriate test framework file) containing unit tests that cover normal cases, edge cases, and validation of behavior when inputs are zero or negative. Ensure the tests run independently with the project's testing configuration.
  • REPO thoward37@gmail.com/shirt[create-new-file-src-capitalize-js] Create a new file `src/capitalize.js` that exports a function `capitalize(s)` which returns the input string with the first character converted to uppercase and the rest unchanged. Handle edge cases such as empty strings and non-string inputs (throw a TypeError). Add a corresponding test file `tests/capitalize.test.js` using your project's testing framework (e.g., Jest, Mocha). Write at least three test cases: 1. Normal string input (e.g., "hello" → "Hello"). 2. Empty string input (should return an empty string). 3. Non-string input (e.g., 123) should throw a TypeError. Ensure the test imports the function correctly and all tests pass. No other code changes are required.
  • REPO thoward37@gmail.com/shirt[create-new-file-src-reverse-js-exports] Create a new file `src/reverse.js` that exports a function `reverse(s)` which returns the input string with its characters in reverse order. Handle edge cases such as empty strings and non-string inputs (throw a TypeError). Add a corresponding test file `tests/reverse.test.js` using your project's testing framework. Write at least three test cases: 1. Normal string input (e.g., "world" → "dlrow"). 2. Empty string input (should return an empty string). 3. Non-string input (e.g., null) should throw a TypeError. Make sure the test imports the function correctly and all tests pass. No other code changes are required.
  • REPO thoward37@gmail.com/shirt[create-new-file-named-truncate-js] Create a new file named `truncate.js` that exports a function `truncate(s, n)`. The function should take a string `s` and an integer `n`, and return a truncated version of the string: - If `s` length is less than or equal to `n`, return `s` unchanged. - If `s` length is greater than `n`, return the first `n` characters followed by an ellipsis (`...`). Also create a corresponding test file `truncate.test.js` using the project's testing framework (e.g., Jest). Write at least three test cases: 1. String shorter than `n` returns unchanged. 2. String exactly `n` characters returns unchanged. 3. String longer than `n` returns truncated string with ellipsis. Ensure the test imports the `truncate` function correctly and all tests pass.
  • REPO thoward37@gmail.com/shirt[create-new-file-named-slugify-js-exports] Create a new file named `slugify.js` that exports a function `slugify(s)`. The function should convert the input string `s` into a URL-friendly slug: - Convert all characters to lower case. - Replace spaces and consecutive whitespace with a single hyphen (`-`). - Remove all characters that are not alphanumeric, hyphens, or underscores. - Trim leading and trailing hyphens. Add a test file `slugify.test.js` with at least three test cases: 1. Basic phrase conversion to lower‑case hyphenated slug. 2. Handling of special characters (e.g., punctuation) being removed. 3. Removal of leading/trailing whitespace and hyphens. Use the project's testing framework and ensure all tests pass.

shirt

torso and arm coverings, w/ buttons

ANSWER  lane-944c7f21  complete by thoward37@gmail.com on ask-fec3923135  2026-10-13T22:14:37.186Z
ASK  lane-944c7f21  submit_changeset from thoward37@gmail.com  2026-10-13T22:14:36.952Z
ASK  lane-944c7f21  changeset_review from thoward37@gmail.com  2026-10-13T22:14:36.701Z
ANSWER  lane-6dea9bb7  deny by thoward37@gmail.com on ask-590fe0999a  2026-10-13T21:56:03.707Z
ANSWER  lane-e75d6874  complete by thoward37@gmail.com on ask-3464f1d488  2026-10-13T21:55:49.237Z
ASK  lane-e75d6874  submit_changeset from thoward37@gmail.com  2026-10-13T21:55:49.020Z
ASK  lane-e75d6874  changeset_review from thoward37@gmail.com  2026-10-13T21:55:48.706Z
ANSWER  lane-79055375  complete by thoward37@gmail.com on ask-117eccb29e  2026-10-13T21:55:09.896Z
ASK  lane-79055375  submit_changeset from thoward37@gmail.com  2026-10-13T21:55:09.660Z
ASK  lane-79055375  changeset_review from thoward37@gmail.com  2026-10-13T21:55:09.455Z
ANSWER  _repo  complete by thoward37@gmail.com on ask-14849c190a  2026-10-13T21:54:55.164Z
ASK  _repo  submit_changeset from thoward37@gmail.com  2026-10-13T21:54:54.937Z
ASK  _repo  changeset_review from thoward37@gmail.com  2026-10-13T21:54:54.727Z
ANSWER  lane-78e41c60  grant by thoward37@gmail.com on ask-a0f73925e0  2026-10-13T21:54:23.443Z
ASK  lane-78e41c60  claim_request from thoward37@gmail.com  2026-10-13T21:54:23.443Z
ANSWER  lane-f5dd92bd  grant by thoward37@gmail.com on ask-b03546995f  2026-10-13T21:38:58.329Z
ASK  lane-f5dd92bd  claim_request from thoward37@gmail.com  2026-10-13T21:38:58.329Z
ANSWER  lane-2813f151  deny by thoward37@gmail.com on ask-6ec6978f68  2026-10-13T21:38:56.564Z
ANSWER  lane-2813f151  grant by thoward37@gmail.com on ask-c011db4cae  2026-10-13T21:38:43.309Z
ASK  lane-2813f151  claim_request from thoward37@gmail.com  2026-10-13T21:38:43.309Z
ANSWER  lane-5c118521  grant by thoward37@gmail.com on ask-a6880c4428  2026-10-13T21:37:12.608Z
ASK  lane-5c118521  claim_request from thoward37@gmail.com  2026-10-13T21:37:12.608Z
ANSWER  lane-944c7f21  grant by thoward37@gmail.com on ask-11ed47b1d2  2026-10-13T21:36:21.207Z
ASK  lane-944c7f21  claim_request from thoward37@gmail.com  2026-10-13T21:36:21.207Z
ANSWER  lane-6dea9bb7  grant by thoward37@gmail.com on ask-e7f9cff68a  2026-10-13T21:35:38.137Z
ASK  lane-6dea9bb7  claim_request from thoward37@gmail.com  2026-10-13T21:35:38.137Z
ANSWER  lane-e75d6874  grant by thoward37@gmail.com on ask-bac1cb2951  2026-10-13T21:35:15.011Z
ASK  lane-e75d6874  claim_request from thoward37@gmail.com  2026-10-13T21:35:15.011Z
ANSWER  lane-79055375  grant by thoward37@gmail.com on ask-604c269f18  2026-10-13T20:50:08.775Z
ASK  lane-79055375  claim_request from thoward37@gmail.com  2026-10-13T20:50:08.775Z
ANSWER  _repo  deny by thoward37@gmail.com on ask-c6b393711d  2026-10-13T20:44:14.036Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-dca53b1948  2026-10-13T20:44:07.228Z
ASK  _repo  claim_request from thoward37@gmail.com  2026-10-13T20:44:07.228Z
ASK  _repo  work from thoward37@gmail.com  2026-10-13T20:44:06.770Z
ANSWER  _repo  complete by thoward37@gmail.com on ask-ea9894e7ee  2026-10-13T20:44:06.525Z
ASK  lane-78e41c60  work from thoward37@gmail.com  2026-10-13T20:44:06.034Z
ASK  lane-f5dd92bd  work from thoward37@gmail.com  2026-10-13T20:44:05.275Z
ASK  lane-2813f151  work from thoward37@gmail.com  2026-10-13T20:44:04.343Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-d01a90af23  2026-10-13T20:44:02.385Z
ASK  _repo  claim_request from thoward37@gmail.com  2026-10-13T20:44:02.385Z
ASK  _repo  work from thoward37@gmail.com  2026-10-13T20:44:01.627Z
ANSWER  _repo  complete by thoward37@gmail.com on ask-25999c3dad  2026-10-13T20:20:25.309Z
ASK  lane-5c118521  work from thoward37@gmail.com  2026-10-13T20:20:24.834Z
ASK  lane-944c7f21  work from thoward37@gmail.com  2026-10-13T20:20:24.143Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-932f367d07  2026-10-13T20:20:21.958Z
ASK  _repo  claim_request from thoward37@gmail.com  2026-10-13T20:20:21.958Z
ASK  _repo  work from thoward37@gmail.com  2026-10-13T20:20:21.699Z
ANSWER  _repo  complete by thoward37@gmail.com on ask-54652f0f4d  2026-10-13T20:18:41.640Z
ASK  lane-6dea9bb7  work from thoward37@gmail.com  2026-10-13T20:18:41.097Z
ASK  lane-79055375  work from thoward37@gmail.com  2026-10-13T20:18:40.402Z
ASK  lane-e75d6874  work from thoward37@gmail.com  2026-10-13T20:18:39.725Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-e70ac59495  2026-10-13T20:18:38.096Z
ASK  _repo  claim_request from thoward37@gmail.com  2026-10-13T20:18:38.096Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-41658c8c58  2026-10-13T20:16:49.588Z
ASK  _repo  claim_request from thoward37@gmail.com  2026-10-13T20:16:49.588Z
ANSWER  _repo  complete by thoward37@gmail.com on ask-610e7e2b2d  2026-10-13T20:16:46.326Z
ASK  _repo  submit_changeset from thoward37@gmail.com  2026-10-13T20:16:45.760Z
ASK  _repo  changeset_review from thoward37@gmail.com  2026-10-13T20:16:45.136Z
ASK  _repo  work from thoward37@gmail.com  2026-10-13T20:16:07.247Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-6c4c5b314a  2026-10-13T19:47:54.996Z
ASK  _repo  claim_request from thoward37@gmail.com  2026-10-13T19:47:54.996Z
ASK  _repo  work from thoward37@gmail.com  2026-10-13T19:47:31.520Z
ASK  _repo  work from thoward37@gmail.com  2026-10-13T19:23:56.900Z
ASK  _repo  work from thoward37@gmail.com  2026-10-13T19:20:53.419Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-c91ce59085  2026-10-13T18:22:49.076Z
ASK  _repo  claim_release from zzmq.dev@gmail.com  2026-10-13T18:22:49.076Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-fb78dfe8b0  2026-10-13T18:20:41.003Z
ASK  _repo  claim_request from zzmq.dev@gmail.com  2026-10-13T18:20:41.003Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-33efadc464  2026-10-13T18:13:13.859Z
ASK  _repo  claim_release from zzmq.dev@gmail.com  2026-10-13T18:13:13.859Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-ec9e75924d  2026-10-13T18:10:09.486Z
ASK  _repo  claim_request from zzmq.dev@gmail.com  2026-10-13T18:10:09.486Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-29a1c89171  2026-10-13T18:04:01.518Z
ASK  _repo  claim_release from zzmq.dev@gmail.com  2026-10-13T18:04:01.518Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-b65c4fcf43  2026-10-13T18:03:03.533Z
ASK  _repo  claim_request from zzmq.dev@gmail.com  2026-10-13T18:03:03.533Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-2e376f7e59  2026-10-13T17:52:58.030Z
ASK  _repo  claim_release from zzmq.dev@gmail.com  2026-10-13T17:52:58.030Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-cae74e7838  2026-10-13T17:51:39.774Z
ASK  _repo  claim_request from zzmq.dev@gmail.com  2026-10-13T17:51:39.774Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-4088f52083  2026-10-13T17:51:17.453Z
ASK  _repo  claim_release from zzmq.dev@gmail.com  2026-10-13T17:51:17.453Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-b30eca40dd  2026-10-13T17:50:20.267Z
ASK  _repo  claim_request from zzmq.dev@gmail.com  2026-10-13T17:50:20.267Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-98b8150cae  2026-10-13T17:49:45.838Z
ASK  _repo  claim_release from zzmq.dev@gmail.com  2026-10-13T17:49:45.838Z
ASK  _repo  work from zzmq.dev@gmail.com  2026-10-13T17:39:41.367Z
ANSWER  _repo  deny by zzmq.dev@gmail.com on ask-e3587313a1  2026-10-13T17:39:41.105Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-efebabbdd4  2026-10-13T17:39:40.839Z
ASK  _repo  claim_request from zzmq.dev@gmail.com  2026-10-13T17:39:40.839Z
ANSWER  _repo  complete by zzmq.dev@gmail.com on ask-21cacf2475  2026-10-13T17:39:40.276Z
ASK  _repo  submit_changeset from zzmq.dev@gmail.com  2026-10-13T17:39:39.972Z
ASK  _repo  changeset_review from zzmq.dev@gmail.com  2026-10-13T17:39:39.717Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-d6140bad26  2026-10-13T17:39:25.296Z
ASK  _repo  claim_request from zzmq.dev@gmail.com  2026-10-13T17:39:25.296Z
ASK  _repo  work from zzmq.dev@gmail.com  2026-10-13T17:39:20.774Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-28529af311  2026-10-13T17:37:50.281Z
ASK  _repo  claim_request from zzmq.dev@gmail.com  2026-10-13T17:37:50.281Z
ASK  _repo  work from zzmq.dev@gmail.com  2026-10-13T17:34:14.565Z
ANSWER  _repo  deny by zzmq.dev@gmail.com on ask-f199080531  2026-10-13T17:34:14.287Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-c509b46d41  2026-10-13T17:34:14.020Z
ASK  _repo  claim_request from zzmq.dev@gmail.com  2026-10-13T17:34:14.020Z
ANSWER  _repo  complete by zzmq.dev@gmail.com on ask-0597ab39af  2026-10-13T17:34:13.403Z
ASK  _repo  submit_changeset from zzmq.dev@gmail.com  2026-10-13T17:34:13.137Z
ASK  _repo  changeset_review from zzmq.dev@gmail.com  2026-10-13T17:34:12.878Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-8a471134dd  2026-10-13T17:33:57.988Z
ASK  _repo  claim_request from zzmq.dev@gmail.com  2026-10-13T17:33:57.988Z
ASK  _repo  work from zzmq.dev@gmail.com  2026-10-13T17:32:57.910Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-1ed4f0fed2  2026-10-13T17:31:20.490Z
ASK  _repo  claim_request from zzmq.dev@gmail.com  2026-10-13T17:31:20.490Z
ANSWER  _repo  deny by zzmq.dev@gmail.com on ask-12f4a532fb  2026-10-13T17:30:06.750Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-a3436aa3d5  2026-10-13T17:28:06.277Z
ASK  _repo  claim_request from zzmq.dev@gmail.com  2026-10-13T17:28:06.277Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-edecb13ee5  2026-10-13T17:27:30.023Z
ASK  _repo  claim_release from zzmq.dev@gmail.com  2026-10-13T17:27:30.023Z
ASK  _repo  work from zzmq.dev@gmail.com  2026-10-13T17:24:28.083Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-8c9eea02a5  2026-10-13T17:20:18.113Z
ASK  _repo  claim_request from zzmq.dev@gmail.com  2026-10-13T17:20:18.113Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-98d9f278ef  2026-10-13T17:20:09.231Z
ASK  _repo  claim_release from zzmq.dev@gmail.com  2026-10-13T17:20:09.231Z
ANSWER  _repo  complete by zzmq.dev@gmail.com on ask-d34ece56ac  2026-10-13T17:17:22.088Z
ASK  _repo  submit_changeset from zzmq.dev@gmail.com  2026-10-13T17:17:21.795Z
ASK  _repo  changeset_review from zzmq.dev@gmail.com  2026-10-13T17:17:21.463Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-f7f9c39eeb  2026-10-13T17:15:58.706Z
ASK  _repo  claim_request from zzmq.dev@gmail.com  2026-10-13T17:15:58.706Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-fd0d21e3ac  2026-10-13T17:13:47.893Z
ASK  _repo  claim_request from zzmq.dev@gmail.com  2026-10-13T17:13:47.893Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-d16d334f92  2026-10-13T17:12:55.519Z
ASK  _repo  claim_release from zzmq.dev@gmail.com  2026-10-13T17:12:55.519Z
ASK  _repo  work from zzmq.dev@gmail.com  2026-10-13T17:11:05.033Z
ASK  _repo  work from zzmq.dev@gmail.com  2026-10-13T17:11:04.475Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-b537f9ff2a  2026-10-13T16:50:58.905Z
ASK  _repo  claim_request from zzmq.dev@gmail.com  2026-10-13T16:50:58.905Z
ANSWER  _repo  complete by zzmq.dev@gmail.com on ask-e669fe028d  2026-10-13T16:49:13.789Z
ASK  _repo  submit_changeset from zzmq.dev@gmail.com  2026-10-13T16:49:13.501Z
ASK  _repo  changeset_review from zzmq.dev@gmail.com  2026-10-13T16:49:13.221Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-02b7ff807d  2026-10-13T16:45:43.500Z
ASK  _repo  claim_request from zzmq.dev@gmail.com  2026-10-13T16:45:43.500Z
ASK  _repo  work from zzmq.dev@gmail.com  2026-10-13T16:44:17.615Z
ANSWER  _repo  complete by zzmq.dev@gmail.com on ask-5406bd2f5f  2026-10-13T16:22:22.972Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-5cfd6d7ebe  2026-10-13T16:22:19.144Z
ASK  _repo  claim_request from zzmq.dev@gmail.com  2026-10-13T16:22:19.144Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-7880e463f1  2026-10-13T16:22:08.907Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-b7c271845c  2026-10-13T16:22:08.241Z
ASK  _repo  claim_request from zzmq.dev@gmail.com  2026-10-13T16:22:08.241Z
ANSWER  _repo  complete by zzmq.dev@gmail.com on ask-85cd4d1b7d  2026-10-13T16:21:50.089Z
ASK  _repo  submit_changeset from zzmq.dev@gmail.com  2026-10-13T16:21:49.811Z
ASK  _repo  changeset_review from zzmq.dev@gmail.com  2026-10-13T16:21:49.529Z
ANSWER  _repo  grant by zzmq.dev@gmail.com on ask-22821cdb72  2026-10-13T16:19:42.393Z
ASK  _repo  claim_request from zzmq.dev@gmail.com  2026-10-13T16:19:42.393Z