From 6eaf0c233fd7b7fc172335070325c29de9421167 Mon Sep 17 00:00:00 2001 From: Sal <59910950+ss-o@users.noreply.github.com> Date: Thu, 15 Oct 2026 06:52:32 +0100 Subject: [PATCH 1/2] docs(adr): propose root-module parser-fork packaging Draft ADR-0041 as PROPOSED, keep accepted fork history unchanged, and make source-owned parser guidance independent of the import namespace. Register the advisory decision and knowledge disposition, with their generated indexes. Refs #795 --- .github/instruction-surfaces.json | 12 ++++ ...1-zsh-lint-parser-root-module-packaging.md | 56 +++++++++++++++++++ decisions/README.md | 1 + .../domains/tooling/repository-resources.md | 1 + .../tooling/zsh-lint-parser-front-end.md | 2 +- knowledge/repository-files.json | 7 +++ 6 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 decisions/0041-zsh-lint-parser-root-module-packaging.md diff --git a/.github/instruction-surfaces.json b/.github/instruction-surfaces.json index d18f2562c..08e189797 100644 --- a/.github/instruction-surfaces.json +++ b/.github/instruction-surfaces.json @@ -207,6 +207,18 @@ "review_owner": "z-shell maintainers", "canonical_for": [] }, + { + "id": "decision-0041", + "path": "decisions/0041-zsh-lint-parser-root-module-packaging.md", + "kind": "decision", + "authority": "advisory", + "consumers": ["agent", "human"], + "tasks": ["architecture-decision"], + "file_patterns": ["**"], + "required": false, + "review_owner": "z-shell maintainers", + "canonical_for": [] + }, { "id": "organization-patterns", "path": "PATTERNS.md", diff --git a/decisions/0041-zsh-lint-parser-root-module-packaging.md b/decisions/0041-zsh-lint-parser-root-module-packaging.md new file mode 100644 index 000000000..d9cd8b776 --- /dev/null +++ b/decisions/0041-zsh-lint-parser-root-module-packaging.md @@ -0,0 +1,56 @@ +# 41. Package the zsh-lint parser fork inside the root Go module + +- **Status:** PROPOSED +- **Date:** 2026-10-15 +- **Deciders:** TBD +- **Supersedes:** None +- **Superseded by:** None + +## Context + +[ADR-0030](0030-zsh-lint-parser-fork-trigger-fired.md) selected an in-repository mvdan/sh fork so zsh-lint can fix proven Zsh parser gaps locally. Decision 2 places it under `third_party/mvdan-sh` with a local `replace` directive in `go.mod`. The directory and fork strategy remain useful, but that module arrangement prevents the documented versioned CLI installation: Go rejects the target module's replacement, and a nested module is omitted from the root module's downloadable zip. + +[zsh-lint issue 653](https://github.com/z-shell/zsh-lint/issues/653) owns the install defect. Both `v1.4.0` and baseline commit `e9d1ea142518e4332999dc1da4ce17928bc04f3d` reproduce it with fresh caches. [Source PR 699](https://github.com/z-shell/zsh-lint/pull/699) retains the directory while making its packages part of the root module. Fresh-cache public installation from commit `f1c43fac9c8eadfc914a4af89a1beea11afca891` succeeds, and its parser and analyzer corpus results are unchanged. That unmerged implementation is evidence for this proposal, not acceptance of it. + +A separately published fork module could also make installation work, but would add an independent module version, release lifecycle and source-publication dependency solely for code retained with the CLI. + +## Decision + +If accepted, refine only the module-packaging clause of ADR-0030 decision 2: + +1. Retain the parser fork under `third_party/mvdan-sh`, compiled as packages of the root `github.com/z-shell/zsh-lint` module. Imports between project and fork packages, and within the fork, use `github.com/z-shell/zsh-lint/third_party/mvdan-sh/...`. Do not ship a nested fork `go.mod` or `go.sum`, or require a local module replacement for the CLI's versioned installation. The root module must satisfy Go's versioned-install constraints without caller-local overrides. +2. Keep the upstream BSD-3-Clause license, copyright notices and provenance intact under [ADR-0017's L3 rule](0017-licensing-standard-by-provenance.md). Import normalization is a recorded local packaging change, not a relicense or grammar change. +3. Let the root module own dependencies and tools required by the retained fork packages and tests, including stringer. During an upstream refresh, follow `third_party/mvdan-sh/FORK.md`: copy retained packages without upstream module files, normalize imports, reapply documented local changes, review root dependency/tool resolution and regenerate with the root tools. Routine dependency updates remain under Renovate; parser-source refreshes remain deliberately reviewed changes. +4. Retain upstream tests and Zsh-only changes behind `LangZsh`. Root and fork-directory commands must resolve the same module. Preserve [ADR-0023](0023-zsh-lint-parser-front-end-strategy.md) and ADR-0030's tree-shape, native-oracle, corpus and adapter-removal gates. A module move is not evidence of a parser or lint-rule improvement. +5. Verify the downloadable module includes the parser and license, keep regressions for the module boundary and CLI dependency namespace, and prove fresh-cache versioned installation from the exact published implementation commit. Existing immutable tags remain unchanged. A fix reaches `@latest` only through the class-2 release boundary in [ADR-0007](0007-release-publication-flow.md). + +ADR-0030 decisions 1 and 3 to 5 remain unchanged, as do decision 2's fork location and provenance requirements. Keep ADR-0030 as accepted history rather than silently rewriting its original packaging choice. This document remains PROPOSED until a maintainer records acceptance through the ADR procedure; its publication alone does not activate the refinement, merge an implementation, publish a release or advance consumer pins. + +## Consequences + +### Positive + +- Versioned Go installation can obtain the CLI and its retained parser in one module download, without a separately published fork. +- Root module checks include the retained fork packages, and one dependency/tool selection governs both project and fork commands. +- The original fork strategy, upstream provenance and behavior gates remain intact. + +### Costs and risks + +- Upstream refreshes must normalize imports and merge required module/tool changes, so blindly copying an upstream tree is unsafe. +- Root dependency resolution applies to fork tests and generators; review selected versions and generated bodies rather than assuming equivalence with the former nested module. +- Formerly nested packages become visible to root checks. Preserve deliberate third-party lint boundaries explicitly while retaining build, vet and test coverage; do not mix inherited upstream lint cleanup into a packaging fix. +- Source-owned guidance must describe the target project's actual module layout. Approving and delivering a changed organization source to generated project consumers remains a separate revision-compatibility step. + +## Alternatives considered + +1. **Publish and version a separate fork module.** Technically viable, but adds a release and availability dependency not needed for this in-repository fork. +2. **Keep the replacement and document source-checkout installation only.** Avoids import migration but abandons the documented versioned Go installation contract instead of repairing it. +3. **Vendor or duplicate the parser elsewhere.** Adds another directory or ownership boundary without improving the existing retained fork's provenance and refresh workflow. + +## References + +- [Organization issue 795](https://github.com/z-shell/.github/issues/795), this scoped proposal and guidance correction. +- [Original fork decision request](https://github.com/z-shell/.github/issues/658) and [acceptance PR](https://github.com/z-shell/.github/pull/659). +- [Source implementation and verification](https://github.com/z-shell/zsh-lint/pull/699), including the public-commit install proof and inconclusive import-only mutation limits. +- [Fork packaging and refresh contract at the tested implementation](https://github.com/z-shell/zsh-lint/blob/f1c43fac9c8eadfc914a4af89a1beea11afca891/third_party/mvdan-sh/FORK.md). +- [ADR drafting and acceptance](../runbooks/adr.md). diff --git a/decisions/README.md b/decisions/README.md index db4caa4ba..63aadb0bd 100644 --- a/decisions/README.md +++ b/decisions/README.md @@ -51,3 +51,4 @@ a maintainer moves a record from `PROPOSED` to `ACCEPTED`. | [0038](0038-tool-attribution-preference-and-agent-output-controls.md) | Prefer minimal tool attribution and control agent output | PROPOSED | 2026-10-08 | TBD | | [0039](0039-zi-main-integration-and-signed-milestones.md) | Zi Main Integration and Signed Milestones | ACCEPTED | 2026-10-08 | ss-o | | [0040](0040-central-project-profiles-for-issue-intake.md) | Central Project Profiles for Issue Intake | ACCEPTED | 2026-10-09 | ss-o | +| [0041](0041-zsh-lint-parser-root-module-packaging.md) | Package the zsh-lint parser fork inside the root Go module | PROPOSED | 2026-10-15 | TBD | diff --git a/knowledge/domains/tooling/repository-resources.md b/knowledge/domains/tooling/repository-resources.md index 212c18c08..9ff75f48d 100644 --- a/knowledge/domains/tooling/repository-resources.md +++ b/knowledge/domains/tooling/repository-resources.md @@ -10,6 +10,7 @@ Select a file for the task described below. Imported files have an editable know | [decisions/0011-zsh-lint-semantic-analyzer-architecture.md](../../../decisions/0011-zsh-lint-semantic-analyzer-architecture.md) | referenced | Historical decision record or generated decision index; inspect recorded status and supersession before applying it. Preserve numbering and accepted history. | | [decisions/0023-zsh-lint-parser-front-end-strategy.md](../../../decisions/0023-zsh-lint-parser-front-end-strategy.md) | referenced | Historical decision record or generated decision index; inspect recorded status and supersession before applying it. Preserve numbering and accepted history. | | [decisions/0030-zsh-lint-parser-fork-trigger-fired.md](../../../decisions/0030-zsh-lint-parser-fork-trigger-fired.md) | referenced | Historical decision record or generated decision index; inspect recorded status and supersession before applying it. Preserve numbering and accepted history. | +| [decisions/0041-zsh-lint-parser-root-module-packaging.md](../../../decisions/0041-zsh-lint-parser-root-module-packaging.md) | referenced | Proposed refinement of ADR-0030's parser-fork module packaging; inspect maintainer acceptance before applying it. Fork strategy, licensing and behavior gates remain unchanged. | | [tools/readme-terminal-demo/.gitattributes](../../../tools/readme-terminal-demo/.gitattributes) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | | [tools/readme-terminal-demo/Dockerfile](../../../tools/readme-terminal-demo/Dockerfile) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | | [tools/readme-terminal-demo/cmd/readme-terminal-demo/main.go](../../../tools/readme-terminal-demo/cmd/readme-terminal-demo/main.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | diff --git a/knowledge/domains/tooling/zsh-lint-parser-front-end.md b/knowledge/domains/tooling/zsh-lint-parser-front-end.md index 610500c13..1641a083a 100644 --- a/knowledge/domains/tooling/zsh-lint-parser-front-end.md +++ b/knowledge/domains/tooling/zsh-lint-parser-front-end.md @@ -7,7 +7,7 @@ applyTo: "internal/parse/**,internal/survey/**,cmd/zsh-lint-survey/**" This organization source supplies complete native project guidance through the approved records in `knowledge/project-delivery.json`. Edit the organization source, then publish and approve its revision before regenerating a project consumer; the generated consumer is not independently editable. Project instructions retain their existing authoring ownership until approved source publication, complete delivery and compatibility checks pass. Reconciled against project revision `7ff05091a5489becf32069db1738d38ec23c8fd5`; repository-relative code, command and fixture paths below refer to that project. -`internal/parse` wraps `mvdan.cc/sh/v3/syntax` in its Zsh dialect and closes proven valid-Zsh gaps with local compatibility adapters. +`internal/parse` wraps the in-repository mvdan/sh fork's `syntax` package in its Zsh dialect and closes proven valid-Zsh gaps with local compatibility adapters. Resolve the import prefix from the target project revision's `go.mod` and `third_party/mvdan-sh/FORK.md`, rather than assuming the upstream module namespace. The contract is in [`docs/project/parser-gap-workflow.md`](https://github.com/z-shell/zsh-lint/blob/7ff05091a5489becf32069db1738d38ec23c8fd5/docs/project/parser-gap-workflow.md); this file only routes you there and names the invariants that reviews check. ## Before changing anything diff --git a/knowledge/repository-files.json b/knowledge/repository-files.json index 0ef243e1e..7fab6576a 100644 --- a/knowledge/repository-files.json +++ b/knowledge/repository-files.json @@ -1135,6 +1135,13 @@ "knowledge": "knowledge/domains/governance/repository-resources.md", "reason": "Accepted project profile and issue-intake decision; read with ADR-0031 for the routing block it extends." }, + { + "path": "decisions/0041-zsh-lint-parser-root-module-packaging.md", + "domain": "tooling", + "disposition": "referenced", + "knowledge": "knowledge/domains/tooling/repository-resources.md", + "reason": "Proposed refinement of ADR-0030's parser-fork module packaging; inspect maintainer acceptance before applying it. Fork strategy, licensing and behavior gates remain unchanged." + }, { "path": "decisions/README.md", "domain": "governance", From e53bb25da789a136db86f7fa828fc06dd9069ba7 Mon Sep 17 00:00:00 2001 From: Sal <59910950+ss-o@users.noreply.github.com> Date: Thu, 15 Oct 2026 07:24:42 +0100 Subject: [PATCH 2/2] docs(adr): accept root-module parser-fork packaging Record maintainer acceptance of ADR-0041, preserving ADR-0030 history and the separate implementation, release and consumer-delivery boundaries. Regenerate the decision index and resource inventory. Keep advisory discovery consistent with accepted ADR-0039 and ADR-0040. Refs #795 --- ...1-zsh-lint-parser-root-module-packaging.md | 10 +- decisions/README.md | 2 +- .../domains/tooling/repository-resources.md | 200 +++++++++--------- knowledge/repository-files.json | 2 +- 4 files changed, 107 insertions(+), 107 deletions(-) diff --git a/decisions/0041-zsh-lint-parser-root-module-packaging.md b/decisions/0041-zsh-lint-parser-root-module-packaging.md index d9cd8b776..264e27b2e 100644 --- a/decisions/0041-zsh-lint-parser-root-module-packaging.md +++ b/decisions/0041-zsh-lint-parser-root-module-packaging.md @@ -1,8 +1,8 @@ # 41. Package the zsh-lint parser fork inside the root Go module -- **Status:** PROPOSED +- **Status:** ACCEPTED - **Date:** 2026-10-15 -- **Deciders:** TBD +- **Deciders:** ss-o - **Supersedes:** None - **Superseded by:** None @@ -10,13 +10,13 @@ [ADR-0030](0030-zsh-lint-parser-fork-trigger-fired.md) selected an in-repository mvdan/sh fork so zsh-lint can fix proven Zsh parser gaps locally. Decision 2 places it under `third_party/mvdan-sh` with a local `replace` directive in `go.mod`. The directory and fork strategy remain useful, but that module arrangement prevents the documented versioned CLI installation: Go rejects the target module's replacement, and a nested module is omitted from the root module's downloadable zip. -[zsh-lint issue 653](https://github.com/z-shell/zsh-lint/issues/653) owns the install defect. Both `v1.4.0` and baseline commit `e9d1ea142518e4332999dc1da4ce17928bc04f3d` reproduce it with fresh caches. [Source PR 699](https://github.com/z-shell/zsh-lint/pull/699) retains the directory while making its packages part of the root module. Fresh-cache public installation from commit `f1c43fac9c8eadfc914a4af89a1beea11afca891` succeeds, and its parser and analyzer corpus results are unchanged. That unmerged implementation is evidence for this proposal, not acceptance of it. +[zsh-lint issue 653](https://github.com/z-shell/zsh-lint/issues/653) owns the install defect. Both `v1.4.0` and baseline commit `e9d1ea142518e4332999dc1da4ce17928bc04f3d` reproduce it with fresh caches. [Source PR 699](https://github.com/z-shell/zsh-lint/pull/699) retains the directory while making its packages part of the root module. Fresh-cache public installation from commit `f1c43fac9c8eadfc914a4af89a1beea11afca891` succeeds, and its parser and analyzer corpus results are unchanged. That unmerged implementation is evidence for this decision, not approval to merge or release it. A separately published fork module could also make installation work, but would add an independent module version, release lifecycle and source-publication dependency solely for code retained with the CLI. ## Decision -If accepted, refine only the module-packaging clause of ADR-0030 decision 2: +Refine only the module-packaging clause of ADR-0030 decision 2: 1. Retain the parser fork under `third_party/mvdan-sh`, compiled as packages of the root `github.com/z-shell/zsh-lint` module. Imports between project and fork packages, and within the fork, use `github.com/z-shell/zsh-lint/third_party/mvdan-sh/...`. Do not ship a nested fork `go.mod` or `go.sum`, or require a local module replacement for the CLI's versioned installation. The root module must satisfy Go's versioned-install constraints without caller-local overrides. 2. Keep the upstream BSD-3-Clause license, copyright notices and provenance intact under [ADR-0017's L3 rule](0017-licensing-standard-by-provenance.md). Import normalization is a recorded local packaging change, not a relicense or grammar change. @@ -24,7 +24,7 @@ If accepted, refine only the module-packaging clause of ADR-0030 decision 2: 4. Retain upstream tests and Zsh-only changes behind `LangZsh`. Root and fork-directory commands must resolve the same module. Preserve [ADR-0023](0023-zsh-lint-parser-front-end-strategy.md) and ADR-0030's tree-shape, native-oracle, corpus and adapter-removal gates. A module move is not evidence of a parser or lint-rule improvement. 5. Verify the downloadable module includes the parser and license, keep regressions for the module boundary and CLI dependency namespace, and prove fresh-cache versioned installation from the exact published implementation commit. Existing immutable tags remain unchanged. A fix reaches `@latest` only through the class-2 release boundary in [ADR-0007](0007-release-publication-flow.md). -ADR-0030 decisions 1 and 3 to 5 remain unchanged, as do decision 2's fork location and provenance requirements. Keep ADR-0030 as accepted history rather than silently rewriting its original packaging choice. This document remains PROPOSED until a maintainer records acceptance through the ADR procedure; its publication alone does not activate the refinement, merge an implementation, publish a release or advance consumer pins. +ADR-0030 decisions 1 and 3 to 5 remain unchanged, as do decision 2's fork location and provenance requirements. Keep ADR-0030 as accepted history rather than silently rewriting its original packaging choice. Acceptance takes effect on main through the maintainer-approved ADR procedure; it does not merge an implementation, publish a release or advance consumer pins. ## Consequences diff --git a/decisions/README.md b/decisions/README.md index 63aadb0bd..21efe18cb 100644 --- a/decisions/README.md +++ b/decisions/README.md @@ -51,4 +51,4 @@ a maintainer moves a record from `PROPOSED` to `ACCEPTED`. | [0038](0038-tool-attribution-preference-and-agent-output-controls.md) | Prefer minimal tool attribution and control agent output | PROPOSED | 2026-10-08 | TBD | | [0039](0039-zi-main-integration-and-signed-milestones.md) | Zi Main Integration and Signed Milestones | ACCEPTED | 2026-10-08 | ss-o | | [0040](0040-central-project-profiles-for-issue-intake.md) | Central Project Profiles for Issue Intake | ACCEPTED | 2026-10-09 | ss-o | -| [0041](0041-zsh-lint-parser-root-module-packaging.md) | Package the zsh-lint parser fork inside the root Go module | PROPOSED | 2026-10-15 | TBD | +| [0041](0041-zsh-lint-parser-root-module-packaging.md) | Package the zsh-lint parser fork inside the root Go module | ACCEPTED | 2026-10-15 | ss-o | diff --git a/knowledge/domains/tooling/repository-resources.md b/knowledge/domains/tooling/repository-resources.md index 78fb5f3c5..a19c11810 100644 --- a/knowledge/domains/tooling/repository-resources.md +++ b/knowledge/domains/tooling/repository-resources.md @@ -4,103 +4,103 @@ Select a file for the task described below. Imported files have an editable knowledge owner and a complete native delivery. Referenced files retain their current owner because they are executable contracts, historical records, native capability packages, configuration or supporting assets. This inventory establishes coverage, not semantic accuracy or runtime discovery. -| File | Disposition | Purpose and reading context | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [.gitignore](../../../.gitignore) | referenced | Repository file-discovery boundary; tracked files remain inventoried and ignored local/generated state is outside this public inventory. | -| [decisions/0011-zsh-lint-semantic-analyzer-architecture.md](../../../decisions/0011-zsh-lint-semantic-analyzer-architecture.md) | referenced | Historical decision record or generated decision index; inspect recorded status and supersession before applying it. Preserve numbering and accepted history. | -| [decisions/0023-zsh-lint-parser-front-end-strategy.md](../../../decisions/0023-zsh-lint-parser-front-end-strategy.md) | referenced | Historical decision record or generated decision index; inspect recorded status and supersession before applying it. Preserve numbering and accepted history. | -| [decisions/0030-zsh-lint-parser-fork-trigger-fired.md](../../../decisions/0030-zsh-lint-parser-fork-trigger-fired.md) | referenced | Historical decision record or generated decision index; inspect recorded status and supersession before applying it. Preserve numbering and accepted history. | -| [decisions/0041-zsh-lint-parser-root-module-packaging.md](../../../decisions/0041-zsh-lint-parser-root-module-packaging.md) | referenced | Proposed refinement of ADR-0030's parser-fork module packaging; inspect maintainer acceptance before applying it. Fork strategy, licensing and behavior gates remain unchanged. | -| [tools/readme-terminal-demo/.gitattributes](../../../tools/readme-terminal-demo/.gitattributes) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/Dockerfile](../../../tools/readme-terminal-demo/Dockerfile) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/cmd/readme-terminal-demo/main.go](../../../tools/readme-terminal-demo/cmd/readme-terminal-demo/main.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/cmd/readme-terminal-demo/main_test.go](../../../tools/readme-terminal-demo/cmd/readme-terminal-demo/main_test.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/dependencies.env](../../../tools/readme-terminal-demo/dependencies.env) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/go.mod](../../../tools/readme-terminal-demo/go.mod) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/go.sum](../../../tools/readme-terminal-demo/go.sum) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/internal/failure/failure.go](../../../tools/readme-terminal-demo/internal/failure/failure.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/internal/failure/failure_test.go](../../../tools/readme-terminal-demo/internal/failure/failure_test.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/internal/limits/limits.go](../../../tools/readme-terminal-demo/internal/limits/limits.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/internal/manifest/decode.go](../../../tools/readme-terminal-demo/internal/manifest/decode.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/internal/manifest/manifest_test.go](../../../tools/readme-terminal-demo/internal/manifest/manifest_test.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/internal/manifest/model.go](../../../tools/readme-terminal-demo/internal/manifest/model.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/internal/manifest/validate.go](../../../tools/readme-terminal-demo/internal/manifest/validate.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/internal/repopath/open_linux.go](../../../tools/readme-terminal-demo/internal/repopath/open_linux.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/internal/repopath/repopath_test.go](../../../tools/readme-terminal-demo/internal/repopath/repopath_test.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/internal/repopath/validate.go](../../../tools/readme-terminal-demo/internal/repopath/validate.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/internal/sandbox/exec_linux.go](../../../tools/readme-terminal-demo/internal/sandbox/exec_linux.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/internal/sandbox/fds_linux.go](../../../tools/readme-terminal-demo/internal/sandbox/fds_linux.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/internal/sandbox/landlock_linux.go](../../../tools/readme-terminal-demo/internal/sandbox/landlock_linux.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/internal/sandbox/landlock_syscall_linux.go](../../../tools/readme-terminal-demo/internal/sandbox/landlock_syscall_linux.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/internal/sandbox/launcher_internal_test.go](../../../tools/readme-terminal-demo/internal/sandbox/launcher_internal_test.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/internal/sandbox/launcher_structure_test.go](../../../tools/readme-terminal-demo/internal/sandbox/launcher_structure_test.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/internal/sandbox/process_linux.go](../../../tools/readme-terminal-demo/internal/sandbox/process_linux.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/internal/sandbox/sandbox_test.go](../../../tools/readme-terminal-demo/internal/sandbox/sandbox_test.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/internal/tape/compose.go](../../../tools/readme-terminal-demo/internal/tape/compose.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/internal/tape/parse.go](../../../tools/readme-terminal-demo/internal/tape/parse.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/internal/tape/tape_test.go](../../../tools/readme-terminal-demo/internal/tape/tape_test.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/manifest.schema.json](../../../tools/readme-terminal-demo/manifest.schema.json) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/scripts/bootstrap-gh.sh](../../../tools/readme-terminal-demo/scripts/bootstrap-gh.sh) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/scripts/bootstrap-gh_test.sh](../../../tools/readme-terminal-demo/scripts/bootstrap-gh_test.sh) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/scripts/in-go-image.sh](../../../tools/readme-terminal-demo/scripts/in-go-image.sh) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/scripts/in-go-image_test.sh](../../../tools/readme-terminal-demo/scripts/in-go-image_test.sh) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/scripts/verify-gh-assets.sh](../../../tools/readme-terminal-demo/scripts/verify-gh-assets.sh) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/scripts/verify-gh-assets_test.sh](../../../tools/readme-terminal-demo/scripts/verify-gh-assets_test.sh) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/scripts/verify-release-assets.sh](../../../tools/readme-terminal-demo/scripts/verify-release-assets.sh) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/scripts/verify-release-assets_test.sh](../../../tools/readme-terminal-demo/scripts/verify-release-assets_test.sh) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/alt-bidi-format-only.yml](../../../tools/readme-terminal-demo/testdata/invalid/alt-bidi-format-only.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/alt-bool.yml](../../../tools/readme-terminal-demo/testdata/invalid/alt-bool.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/alt-control-character.yml](../../../tools/readme-terminal-demo/testdata/invalid/alt-control-character.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/alt-empty.yml](../../../tools/readme-terminal-demo/testdata/invalid/alt-empty.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/alt-format-only.yml](../../../tools/readme-terminal-demo/testdata/invalid/alt-format-only.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/alt-multiline.yml](../../../tools/readme-terminal-demo/testdata/invalid/alt-multiline.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/alt-null.yml](../../../tools/readme-terminal-demo/testdata/invalid/alt-null.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/alt-number.yml](../../../tools/readme-terminal-demo/testdata/invalid/alt-number.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/fixtures-bool.yml](../../../tools/readme-terminal-demo/testdata/invalid/fixtures-bool.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/fixtures-null.yml](../../../tools/readme-terminal-demo/testdata/invalid/fixtures-null.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/fixtures-number.yml](../../../tools/readme-terminal-demo/testdata/invalid/fixtures-number.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/fixtures-wrong-root.yml](../../../tools/readme-terminal-demo/testdata/invalid/fixtures-wrong-root.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/gif-nested-empty-stem.yml](../../../tools/readme-terminal-demo/testdata/invalid/gif-nested-empty-stem.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/gif-wrong-root.yml](../../../tools/readme-terminal-demo/testdata/invalid/gif-wrong-root.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/missing-fixtures.yml](../../../tools/readme-terminal-demo/testdata/invalid/missing-fixtures.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/missing-output-gif.yml](../../../tools/readme-terminal-demo/testdata/invalid/missing-output-gif.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/missing-output-png.yml](../../../tools/readme-terminal-demo/testdata/invalid/missing-output-png.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/missing-outputs.yml](../../../tools/readme-terminal-demo/testdata/invalid/missing-outputs.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/missing-readme-alt.yml](../../../tools/readme-terminal-demo/testdata/invalid/missing-readme-alt.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/missing-readme-path.yml](../../../tools/readme-terminal-demo/testdata/invalid/missing-readme-path.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/missing-readme.yml](../../../tools/readme-terminal-demo/testdata/invalid/missing-readme.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/missing-scenario.yml](../../../tools/readme-terminal-demo/testdata/invalid/missing-scenario.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/missing-version.yml](../../../tools/readme-terminal-demo/testdata/invalid/missing-version.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/output-gif-bool.yml](../../../tools/readme-terminal-demo/testdata/invalid/output-gif-bool.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/output-gif-null.yml](../../../tools/readme-terminal-demo/testdata/invalid/output-gif-null.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/output-gif-number.yml](../../../tools/readme-terminal-demo/testdata/invalid/output-gif-number.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/output-png-bool.yml](../../../tools/readme-terminal-demo/testdata/invalid/output-png-bool.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/output-png-null.yml](../../../tools/readme-terminal-demo/testdata/invalid/output-png-null.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/output-png-number.yml](../../../tools/readme-terminal-demo/testdata/invalid/output-png-number.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/png-nested-empty-stem.yml](../../../tools/readme-terminal-demo/testdata/invalid/png-nested-empty-stem.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/png-wrong-extension.yml](../../../tools/readme-terminal-demo/testdata/invalid/png-wrong-extension.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/readme-nested-empty-stem.yml](../../../tools/readme-terminal-demo/testdata/invalid/readme-nested-empty-stem.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/readme-path-bool.yml](../../../tools/readme-terminal-demo/testdata/invalid/readme-path-bool.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/readme-path-null.yml](../../../tools/readme-terminal-demo/testdata/invalid/readme-path-null.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/readme-path-number.yml](../../../tools/readme-terminal-demo/testdata/invalid/readme-path-number.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/readme-wrong-extension.yml](../../../tools/readme-terminal-demo/testdata/invalid/readme-wrong-extension.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/readme-wrong-root.yml](../../../tools/readme-terminal-demo/testdata/invalid/readme-wrong-root.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/scenario-absolute.yml](../../../tools/readme-terminal-demo/testdata/invalid/scenario-absolute.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/scenario-bool.yml](../../../tools/readme-terminal-demo/testdata/invalid/scenario-bool.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/scenario-dot-dot.yml](../../../tools/readme-terminal-demo/testdata/invalid/scenario-dot-dot.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/scenario-nested-empty-stem.yml](../../../tools/readme-terminal-demo/testdata/invalid/scenario-nested-empty-stem.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/scenario-null.yml](../../../tools/readme-terminal-demo/testdata/invalid/scenario-null.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/scenario-number.yml](../../../tools/readme-terminal-demo/testdata/invalid/scenario-number.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/scenario-wrong-extension.yml](../../../tools/readme-terminal-demo/testdata/invalid/scenario-wrong-extension.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/tapes/output-directive.tape](../../../tools/readme-terminal-demo/testdata/invalid/tapes/output-directive.tape) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/tapes/set-directive.tape](../../../tools/readme-terminal-demo/testdata/invalid/tapes/set-directive.tape) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/tapes/source-indirection.tape](../../../tools/readme-terminal-demo/testdata/invalid/tapes/source-indirection.tape) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/tapes/timing-override.tape](../../../tools/readme-terminal-demo/testdata/invalid/tapes/timing-override.tape) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/unknown-key.yml](../../../tools/readme-terminal-demo/testdata/invalid/unknown-key.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/version-2.yml](../../../tools/readme-terminal-demo/testdata/invalid/version-2.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/invalid/version-fractional.yml](../../../tools/readme-terminal-demo/testdata/invalid/version-fractional.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/smoke/readme.tape](../../../tools/readme-terminal-demo/testdata/smoke/readme.tape) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/valid/manifest-minimal.yml](../../../tools/readme-terminal-demo/testdata/valid/manifest-minimal.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/valid/manifest-visible-zwj.yml](../../../tools/readme-terminal-demo/testdata/valid/manifest-visible-zwj.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/valid/tapes/behavior.tape](../../../tools/readme-terminal-demo/testdata/valid/tapes/behavior.tape) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | -| [tools/readme-terminal-demo/testdata/valid/tapes/every-directive.tape](../../../tools/readme-terminal-demo/testdata/valid/tapes/every-directive.tape) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| File | Disposition | Purpose and reading context | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [.gitignore](../../../.gitignore) | referenced | Repository file-discovery boundary; tracked files remain inventoried and ignored local/generated state is outside this public inventory. | +| [decisions/0011-zsh-lint-semantic-analyzer-architecture.md](../../../decisions/0011-zsh-lint-semantic-analyzer-architecture.md) | referenced | Historical decision record or generated decision index; inspect recorded status and supersession before applying it. Preserve numbering and accepted history. | +| [decisions/0023-zsh-lint-parser-front-end-strategy.md](../../../decisions/0023-zsh-lint-parser-front-end-strategy.md) | referenced | Historical decision record or generated decision index; inspect recorded status and supersession before applying it. Preserve numbering and accepted history. | +| [decisions/0030-zsh-lint-parser-fork-trigger-fired.md](../../../decisions/0030-zsh-lint-parser-fork-trigger-fired.md) | referenced | Historical decision record or generated decision index; inspect recorded status and supersession before applying it. Preserve numbering and accepted history. | +| [decisions/0041-zsh-lint-parser-root-module-packaging.md](../../../decisions/0041-zsh-lint-parser-root-module-packaging.md) | referenced | Accepted refinement of ADR-0030's parser-fork module packaging. Fork strategy, licensing and behavior gates remain unchanged; implementation and consumer delivery are separate steps. | +| [tools/readme-terminal-demo/.gitattributes](../../../tools/readme-terminal-demo/.gitattributes) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/Dockerfile](../../../tools/readme-terminal-demo/Dockerfile) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/cmd/readme-terminal-demo/main.go](../../../tools/readme-terminal-demo/cmd/readme-terminal-demo/main.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/cmd/readme-terminal-demo/main_test.go](../../../tools/readme-terminal-demo/cmd/readme-terminal-demo/main_test.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/dependencies.env](../../../tools/readme-terminal-demo/dependencies.env) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/go.mod](../../../tools/readme-terminal-demo/go.mod) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/go.sum](../../../tools/readme-terminal-demo/go.sum) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/internal/failure/failure.go](../../../tools/readme-terminal-demo/internal/failure/failure.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/internal/failure/failure_test.go](../../../tools/readme-terminal-demo/internal/failure/failure_test.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/internal/limits/limits.go](../../../tools/readme-terminal-demo/internal/limits/limits.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/internal/manifest/decode.go](../../../tools/readme-terminal-demo/internal/manifest/decode.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/internal/manifest/manifest_test.go](../../../tools/readme-terminal-demo/internal/manifest/manifest_test.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/internal/manifest/model.go](../../../tools/readme-terminal-demo/internal/manifest/model.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/internal/manifest/validate.go](../../../tools/readme-terminal-demo/internal/manifest/validate.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/internal/repopath/open_linux.go](../../../tools/readme-terminal-demo/internal/repopath/open_linux.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/internal/repopath/repopath_test.go](../../../tools/readme-terminal-demo/internal/repopath/repopath_test.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/internal/repopath/validate.go](../../../tools/readme-terminal-demo/internal/repopath/validate.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/internal/sandbox/exec_linux.go](../../../tools/readme-terminal-demo/internal/sandbox/exec_linux.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/internal/sandbox/fds_linux.go](../../../tools/readme-terminal-demo/internal/sandbox/fds_linux.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/internal/sandbox/landlock_linux.go](../../../tools/readme-terminal-demo/internal/sandbox/landlock_linux.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/internal/sandbox/landlock_syscall_linux.go](../../../tools/readme-terminal-demo/internal/sandbox/landlock_syscall_linux.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/internal/sandbox/launcher_internal_test.go](../../../tools/readme-terminal-demo/internal/sandbox/launcher_internal_test.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/internal/sandbox/launcher_structure_test.go](../../../tools/readme-terminal-demo/internal/sandbox/launcher_structure_test.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/internal/sandbox/process_linux.go](../../../tools/readme-terminal-demo/internal/sandbox/process_linux.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/internal/sandbox/sandbox_test.go](../../../tools/readme-terminal-demo/internal/sandbox/sandbox_test.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/internal/tape/compose.go](../../../tools/readme-terminal-demo/internal/tape/compose.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/internal/tape/parse.go](../../../tools/readme-terminal-demo/internal/tape/parse.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/internal/tape/tape_test.go](../../../tools/readme-terminal-demo/internal/tape/tape_test.go) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/manifest.schema.json](../../../tools/readme-terminal-demo/manifest.schema.json) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/scripts/bootstrap-gh.sh](../../../tools/readme-terminal-demo/scripts/bootstrap-gh.sh) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/scripts/bootstrap-gh_test.sh](../../../tools/readme-terminal-demo/scripts/bootstrap-gh_test.sh) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/scripts/in-go-image.sh](../../../tools/readme-terminal-demo/scripts/in-go-image.sh) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/scripts/in-go-image_test.sh](../../../tools/readme-terminal-demo/scripts/in-go-image_test.sh) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/scripts/verify-gh-assets.sh](../../../tools/readme-terminal-demo/scripts/verify-gh-assets.sh) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/scripts/verify-gh-assets_test.sh](../../../tools/readme-terminal-demo/scripts/verify-gh-assets_test.sh) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/scripts/verify-release-assets.sh](../../../tools/readme-terminal-demo/scripts/verify-release-assets.sh) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/scripts/verify-release-assets_test.sh](../../../tools/readme-terminal-demo/scripts/verify-release-assets_test.sh) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/alt-bidi-format-only.yml](../../../tools/readme-terminal-demo/testdata/invalid/alt-bidi-format-only.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/alt-bool.yml](../../../tools/readme-terminal-demo/testdata/invalid/alt-bool.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/alt-control-character.yml](../../../tools/readme-terminal-demo/testdata/invalid/alt-control-character.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/alt-empty.yml](../../../tools/readme-terminal-demo/testdata/invalid/alt-empty.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/alt-format-only.yml](../../../tools/readme-terminal-demo/testdata/invalid/alt-format-only.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/alt-multiline.yml](../../../tools/readme-terminal-demo/testdata/invalid/alt-multiline.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/alt-null.yml](../../../tools/readme-terminal-demo/testdata/invalid/alt-null.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/alt-number.yml](../../../tools/readme-terminal-demo/testdata/invalid/alt-number.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/fixtures-bool.yml](../../../tools/readme-terminal-demo/testdata/invalid/fixtures-bool.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/fixtures-null.yml](../../../tools/readme-terminal-demo/testdata/invalid/fixtures-null.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/fixtures-number.yml](../../../tools/readme-terminal-demo/testdata/invalid/fixtures-number.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/fixtures-wrong-root.yml](../../../tools/readme-terminal-demo/testdata/invalid/fixtures-wrong-root.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/gif-nested-empty-stem.yml](../../../tools/readme-terminal-demo/testdata/invalid/gif-nested-empty-stem.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/gif-wrong-root.yml](../../../tools/readme-terminal-demo/testdata/invalid/gif-wrong-root.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/missing-fixtures.yml](../../../tools/readme-terminal-demo/testdata/invalid/missing-fixtures.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/missing-output-gif.yml](../../../tools/readme-terminal-demo/testdata/invalid/missing-output-gif.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/missing-output-png.yml](../../../tools/readme-terminal-demo/testdata/invalid/missing-output-png.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/missing-outputs.yml](../../../tools/readme-terminal-demo/testdata/invalid/missing-outputs.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/missing-readme-alt.yml](../../../tools/readme-terminal-demo/testdata/invalid/missing-readme-alt.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/missing-readme-path.yml](../../../tools/readme-terminal-demo/testdata/invalid/missing-readme-path.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/missing-readme.yml](../../../tools/readme-terminal-demo/testdata/invalid/missing-readme.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/missing-scenario.yml](../../../tools/readme-terminal-demo/testdata/invalid/missing-scenario.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/missing-version.yml](../../../tools/readme-terminal-demo/testdata/invalid/missing-version.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/output-gif-bool.yml](../../../tools/readme-terminal-demo/testdata/invalid/output-gif-bool.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/output-gif-null.yml](../../../tools/readme-terminal-demo/testdata/invalid/output-gif-null.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/output-gif-number.yml](../../../tools/readme-terminal-demo/testdata/invalid/output-gif-number.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/output-png-bool.yml](../../../tools/readme-terminal-demo/testdata/invalid/output-png-bool.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/output-png-null.yml](../../../tools/readme-terminal-demo/testdata/invalid/output-png-null.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/output-png-number.yml](../../../tools/readme-terminal-demo/testdata/invalid/output-png-number.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/png-nested-empty-stem.yml](../../../tools/readme-terminal-demo/testdata/invalid/png-nested-empty-stem.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/png-wrong-extension.yml](../../../tools/readme-terminal-demo/testdata/invalid/png-wrong-extension.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/readme-nested-empty-stem.yml](../../../tools/readme-terminal-demo/testdata/invalid/readme-nested-empty-stem.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/readme-path-bool.yml](../../../tools/readme-terminal-demo/testdata/invalid/readme-path-bool.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/readme-path-null.yml](../../../tools/readme-terminal-demo/testdata/invalid/readme-path-null.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/readme-path-number.yml](../../../tools/readme-terminal-demo/testdata/invalid/readme-path-number.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/readme-wrong-extension.yml](../../../tools/readme-terminal-demo/testdata/invalid/readme-wrong-extension.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/readme-wrong-root.yml](../../../tools/readme-terminal-demo/testdata/invalid/readme-wrong-root.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/scenario-absolute.yml](../../../tools/readme-terminal-demo/testdata/invalid/scenario-absolute.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/scenario-bool.yml](../../../tools/readme-terminal-demo/testdata/invalid/scenario-bool.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/scenario-dot-dot.yml](../../../tools/readme-terminal-demo/testdata/invalid/scenario-dot-dot.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/scenario-nested-empty-stem.yml](../../../tools/readme-terminal-demo/testdata/invalid/scenario-nested-empty-stem.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/scenario-null.yml](../../../tools/readme-terminal-demo/testdata/invalid/scenario-null.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/scenario-number.yml](../../../tools/readme-terminal-demo/testdata/invalid/scenario-number.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/scenario-wrong-extension.yml](../../../tools/readme-terminal-demo/testdata/invalid/scenario-wrong-extension.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/tapes/output-directive.tape](../../../tools/readme-terminal-demo/testdata/invalid/tapes/output-directive.tape) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/tapes/set-directive.tape](../../../tools/readme-terminal-demo/testdata/invalid/tapes/set-directive.tape) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/tapes/source-indirection.tape](../../../tools/readme-terminal-demo/testdata/invalid/tapes/source-indirection.tape) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/tapes/timing-override.tape](../../../tools/readme-terminal-demo/testdata/invalid/tapes/timing-override.tape) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/unknown-key.yml](../../../tools/readme-terminal-demo/testdata/invalid/unknown-key.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/version-2.yml](../../../tools/readme-terminal-demo/testdata/invalid/version-2.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/invalid/version-fractional.yml](../../../tools/readme-terminal-demo/testdata/invalid/version-fractional.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/smoke/readme.tape](../../../tools/readme-terminal-demo/testdata/smoke/readme.tape) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/valid/manifest-minimal.yml](../../../tools/readme-terminal-demo/testdata/valid/manifest-minimal.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/valid/manifest-visible-zwj.yml](../../../tools/readme-terminal-demo/testdata/valid/manifest-visible-zwj.yml) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/valid/tapes/behavior.tape](../../../tools/readme-terminal-demo/testdata/valid/tapes/behavior.tape) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | +| [tools/readme-terminal-demo/testdata/valid/tapes/every-directive.tape](../../../tools/readme-terminal-demo/testdata/valid/tapes/every-directive.tape) | referenced | Terminal-demo implementation, build contract, regression test or fixture. Retained as source-coupled tool material; no abandonment or deletion is implied. | diff --git a/knowledge/repository-files.json b/knowledge/repository-files.json index 7fab6576a..bb45d0414 100644 --- a/knowledge/repository-files.json +++ b/knowledge/repository-files.json @@ -1140,7 +1140,7 @@ "domain": "tooling", "disposition": "referenced", "knowledge": "knowledge/domains/tooling/repository-resources.md", - "reason": "Proposed refinement of ADR-0030's parser-fork module packaging; inspect maintainer acceptance before applying it. Fork strategy, licensing and behavior gates remain unchanged." + "reason": "Accepted refinement of ADR-0030's parser-fork module packaging. Fork strategy, licensing and behavior gates remain unchanged; implementation and consumer delivery are separate steps." }, { "path": "decisions/README.md",