main
4 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
| 58a3f402a6 |
docs(adr): record the review outcomes for the Research registry grammar
- ADR-0004: add the "Amended by ADR-0028" note, following the ADR-0025 convention. - ADR-0028: correct Q5 (parse_status is gone), the skill count (38, not 39), and the question order. Q7 records the anchored, format-only sha check. Q8 records the decision to commit real Vale fixtures. A new consequence covers path confinement and list rejection. - CONTEXT.md: the `_Avoid_` entry means the bare noun, not the field. - gates.md: correct the authored-hook counts after the corpus gate. - create.md: a `none` entry backed by a reproduction must name committed fixtures in `Basis:`; use the `(digest: <full path>)` form. - gitea-releases: use the `(digest: <full path>)` form. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EGHFJextYtVQseaHPDDhxB |
|||
| 69119f4754 |
docs: reconcile the ADRs, gates and audit log with the shipped behaviour
Why A six-agent review of the two preceding commits found their code sound -- the differential claim holds, the published hook contract is byte-unchanged -- but their prose drifted from it in three ways: statements of fact the code contradicts, markers in a convention this repo does not use, and figures that went stale when the merge changed what they counted. Implementation Notes ADR-0025's edge-path table is rewritten around one stated doctrine: exit 0 is audited and clean, exit 1 is audited with findings or a target present but unreadable, exit 2 is that nothing was audited. Its old row 1 promised "one generic matches-neither message" for three different inputs; there are three distinct messages, and the missing-path case exited 1 until the preceding commit fixed it. Rows are added for the preflight and CDPATH changes, because a table claiming to enumerate every entry-point behaviour change reproduces its own "an earlier revision of this ADR said they were behaviour-neutral" failure if it omits any. ADR-0025 also gains a Consequences supersession record in ADR-0016's form: partially-superseded entries for 0008, 0014, 0020 and 0021, and explicit "is not superseded" entries with reasoning for the rest. Twelve ADRs are amended and it previously listed none. ADR-0008 moves from an amendment note to partially superseded. Its contract genuinely narrowed -- an agent .md outside an agents/ directory was audited before the merge and is refused now -- and ADR-0020 already recorded that the merge "reopens ADR-0008". Its detector description said "a path under .apm/agents/", the phrasing ADR-0025 rejects as wider than the script and circular; the shipped rule is a .md whose immediate parent is named agents/, at any scope. ADR-0020's amendment claimed the boundary resolver is sourced by validate-provenance.sh. It is not, and never was; only validate.sh sources it, once per mode branch. Three Home-column entries pointed at reference filenames the merge renamed, one of which now resolves to two files because its row covers skills and agents. Five ADRs opened with "Skill renamed per ADR-0025", a form this repo does not use, in the same commit that used the conventional "Amended by ADR-0025" twice. They are normalized. "Renamed" was also wrong: the BREAKING-CHANGE trailer says the skills were removed and their flows merged. SIMPLIFICATION-AUDIT.md had 2026-09-15 notes attached to headlines that were never updated, against its own convention of correcting in place with strikethrough. Every figure here was re-derived at HEAD by command, and several differed from the review's own numbers, so the notes record the basis rather than the result alone. LESSONS.md asserted the two review-time suite failures were the SIGPIPE race. The commit that fixed that race explicitly declined to claim it -- the suite was running while agents edited live config files -- so the hedge is restored. Impact No code, test or configuration change; documentation only. Suites stay 20/20 strict with 0 skipped and 374/374 bats. No gate parses ADR or gates.md content, so nothing here is load-bearing for a hook. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YR2CjVumUbEGWcMikcoXBD |
|||
| 620f20b0fd |
refactor(kyberforge)!: merge skill-audit and agent-audit into factory-audit
Why The two audit skills carried 1,724 lines of byte-identical duplication: the ADR-0020 boundary resolver (1,061), vale-wrap.sh (526), the Vale style rules (44) and the Contributing-files parser (93). Nothing shared them — they were held in sync by a 413-line pre-push gate and its 797-line test suite. Sync-by-gate had already failed once: at |
|||
| 05bb9d6e9f |
docs(adr): triage, rewrite, and renumber ADRs for clean slate
Complete ADR refactoring for issue #15: ## Changes 1. **Triage archival** — deleted chunk-era ADRs (0001–0003, 0006–0011, 0013); kept active decisions (0004, 0005, 0012, 0014+) 2. **ADR-0004 rewrite** — now reflects plugin-based skill distribution (`plugins/<name>/skills/` + `claude plugin install`) instead of monolithic `.agents/skills/` deployment 3. **Renumber to 0001–0009** — sequential clean slate after archival; all cross-references updated 4. **Content audit** — verified all 9 remaining ADRs for alignment with plugin model, removed stale chunk/deployment language Kept ADRs: 0001–0009 - 0001: Skills distributed via plugins - 0002: Two-tier CLAUDE.md (always-on + on-demand) - 0003: AGENTS.md as provider-agnostic entry point - 0004: INFO finding level in skill-audit - 0005: agent-author dual provider scaffold - 0006: Plugin version parity (version in both manifests) - 0007: Gitea as exclusive issue tracker - 0008: agent-audit single-file invocation - 0009: agent-audit field inventory reference All decisions are active and aligned with current repository state (marketplace/plugin model). Closes #15 (ADR section of acceptance criteria) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com> |