Skip to content

v3.0.0

Choose a tag to compare

@tuannv0069 tuannv0069 released this 06 Sep 09:56
· 1 commit to main since this release

Added

  • Codex as a second harness target. harness-adapter.md is the new source of truth for how the genome binds to more than one agent harness: §2 the slot map (root index, always-loaded tier, path-scoped rule, skill, subagent, on-demand tree) with a column per harness, §3 the three Codex deltas that change behaviour rather than paths, §4 the one-source law, §5 the generated surface, §6 the procedure for adding a third harness. Reached by a router row.
  • render_codex.py + test_render_codex.py — renders and gates the Codex binding surface from the live Claude Code tier: CLAUDE.mdAGENTS.md, .claude/skills/<n>/SKILL.md.agents/skills/<n>/SKILL.md, .claude/agents/<n>.md.codex/agents/<n>.toml. The stubs carry routing metadata and a pointer, never a copy of the instructions, so the body count stays at one. --check gates both directions (verification-gate-design.md §2) — nothing missing, nothing left behind after a source is deleted — and enforces Codex's project_doc_max_bytes (32 KiB) counted in bytes. 21 mutation cases.
  • agents-md-standards.md — path-scoped to **/AGENTS.md, holding only the Codex deltas: the file is generated so CLAUDE.md is what you edit, two budgets apply at once (< 200 lines AND < 32 KiB), an always-loaded rule reaches Codex only as a MUST Read trigger, and .codex/rules/ is Starlark shell-command policy rather than a rule tier. Every wording and density law stays in claude-md-standards.md.
  • This repo is now deployed instance #1 of both harnesses: it carries a generated AGENTS.md, .agents/skills/, and .codex/agents/, and the pre-commit hook runs render_codex.py --check.
  • /init-project gained a harness target — claude (default) · codex · both. Every target deploys the identical body; codex and both additionally run the render step. The generated surface never enters the bundle, so its drift gate is render_codex.py --check rather than a sha256 pair.

Removed

  • The skill-authoring toolkitskill-designer, skill-writer (both trees) and the skill-writer-auditor agent, from the bundle and from the live tier. This is the breaking change that makes the release MAJOR: an initialized project running update keeps whatever it already has (update never deletes), but a fresh init no longer deploys them. skill-md-standards.md and subagent-standards.md stay — the standards a skill or agent file is written to were never part of the toolkit.

Changed

  • capability-packaging.md — the <critical> core line, the opening paragraph, §4, §5 and its example no longer name the removed authoring chain. The guide's job is unchanged: it raises the candidate and the human decides; the approved candidate is now authored directly against skill-md-standards.md or subagent-standards.md.
  • document-writer/README.md — the self-test pointed at test-skill.sh inside the deleted skill-writer tree; it now points at the <self_check> list in skill-md-standards.md.
  • scan_rule_health.pyFROZEN now excludes the generated Codex surface (AGENTS.md, .agents/**, .codex/**). Those files are rendered from the live tier, so every line they share with their source is duplication by construction; scanning them produced 17 dup findings that could never be closed, which is the failure rule-health.md §2 names. Two cases added to test_scan_rule_health.py.
  • CLAUDE.md — three NEVER lines (stale Codex surface, hand-editing a generated file, writing genome content into .codex/rules/), a scope-table row for the generated surface, and a language-table row.