get-design-done
Copyright (c) 2026 hegemonart

This product includes software developed by third parties under the
Apache License, Version 2.0. See https://www.apache.org/licenses/LICENSE-2.0
for the full license text.

──────────────────────────────────────────────────────────────────────────────
Phase 27 — Peer-CLI Delegation Layer (v1.27.0, 2026-04-30)
──────────────────────────────────────────────────────────────────────────────

The peer-CLI delegation layer ports protocol shapes and skill patterns from:

  greenpolo/cc-multi-cli-plugin (https://github.com/greenpolo/cc-multi-cli-plugin)
  License: Apache License, Version 2.0
  Version reference: cc-multi-cli v2.0.0 (shipped 2026-04-24)

The following gdd files re-derive logic, contracts, or procedural patterns
from cc-multi-cli's source. We re-derive in our own runtime (CommonJS in
gdd's case; cc-multi-cli ships ESM); we do NOT vendor their runtime —
their hub assumes Claude-as-host while gdd needs any-runtime-as-host.
Attribution is provided here per Apache 2.0 §4.

  scripts/lib/peer-cli/acp-client.cjs
    └─ Adapts the line-delimited JSON-RPC + initialize/prompt/notification
       framing from cc-multi-cli's `acp-client.mjs`.

  scripts/lib/peer-cli/asp-client.cjs
    └─ Adapts the App Server Protocol thread-start + thread-resume + turn
       lifecycle from cc-multi-cli's `asp-client.mjs`. service_name and
       experimentalRawEvents conventions match cc-multi-cli.

  scripts/lib/peer-cli/spawn-cmd.cjs
    └─ Implements the Windows `.cmd` EINVAL workaround documented in
       cc-multi-cli's `transport-decisions.md`
       (`spawn(`"<absolute-fwd-slash-path>" <args>`, [], {shell: true})`).

  skills/peer-cli-customize/SKILL.md
    └─ Procedural pattern adapted from cc-multi-cli's `customize` skill.

  skills/peer-cli-add/SKILL.md
    └─ Procedural pattern adapted from cc-multi-cli's `multi-cli-anything`
       skill, including the verification ladder, model-ID `-preview`-suffix
       trap, and Windows quirk handling.

──────────────────────────────────────────────────────────────────────────────
Phase 28.5 — Skill Authoring Contract + Rework + Project Artifacts (v1.28.5, 2026-05-18)
──────────────────────────────────────────────────────────────────────────────

The skill-authoring contract, project-artifact format files, the
debug-feedback-loops reference, and the new zoom-out micro-skill port
content from:

  mattpocock/skills (https://github.com/mattpocock/skills)
  License: MIT
  Adapted with permission.

The following gdd files contain content adapted from mattpocock/skills:

  reference/skill-authoring-contract.md
    └─ Adapts the SKILL.md <=100-line cap, description-format contract
       (lax-mode default per Phase 33 A/B pending), frontmatter required
       fields, and progressive-disclosure-one-level-deep rules from
       mattpocock's productivity/write-a-skill/SKILL.md.

  reference/context-md-format.md
    └─ Adapts mattpocock's productivity/grill-with-docs/CONTEXT-FORMAT.md
       (DDD-style ubiquitous-language glossary schema, inline-write
       trigger, multi-context CONTEXT-MAP.md pattern). GDD additions:
       optional first-seen + aliases on term entries.

  reference/adr-format.md
    └─ Adapts mattpocock's productivity/grill-with-docs/ADR-FORMAT.md
       (3-criteria offer gate: hard-to-reverse AND surprising-without-
       context AND real-tradeoff; 4-state status lifecycle). GDD
       additions: optional cycle-id + phase-id cross-refs back to
       STATE.md.

  reference/architecture-vocabulary.md
    └─ Ports Ousterhout's *A Philosophy of Software Design* glossary via
       mattpocock's improve-codebase-architecture/LANGUAGE.md (8 core
       terms — Module / Interface / Implementation / Depth / Seam /
       Adapter / Leverage / Locality — plus 3 principles: deletion test,
       interface-is-test-surface, two-adapters-rule).

  reference/debug-feedback-loops.md
    └─ Adapts mattpocock's engineering/diagnose Phase 1 — feedback-loop
       discipline, 10 construction paths in priority order (failing test
       -> curl -> CLI fixture -> headless browser -> trace replay ->
       throwaway harness -> fuzz -> bisect harness -> differential loop
       -> HITL bash), iterate-on-loop sub-discipline, non-determinism
       reproduction-rate branch.

  skills/zoom-out/SKILL.md
    └─ Direct port of mattpocock's engineering/zoom-out (~10 lines body,
       disable-model-invocation: true, zoom-out-and-map-the-area
       instruction). User-invoked-only shortcut.

  skills/debug/SKILL.md (Phase 1 ordering)
    └─ Adopts the feedback-loop-discipline-first ordering — build the
       deterministic, fast, agent-runnable signal before hypothesizing.
       (Skill body itself is GDD original; the Phase 1 ordering +
       cross-link to reference/debug-feedback-loops.md is adapted.)

──────────────────────────────────────────────────────────────────────────────
Phase 28.7 — Multi-Runtime Install Architecture (v1.28.7, 2026-05-19)
──────────────────────────────────────────────────────────────────────────────

The multi-runtime install pipeline shipped in v1.28.7 — the runtime-homes /
runtime-artifact-layout / runtime-slash trio plus the per-runtime content
converters — is a re-implementation of the architecture from:

  gsd-build/get-shit-done (https://github.com/gsd-build/get-shit-done)
  License: MIT

The following gdd modules are an architectural port from gsd-build's MIT-
licensed install machinery. We re-implemented in GDD's existing module
conventions rather than byte-copying source, per Phase 28.7 D-02, to keep
the GDD codebase free of upstream version drift and the bundled
`bin/install.js` monolith:

  scripts/lib/install/runtime-homes.cjs
    └─ Per-runtime config-dir resolver (env-var + XDG + special-case nests).
       Same shape as gsd-build's `bin/lib/runtime-homes.cjs`.

  scripts/lib/install/runtime-artifact-layout.cjs
    └─ Per-(runtime, scope) layout table mapping to kinds[]. Same shape as
       gsd-build's `bin/lib/runtime-artifact-layout.cjs`. Adapted to GDD's
       14-runtime set (gsd-build's Hermes is omitted per D-03 + D-10).

  scripts/lib/install/runtime-slash.cjs
    └─ Per-runtime slash-command surface emitter. Adapted from gsd-build's
       `bin/lib/runtime-slash.cjs`. Codex uses `$gdd-<name>` shell-var form;
       other runtimes use `/gdd-<name>`.

  scripts/lib/install/converters/{antigravity,augment,cline,codebuddy,codex,
                                  copilot,cursor,gemini,kilo,opencode,qwen,
                                  shared,trae,windsurf}.cjs
    └─ Per-runtime content converters. Each translates a Claude SKILL.md
       source into the runtime's expected shape (path rewrite, tool-name
       rewrite via Phase 21 cross-harness maps, frontmatter pass-through).
       gsd-build implements these as `convertClaudeCommandTo<Runtime>Skill`
       functions inside a bundled `bin/install.js`; we factor them into
       per-runtime `.cjs` files for independent testability.

Per-file headers in the ported modules carry the same attribution. This
NOTICE block is the rollup citation.

The upstream gsd-build project remains the authoritative reference for the
install-pipeline architecture; bug reports specific to the architecture's
shape should also be filed there.

──────────────────────────────────────────────────────────────────────────────
Phase 30 — Privacy Layer (v1.30.0, 2026-05-20)
──────────────────────────────────────────────────────────────────────────────

scripts/lib/pseudonymize.cjs and scripts/lib/issue-reporter/payload-assembly.cjs
were authored from scratch for Phase 30 (consent-first issue reporter). No
third-party privacy or anonymization patterns were adapted into either file
— verified by inspection of the file contents (no "adapted from" / "from
<library>" / source-citation comments) and by git log on both files (commits
ed478fe, e5fc79a, e86c648 — all original to this repo).

The regex rules in pseudonymize.cjs target generic identity-correlatable
fields (usernames, hostnames, filesystem paths, repo origin URLs, env-var
values, email patterns, IP addresses). The patterns were derived from the
canonical shapes of these surfaces as they appear in plugin runtime output;
they were NOT sourced from any upstream anonymization or pseudonymization
library.

The Phase 30 — Inbound Feedback Channel design itself (consent-first issue
reporter, hardcoded destination, no plugin-side credentials, gh-CLI-only
outbound) is original to get-design-done. The architectural rationale lives
in .planning/phases/30-issue-reporter/CONTEXT.md.

──────────────────────────────────────────────────────────────────────────────
Phase 30.6 — Graphify Self-Ownership (v1.30.6, 2026-05-28)
──────────────────────────────────────────────────────────────────────────────

Version 1.30.6 removes the last runtime touchpoint between get-design-done
and the user's `~/.claude/get-shit-done/` install. Eight callsites
previously dispatched `node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs"
graphify *` at runtime; they now dispatch a native `bin/gdd-graph` CLI
owned end-to-end in this repository.

No historical MIT/Apache attributions in this NOTICE are removed or
modified by this change. The Phase 27 / Phase 28.5 / Phase 28.7
attribution subsections above are preserved verbatim per Phase 30.6 D-06.
Those describe historical architectural ports:

  - Phase 27 — peer-CLI delegation protocol shapes adapted from
    cc-multi-cli-plugin (Apache 2.0).
  - Phase 28.5 — skill-authoring contract + project-artifact formats +
    debug feedback-loop reference + zoom-out micro-skill, ported from
    mattpocock/skills (MIT).
  - Phase 28.7 — multi-runtime install pipeline architecture, ported
    from gsd-build/get-shit-done (MIT).

Phase 30.6 removes a runtime touchpoint, NOT a historical port. The
architectural ports listed above remain in our tree under their original
MIT/Apache terms.

For context: the upstream `gsd-build/get-shit-done` project has since been
archived (TÂCHES rug-pull, May 2026). The community continuation lives at
`open-gsd/get-shit-done-redux` and is bit-perfect with the pre-rug tree.
The Phase 28.7 attribution above remains pointed at the original upstream
URL because that is the source of the architectural port; the redux fork
is referenced in `README.md` for users seeking a current download.

See `.planning/phases/30.6-graphify-self-ownership/` for full phase
documentation including the 10 architectural decisions (D-01 through D-10)
and the migration of the 8 dispatching callsites to native `bin/gdd-graph`.

──────────────────────────────────────────────────────────────────────────────
Phase 32 — Skill Auto-Trigger Discipline + Defensive Guardrails (v1.32.0, 2026-05-30)
──────────────────────────────────────────────────────────────────────────────

The skill-discipline layer shipped in v1.32.0 ports the MECHANISM (not the
content) from:

  obra/superpowers (https://github.com/obra/superpowers)
  License: MIT

GDD had 70+ skills and zero forcing functions; superpowers ships exactly one
(`using-superpowers` SessionStart inject) plus the `<HARD-GATE>` /
`<SUBAGENT-STOP>` / rationalization-table guardrail patterns, and reliably
auto-triggers its skills. We re-derive the mechanism in GDD's own runtime and
skill set; the skill bodies, gates, tables, and pipeline flow are GDD-specific.
Three ported artifacts:

  hooks/inject-using-gdd.sh
    └─ SessionStart hook-script structure adapted from superpowers'
       `using-superpowers` inject: one polyglot script, env-var branch per
       harness, pure-bash escape_for_json (no jq/python dependency).

  skills/using-gdd/SKILL.md
    └─ The 1%-rule ("even a 1% chance a skill applies → invoke it") + the
       red-flags `| Thought | Reality |` table format adapted from
       superpowers' using-superpowers discipline contract. GDD content:
       GDD pipeline stages, skill-priority order, instruction-priority.

  skills/{brief,explore,plan,design,verify,discuss,audit}/SKILL.md
    └─ The defensive-guardrail patterns — `<HARD-GATE>` (refuse to advance a
       stage without its artifact), `<SUBAGENT-STOP>` (no-cascade into
       subagents), and the rationalization-table pattern — adapted from
       superpowers. The specific gates, artifact paths, and table rows are
       GDD-specific.

The mechanism is the contribution being attributed; the discipline content is
original to get-design-done.

──────────────────────────────────────────────────────────────────────────────
Phase 33 — Skill Behavior Tests (Pressure-Scenario Harness) (v1.33.0, 2026-05-30)
──────────────────────────────────────────────────────────────────────────────

The skill-behavior pressure-scenario harness shipped in v1.33.0 ports the
TDD-for-skills METHODOLOGY and the pressure-scenario PATTERN (not the content)
from:

  obra/superpowers/skills/writing-skills (https://github.com/obra/superpowers)
  License: MIT

writing-skills codifies the TDD-for-skills cycle (RED: an agent fails the task
without the skill → GREEN: the skill counters those specific rationalizations →
REFACTOR: close newly-discovered loopholes) and the pattern of testing a skill
UNDER PRESSURE (time / sunk-cost / authority / exhaustion / scope-minimization)
rather than only statically. We re-derive the methodology + pattern in GDD's own
runtime and skill set:

  scripts/lib/skill-behavior/runner.cjs
    └─ The manifest-driven pressure-scenario runner (injectable agent-invoker
       seam, N-attempts + majority rule, RED→GREEN structured result) adapts
       writing-skills' TDD-for-skills test loop. GDD content: the injectable
       invoker seam (no SDK dependency — D-03), the scenario-manifest schema,
       and the stub-LLM CI path.

  test/suite/skill-behavior/scenarios/*.json
    └─ The pressure-scenario manifest pattern (a scenario applies a named
       pressure to a skill and scores compliance vs violation against a rubric)
       adapts writing-skills' pressure-test pattern. The specific scenarios,
       pressures, rubrics, and the 8 covered skills are GDD-specific.

  reference/schemas/pressure-scenario.schema.json
    └─ The scenario-manifest contract formalizing the pattern. GDD original.

The methodology + pattern are the contribution being attributed; the scenarios,
rubrics, runner implementation, and skills are original to get-design-done.

────────────────────────────────────────────────────────────────────────

Note on the broader codebase: get-design-done as a whole is licensed under
the MIT License (see LICENSE). The Apache 2.0 attribution above applies
specifically to the cc-multi-cli-derived files listed under the Phase 27
block. The MIT attributions under Phase 28.5, Phase 28.7, Phase 32, and
Phase 33 cover content/mechanism/methodology adapted from mattpocock/skills
(MIT), gsd-build/get-shit-done (MIT), obra/superpowers (MIT), and
obra/superpowers/skills/writing-skills (MIT) respectively — the MIT-to-MIT
re-licensing is straightforward and the attributions above provide the
required source citation. The MIT and Apache 2.0 licenses are compatible — see
https://www.apache.org/legal/resolved.html#category-a.
