mirror of
https://github.com/garrytan/gstack.git
synced 2026-10-31 22:14:25 +01:00
* test(skill-evals): /learn before/after tasks, written before any cut (GSTA-133) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * fix(learnings): --help, unknown-flag errors and --stats on the learnings bins; cross-project search no longer drops every project when the state root path contains the slug Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * refactor(learn): diet /learn onto the levels: tool flags replace the inline stats program, one mode table, prune rules kept Skill-Diet: learn Skill-Size: 5797→2586 bytes (SKILL.md.tmpl) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * feat(write-skill): /write-skill skill, gstack-skill-bill, static skill-to-bin drift ratchet, shared skill eval contract Skill-Size: 0→3245 bytes (write-skill/SKILL.md.tmpl) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * fix(learn): guard the state-root lookup in Prune; re-measure the learn ceiling Skill-Size: 2586→2707 bytes (learn/SKILL.md.tmpl) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * fix: pre-landing review fixes (drift scanner, learnings flags, skill-bill baselines, eval fixtures) - skill-bin-drift: a redirect no longer ends a command, so `bin/x 2>/dev/null --bogus` is checked - gstack-learnings-search: a missing value or a non-positive --limit exits 2 like an unknown flag - gstack-skill-bill: the gstack root skill is a checkout skill; Skill-Diet trailers match the exact name; the baseline counts the committed bytes untrimmed - skill-evals task files get a free contract test and are registered in FREE_FIXTURES, with the drift allowlist - learn eval: the no-code-change safety task no longer asks the model to fix code (its check penalised obeying the user) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * fix(learn,write-skill): full bin paths in the mode table; prune asks per entry unless the request names the action Skill-Diet: learn Skill-Size: 2707→2955 bytes (learn/SKILL.md.tmpl) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * docs(changelog): /write-skill, gstack-skill-bill, drift ratchet, eval contract, /learn diet Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * docs: drift ratchet in CONTRIBUTING's static tests; /learn prune example asks per entry Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * fix(skill-bill): report a checkout skill's eval task file and check it against the contract The skill-evals task-file test now exercises lib/skill-bill.ts's checkEvalTasks, with a negative control, instead of a test-only validator (test-of-test ratchet). Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * fix(skill-bill): EVAL TASKS path uses forward slashes on every platform; a non-object task entry is a problem, not a crash Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * fix(learn): BASH_COMPAT guard on in-window heredocs; count skill-e2e-write-skill in the paid census Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --------- Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
178 lines
11 KiB
Markdown
178 lines
11 KiB
Markdown
# Third-Party Notices
|
|
|
|
gstack is MIT. The files below contain material derived from Apache-2.0 and MIT
|
|
works, rewritten in gstack's voice and modified. Rewriting is not an exemption:
|
|
the license texts are in `licenses/`, and each file derived from an Apache-2.0
|
|
work carries a notice that it was changed. Unmodified copies (the rule-registry fixture, the
|
|
license text) carry no header and are listed here instead.
|
|
|
|
## impeccable — Copyright Paul Bakaus — Apache License 2.0
|
|
|
|
https://github.com/pbakaus/impeccable
|
|
|
|
Derived, modified:
|
|
|
|
- `lib/design-catalog.ts`: rule ids and names from `crates/live/assets/antipatterns.json`; the prose is gstack's.
|
|
- `scripts/resolvers/design.ts`: the Persuade / Operate / Read / Experience visitor modes, the craft-floor reflexes (browser surfaces, one authored motion moment, depth has an offset, tinted secondary text, space above headings, light-or-dark from the use scene), and the three-looks calibration, from `SKILL.md`, `reference/craft-floor.md`, and `reference/new-work.md`, rewritten.
|
|
- `design-consultation/sections/proposal-and-preview.md.tmpl`: the font-selection procedure and the calibration paragraph, rewritten; and the `SKILL.md` / `sections/*.md` files generated from these sources.
|
|
|
|
Unmodified copy:
|
|
|
|
- `test/fixtures/impeccable-antipatterns.json`: `crates/live/assets/antipatterns.json` at commit 87d8f6d6 (engine-v0.1.3), wrapped in a `_source` provenance object.
|
|
|
|
Not distributed: `bin/gstack-design-detect.ts` invokes an impeccable engine the
|
|
user installed. gstack does not ship or mirror that engine and never runs impeccable's
|
|
installer or launcher. The one download gstack can make is the engine binary
|
|
itself, only after the user accepts a design skill's one-time offer: fetched from
|
|
impeccable's own GitHub release into `~/.impeccable/bin/<version>/`, verified
|
|
against the checksum pinned in `lib/design-detect-contract.ts`, and recorded in
|
|
the egress ledger first. gstack does not audit the engine's network behavior; the
|
|
wrapper refuses URL targets so gstack never asks it to touch the network.
|
|
|
|
## ai-design-skills and redesign-skill — Copyright (c) 2026 Elaya — MIT License
|
|
|
|
https://github.com/elayadesign/ai-design-skills (`skills/landing-page-design`,
|
|
`skills/design-to-motion`, at 38bbe576) and
|
|
https://github.com/elayadesign/redesign-skill (`skills/redesign-existing-projects`,
|
|
at 64627f6e). License text: `licenses/MIT-elaya.txt`.
|
|
|
|
Derived, modified (rules rewritten in gstack's voice and reconciled with its
|
|
design rules; Elaya's fixed fonts, colors, spacing values, icon sets and
|
|
signature components are not carried over):
|
|
|
|
- `design-html/sections/craft.md.tmpl`: the Persuade intake, page archetypes,
|
|
page structure, conversion and copy rules, indexing and build order from
|
|
landing-page-design Part A; the content-realism, ship-floor, scale-snapping,
|
|
line-break and motion rules from landing-page-design Part B, the website
|
|
context of design-to-motion and the redesign-skill audit; and the generated
|
|
`design-html/SKILL.md` / `sections/craft.md`.
|
|
- `lib/design-lint/rules/copy.ts`: the content-realism and ship-floor tells,
|
|
the design lint's copy tier.
|
|
- `design-shotgun/SKILL.md.tmpl`: page archetypes as a variant axis.
|
|
- `design-review/sections/craft-audit.md.tmpl` (and the generated
|
|
`sections/craft-audit.md`): the redesign-skill audit of an existing site,
|
|
its fix-priority order and Tailwind version check; `scripts/resolvers/design-craft.ts`:
|
|
the Persuade conversion checks, also rendered into
|
|
`plan-design-review/sections/review-sections.md`; and the craft-tell entries
|
|
in `lib/design-catalog.ts`.
|
|
- `design-motion/SKILL.md.tmpl` and `design-motion/sections/fidelity.md.tmpl`,
|
|
`motion.md.tmpl` and `figma.md.tmpl` (and the generated `design-motion/SKILL.md`
|
|
and `sections/*.md`): design-to-motion's fidelity rules, Figma layer-export
|
|
table (now an optional source path), loading choreography, story loops,
|
|
loop cycle, easing, checks and export formats, reconciled with gstack's one
|
|
authored motion moment, content visible without script, and the slop
|
|
catalog's motion tells.
|
|
- `lib/motion-capture.ts` and `bin/gstack-motion-capture.ts`: design-to-motion's
|
|
deterministic capture (fake clock, whole-millisecond steps averaging 1000/60,
|
|
the `__start`/`__tick`/`__lt` page contract, PRE frames).
|
|
- `lib/motion-encode.ts` and `bin/gstack-motion-encode`: design-to-motion's
|
|
ffmpeg recipes for the MP4, loop GIF and 800x500 GIF, and its seam,
|
|
empty-beat, rest and overflow checks as ffmpeg PSNR comparisons.
|
|
|
|
## hallmark — Copyright (c) 2026 Hallmark contributors — MIT License
|
|
|
|
https://github.com/Nutlope/hallmark (`skills/hallmark/scripts/sloplint.mjs`,
|
|
`sloplint-render.mjs`, `references/gates.md`, `scripts/fixtures/`, at 7ec8682).
|
|
License text: `licenses/MIT-hallmark.txt`.
|
|
|
|
Derived, modified (every gate rewritten in TypeScript and in gstack's voice,
|
|
mapped onto gstack's severity words; hallmark's theme stamp, genres, posture
|
|
guards, photo index and judged gates are not carried over):
|
|
|
|
- `lib/design-lint/` and `bin/gstack-design-lint`: the static tier's parsers
|
|
(CSS rules and tokens, HTML and component pseudo-HTML, Tailwind class
|
|
strings), the colour maths, the waiver record, and the rule families under
|
|
`lib/design-lint/rules/`; the render tier in `lib/design-lint/render*.ts`,
|
|
driving gstack's own browser instead of puppeteer.
|
|
- `test/fixtures/design-lint/{slopped.html,eyebrow-pass,eyebrow-fail,tailwind-pass,tailwind-fail,waiver}`:
|
|
the fixtures, with their waiver comments rewritten to the lint's form.
|
|
|
|
## DESIGN.md specification — Copyright Google LLC — Apache License 2.0
|
|
|
|
https://github.com/google-labs-code/design.md
|
|
|
|
`lib/design-md.ts`, `bin/gstack-design-md.ts`, and the Phase 6 template in
|
|
`design-consultation/sections/proposal-and-preview.md.tmpl` implement the
|
|
format (YAML token front matter in five groups, eight canonical sections in
|
|
spec order, `{path}` token references). No specification text is reproduced.
|
|
|
|
## skill-diet — Copyright Nico Bailon — MIT License
|
|
|
|
https://github.com/nicobailon/skill-diet (at 5f41df1; license text: `licenses/MIT-skill-diet.txt`).
|
|
Adapted, not vendored: the levels table, the five-step edit ladder and the size-budget rule in
|
|
`write-skill/SKILL.md.tmpl`, and the full-diet procedure in `write-skill/references/diet.md`,
|
|
rewritten for gstack's templates, carved sections, bins and ratchet tests. The before/after/none
|
|
scoring rules in `docs/designs/SKILL_EVAL_CONTRACT.md` follow skill-diet's `scripts/eval.mjs`.
|
|
|
|
## tstack — Copyright Theo Browne — MIT License
|
|
|
|
https://github.com/t3dotgg/tstack (`skills/sol-loop`, at 7de017b3). Ideas, not text: the
|
|
three-word severity glossary (blocker, should, nit) and the two stop rules (a review that
|
|
grew the diff cuts first; the end of the budget is not approval) in
|
|
`ship/sections/review-army.md.tmpl`, `review/checklist.md` and `docs/review-policy.md`
|
|
are written in gstack's words and mapped onto gstack's blocking floor. No sentence is copied,
|
|
so no license text is carried; this entry is a courtesy.
|
|
Also ideas, not text (`skills/modernize`, `skills/leaving-pr-comments`, `skills/full-send`,
|
|
`agents/openai.yaml`, at 7de017b3): the MODERNIZE / REWORK / CLOSE verdict names in
|
|
`modernize/SKILL.md.tmpl`, the `> [!NOTE]` author callout behind `gstack-post --attribute`, the
|
|
three-bullet unattended grant in `docs/unattended.md`, and a per-skill Codex `default_prompt`;
|
|
all written fresh in gstack's words.
|
|
|
|
Design port (`skills/babysit-pr/scripts/pr-wait`, at 7de017b3; license text:
|
|
`licenses/MIT-tstack.txt`): `bin/gstack-pr-wait`, `lib/pr-wait.ts` and
|
|
`lib/pr-wait-github.ts` follow pr-wait's design (one stdout line per real event,
|
|
`--until green|ready|any-change`, exit 0/1/2, required checks from rulesets and
|
|
classic protection, two identical polls before green, the base-moved-and-touches-
|
|
this-PR event, BEHIND and DIRTY, a per-PR lock, a 6-hour baseline), rewritten in
|
|
TypeScript on gstack's bun shebang, state root, result codes and config keys;
|
|
no Python line is carried. Each file names the source in its header.
|
|
|
|
## pstack — Copyright Lauren Tan — MIT License
|
|
|
|
https://github.com/cursor/plugins (`pstack/skills/interrogate`, `lead-judgment.md`). Ideas,
|
|
not text: the lead-judgment filters applied before a merged review finding counts (nit
|
|
gravity, hypothetical versus actual, structure for a case that does not exist, a different
|
|
design is not a defect, missing context; independent agreement as the strongest signal;
|
|
`NO FINDINGS` as a correct result) in `scripts/resolvers/review-army.ts` stage 4 and
|
|
`docs/review-policy.md` are written in gstack's words. No sentence is copied, so no license
|
|
text is carried; this entry is a courtesy.
|
|
Also ideas, not text, from `pstack/skills/blast-radius`, `recall`, `benchmark-checklist`,
|
|
`architect` (`references/design-red-flags.md`) and `principle-attack-the-premise`
|
|
(Garry, 2026-10-26: "Do it, send"): the one safety fact, the five-rung evidence ladder and
|
|
the shared-premise red flag in `investigate/sections/blast-radius.md.tmpl` and
|
|
`investigate/SKILL.md.tmpl`; the transcript-mining fallback and its status-tagged brief in
|
|
`context-restore/sections/transcripts.md.tmpl`; the seven questions in
|
|
`benchmark/sections/vet-the-number.md.tmpl`; the second-shape comparison and the eight
|
|
design red flags in Section 1 of `plan-eng-review/sections/review-sections.md.tmpl`; and the generated
|
|
`SKILL.md` / `sections/*.md` files. Each section names its source in a first-line comment.
|
|
Written in gstack's words; no sentence is copied, so no license text is carried.
|
|
|
|
Also ideas, not text, from `pstack/skills/principle-*`, `poteto-mode` and its eval playbook: ETHOS.md principles 5 to 8, the observable-questions rule in `plan-tune/SKILL.md.tmpl` and `docs/proactive.md`, the blinding rules in `eval-plan/SKILL.md.tmpl` and `docs/TESTING_INTERNALS.md`, and the limiter sentence in AGENTS.md step 4 (GSTA-124).
|
|
|
|
## pstack, ported scripts — Copyright (c) 2026 Lauren Tan — MIT License
|
|
|
|
https://github.com/cursor/plugins (`pstack/` at 99b609a7). License text:
|
|
`licenses/MIT-pstack.txt`. Unlike the ideas entry above, these two are code
|
|
ports, so the license text is carried and each file's header names its source.
|
|
|
|
Derived, modified:
|
|
|
|
- `bin/gstack-decision-trail`: `pstack/skills/show-me-your-work/scripts/log.sh`
|
|
in TypeScript: the header-once append, the one-line cells and the
|
|
spreadsheet formula guard (a leading quote on cells starting with `=`, `+`,
|
|
`-` or `@`). The `start` subcommand and the `--run` admission check are
|
|
gstack's.
|
|
- `bin/gstack-worktree-audit`: `pstack/skills/poteto-mode/scripts/worktree-audit.sh`,
|
|
with the PR column read through `gh --jq` alone, the chat column read from
|
|
Claude Code's per-worktree transcript directory, and a `--no-fetch` flag.
|
|
|
|
## pstack (unslop) — Copyright Lauren Tan — MIT License
|
|
|
|
https://github.com/cursor/plugins (`pstack/skills/unslop/SKILL.md`, at 99b609a7). The
|
|
word lists in `lib/prose-lint.ts` (the autopilot vocabulary and the metaphor nouns with
|
|
their plain replacements) are facts taken from unslop's rules 7 and 26; the rules a
|
|
regular expression decides (the "not just X, but Y" shape, the mid-sentence colon, the
|
|
bold label that restates its line, arrows and dropped articles) are written in gstack's
|
|
words, scoped to the CHANGELOG entry and PR body /ship writes, and report-only elsewhere.
|
|
No sentence is copied, so no license text is carried; this entry is a courtesy.
|