You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
VERSION 0.9.5 -> 0.9.6; .add/config.json; README badge; migrations.json
plugin_version + a 0.9.5->0.9.6 hop (recording the hop so the migration chain
stays intact — skipping it has silently broken the chain before). CHANGELOG
[0.9.6] section authored from the Wave 0-2 work. Recompiled: plugin.json and
all [ADD vX.Y.Z] / skill-heading substitutions now read v0.9.6.
compile --check clean; validators pass; all 15 suites green.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+23Lines changed: 23 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,29 @@ All notable changes to ADD are documented here. Format loosely follows [Keep a C
4
4
5
5
For commit-level detail see `git log`.
6
6
7
+
## [0.9.6] — 2026-06-14
8
+
9
+
CI/release hardening + truth-pass, opening the v1.0 credibility cycle. Turns a red `main` green, makes the release tool trustworthy, and fixes a real injection-defense bug surfaced during the pass.
10
+
11
+
### Fixed
12
+
13
+
-**CI unblocked (C1).**`core/rules/` holds 20 rules but the tree diagram hardcoded 19, failing the `rule-parity` guardrail on `main`. The count is now **compile-derived** — `runtimes/claude/CLAUDE.md` carries a `{{RULE_COUNT}}` placeholder that `scripts/compile.py` fills from the live autoload-rule set, so it can't drift by hand again. `rule-parity` was strengthened to read the compiled artifact and to assert the count in every prose surface (CLAUDE.md, README.md, CONTRIBUTING.md).
14
+
-**`release.sh` could publish nothing and still exit 0 (C2, closes #18).** The signed tag pushed but `gh release create` could be skipped silently. The script now builds its flags as an array and **verifies the release page exists** via `gh release view` after creating it, failing loudly with a recovery command. Same failure class as F-001 — a command that "succeeds" without doing the thing.
15
+
-**Injection-defense false positives (D3).** The `unicode-tag-block` pattern was a malformed byte character-class whose range matched almost any multibyte UTF-8 — em-dashes, arrows, box-drawing characters all tripped a `critical` event (~100% false-positive rate; 0 real attacks in the audit trail). Replaced with a precise pattern matching exactly U+E0000–U+E007F; verified the real tag-channel attack fixture still fires. The JSONL audit writer now emits compact single-line records (`jq -cn`) so concurrent hook runs can't corrupt the file.
16
+
17
+
### Changed
18
+
19
+
-**CI actions bumped to Node-24 runtimes (C3)** across all four workflows: `actions/checkout` v4→v5, `actions/setup-python` v5→v6, `actions/github-script` v7→v8.
20
+
-**`model-roles` rule (D1)** gained a capability-tier table mapping role shapes to the current lineup — Architect: Opus 4.8 / gpt-5.5; Editor: Sonnet 4.6 / gpt-5.x-codex; Fast: Haiku 4.5 / gpt-5.x-codex-mini — while keeping the guidance-not-enforcement framing.
21
+
-**CONTRIBUTING (C5)** now lists all four CI workflows (was "three checks") and documents the community-PR strategy (merge-as-is + co-authored refactor follow-up).
22
+
-**Audit-trail hygiene (D3).**`.add/security/` is now gitignored and untracked; the local-only injection audit trail is documented in SECURITY.md's threat model.
23
+
24
+
### Added
25
+
26
+
-**Codex `verify` sub-agent (B3).** ADD's 4th role was missing from the Codex adapter — added `runtimes/codex/agents/verify.toml` (workspace-write, high reasoning) and the two `compile.py` enumerations that omitted it. The Codex adapter now emits five sub-agents.
27
+
-**`tests/release-tooling/test-release-verify.sh`** — behavioral regression guard for #18 (mocks git/gh/python3, asserts the script exits non-zero when no release page exists), registered in the guardrail matrix.
28
+
-**`tests/security/fixtures/benign-multibyte.json`** — regression guard for the unicode-tag-block false-positive bug; asserts dense benign multibyte content does not fire (mutation-verified to go red against the old regex).
29
+
7
30
## [0.8.1] — 2026-04-23
8
31
9
32
Hotfix. Fixes three findings from the plugin-family release-hardening review before v0.9.0 ships. The M3 feature set (agents-md, cache-discipline, secrets-handling, telemetry-jsonl, prompt-injection-defense, test-deletion-guardrail, codex-native-skills) has already merged to main; this release makes that merge actually installable and makes the test-deletion guardrail actually enforce.
Copy file name to clipboardExpand all lines: core/templates/migrations.json
+7-1Lines changed: 7 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
{
2
2
"schema_version": "1.0.0",
3
-
"plugin_version": "0.9.5",
3
+
"plugin_version": "0.9.6",
4
4
"migrations": [
5
5
{
6
6
"from": "0.1.0",
@@ -248,6 +248,12 @@
248
248
"to": "0.9.5",
249
249
"steps": [],
250
250
"description": "v0.9.5 hygiene \u2014 doc-only truth pass before the v1.0 credibility cycle. Spec/plan frontmatter flipped from Draft/Implementing to Complete for already-shipped work; PRD reframed to reference docs/milestones/v1.0-ga.md and docs/v1.0-roadmap.md as canonical v1.0 sources; maturity-loader cascade matrix completed for the four v0.9.0 rules (cache-discipline, injection-defense, secrets-handling, telemetry); plugin-family-release-hardening F-006/F-007 retargeted to v1.1.0 (architectural, post-GA). New core/rules/model-roles.md adds Architect/Editor guidance. No consumer config changes."
251
+
},
252
+
{
253
+
"from": "0.9.5",
254
+
"to": "0.9.6",
255
+
"steps": [],
256
+
"description": "v0.9.6 \u2014 CI/release hardening + truth-pass. Rule count made compile-derived ({{RULE_COUNT}}); CI actions bumped to Node-24 (checkout v5/setup-python v6/github-script v8); release.sh now verifies the published release page (closes #18); CONTRIBUTING CI-count + community-PR strategy; model-roles capability-tier table (Opus 4.8/Sonnet 4.6/Haiku 4.5, gpt-5.5/gpt-5.x-codex); added Codex 'verify' sub-agent; injection-defense unicode-tag-block regex corrected (was ~100% false-positive), JSONL audit writer made atomic, .add/security/ gitignored. No consumer config changes."
Generate a portable [`AGENTS.md`](https://agents.md) at project root from the project's `.add/` state. `AGENTS.md` is the cross-tool open standard for project-level agent instructions — any agent (Claude Code, Cursor, Codex CLI, Windsurf, Amp, Devin, Copilot) will read it on session start. Publishing one lets mixed-toolchain teams respect the same invariants without installing ADD.
Update the project's branding configuration with new materials and audit existing generated artifacts for brand consistency. Optionally apply fixes to bring artifacts in line with the new brand.
0 commit comments