Skip to content

Releases: tuannv0069/claude-doc-genome

v4.0.0

Choose a tag to compare

@tuannv0069 tuannv0069 released this 06 Sep 10:44

Changed

  • The Codex target is now a complete platform set of its own, not a pointer layer over the Claude Code one. No file of either set names a path of the other; only .agent-workspace/** is shared, because it belongs to neither. This reverses the v3.0.0 design, where a Codex deployment reached into .claude/ for its rules and skills — that made every Codex-only deployment incomplete and turned an auto-load guarantee into a file the agent had to choose to open.
  • AGENTS.md now carries the always-loaded rule tier inline, in full, and .codex/config.toml ships a project_doc_max_bytes sized to it. The v3.0.0 rule forbidding this rested on treating the platform's 32 KiB default as fixed; the shipped manual's list of keys a project config may not override does not contain it, so a repository can raise the cap.
  • .codex/rules/*.md is the Codex prose rule tier. The same directory holds *.rules, which the platform loads into its Starlark command-approval engine for a trusted project — the engine selects by extension, so markdown beside it is inert. Prose in a .rules file would be fed to that engine, and the breakage would land in the user's other work.
  • .agents/skills/<n>/SKILL.md and .codex/agents/<n>.toml now carry the full body of the skill or agent, not a routing pointer.
  • harness-adapter.md restates the corrected law throughout: §1 three parts rather than two, §2 the slot map with the size-control row, §3.1 reversed, §4 independence, §5 the generated set and its marker, §6 prefer the running product over its documentation when they disagree about a path.

Added

  • .codex/rules/agents-md-standards.md and .codex/rules/codex-agents-standards.md — the Codex set's own standards, authored rather than mirrored. claude-md-standards.md governs a file the Codex set does not have, and subagent-standards.md describes a markdown agent file spawned by the other platform's tool; a path rewrite cannot make a wrong mechanism right. Both ship in a new bundle group portable/codex-rules/.
  • render_codex.py gained a third gate with no direction: no generated file may name a path of the other platform, nor a rule the set deliberately does not carry. A cross-reference reads perfectly in review and resolves to nothing on a machine that deployed one platform. 35 mutation cases.
  • A file in .codex/rules/ without the generated marker is treated as authored for that platform and left alone — the mixed directory is how a platform-only rule gets a trigger line without being owned by the renderer.

Removed

  • portable/rules/agents-md-standards.md — moved to portable/codex-rules/, which is the breaking change that makes this release MAJOR.
  • The pointer-stub model for Codex skills and agents, and every .claude/-facing reference in the generated set.

Fixed

  • v3.0.0 shipped .agents/skills/ on the strength of a documentation page while the running product also uses $CODEX_HOME/skills. The shipped manual settles the repository scope at .agents/skills and that is what the renderer targets; the lesson is recorded in .agent-workspace/lessons/establish-external-platform-fact.md.

v3.0.0

Choose a tag to compare

@tuannv0069 tuannv0069 released this 06 Sep 09:56

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.

v2.8.0

Choose a tag to compare

@tuannv0069 tuannv0069 released this 02 Sep 15:37

Added

  • rule-health.md + scan_rule_health.py — the debt recorded at 2.7.0 is paid rather than carried. The scan reports (never edits) six signals over the genome's own corpus: dup (verbatim duplicate / divergent copy), dead (sid_missing · path_missing · target_empty · paths_no_match · naming_prefix), drift (a cited section changed after the citing file did), growth (a file that has never deleted a line, against §12), and budget — the only hard gate, exit 1. The guide governs judgement: §2 separates a finding from a context line, §6 requires every finding to close fixed or exempt with an allowed_by §ID, §7 states what the tool cannot see. Reached by a new CLAUDE.md trigger and a router row.
  • test_scan_rule_health.py — 20 mutation cases pinning the scope contract, which is the part that fails silently: an empty scope, a missing rule-writing-standards.md, nobody declaring paths:, frozen archives leaking in, the naming_prefix and paths_no_match signals in both directions, glob expansion, budget in three states, and ledger integrity. Writing it found a real defect: on Windows a temp/8.3 short name and its long form denote one directory and spell it differently, so _fp_path produced machine-specific absolute ledger keys — fixed.
  • doc-organization.md §12 — a narrowed or retired law leaves no text behind: delete the old text in the same commit, a portable §ID slot that must survive keeps its number with a bare (retired) marker, and change history belongs to git and the record files. This is the law the growth signal measures.

Changed

  • scan_rule_health.py semantics: a single declared paths: glob matching no file is now a paths_no_match FINDING instead of aborting the scan as a declaration error. An entirely empty scope stays a hard error. The distinction is what makes a portable rule shipped ahead of an optional tier — wiki-tier.md here — legal without blinding the scan.
  • FROZEN now names this lineage's paths (.agent-workspace/tasks/, .agent-workspace/worktrees/) and no longer mentions a bolt-on skill set.

v2.7.0

Choose a tag to compare

@tuannv0069 tuannv0069 released this 02 Sep 15:19

Added

  • capability-packaging.md — new portable guide: when the agent itself raises the question of packaging a procedure into a skill or a subagent. §2 Detector A reads the guide the task already opened (fixed trigger + ordered steps + defined output + no owner in .claude/skills/ or .claude/agents/); §3 Detector B is an on-request sweep with a threshold of 3, grouped by kind of work; §4 chooses skill vs subagent vs staying a guide §ID; §5 the five-line proposal the human approves; §6 records a declined candidate so it is never re-raised. Reached by a new CLAUDE.md trigger and a router row.
  • doc-organization.md §10 now names three trigger kinds with three tests: message-triggered (decided by scanning the user message), work-state (decided by a count the agent keeps of its own work — this lineage's own clause, kept), and action-triggered (decided before the tool call the agent is about to make, from that action and its concrete object). Abstract task classification and intent interpretation still fail all three. Gate test_trigger_kinds.py pins the law: it asserts the required phrases inside the §10 slice only, and carries a mutation fixture with a decoy §11 line to prove the scoping.
  • .agent-workspace/decisions/ gained four real entries — the wiki deployment choice, the unattended trigger-confirm delegation, the deferred rule-health debt with its unlock condition, and the dropped maintenance template.
  • Decision journal — .agent-workspace/decisions/ with its own router, seeded empty. New portable guide decision-journal.md: §1 the admission test (git log reconstructs the conclusion → do not write the entry), §2 the five classes (choice · scope · debt · rule · review), §3 entry shape, §5 when to write, §6 grep before reversing a law, §8 the supersede lifecycle, §9 cap and archive. Gate verify_decision_log.py (22 mutation cases) plus archive_decisions.py, which moves only entries a later entry superseded and asks before moving. Reached by a new CLAUDE.md trigger on editing a law file, answering a reviewer comment, or declaring scope / debt / a rejected option.
  • Wiki tier — wiki-tier.md ships in .claude/rules/ for every project. It is paths:-scoped to .agent-workspace/wiki/**, so it costs nothing while the tier is absent and never touches the always-loaded budget. The tier itself (wiki/index.md + its trigger + its interview slots) is a new optional module in the init module matrix, deployed only where the project investigates subject material it does not own. Gate verify_wiki.py checks links, never truth: dead paths, drifted anchors, tier-wide id uniqueness, evidence-item schema, the one-edge-table-first convention, and R9 merge conservation — with its own declarations of what it deliberately does not check (§8). A project without the tier gets clusters: 0 and a pass.
  • verification-gate-design.md — new portable guide: name the unit of BOTH sides before wiring a comparison gate (§1), and a gate proving "nothing extra" never proves "nothing missing" (§2). Reached by a new CLAUDE.md trigger on test_*.py / verify_*.py, and by a router row.
  • Role tier — .agent-workspace/guide/roles/ with seven portable roles (business-analyst, tech-lead, developer, qa, project-manager, security, comtor), each on the same seven-section skeleton and capped at 90 lines. Its hub roles/index.md carries §1 for the genome roles and §1a for the roles a project adds itself. New portable guide role-selection.md holds the mechanism: §2 matching, §3 the skeleton, §4 subagent role-handoff, §5 adding a role, §6 the router format the gate reads, §7 what happens when a role clause collides with a project rule.
  • .agent-workspace/tooling/ — the genome's own machine gates, Python 3 stdlib only, deployed by init and mapped into the bundle as portable/tooling/*. verify_lesson_router.py enforces the lesson router contract (5 rules) and verify_role_files.py the role contract (4 rules); each ships a test_*.py that breaks one rule per case — 18 and 15 mutation cases.
  • lesson-capture.md §8 — which phase a lesson belongs to: a store is chosen by the phase the record protects, not by the task that found the defect. Introduces the closed seven-value phase: declaration every store now carries, and the checks relation between stores.
  • Templates roles/index.md.tpl; lessons/index.md.tpl regrown to the four-column router.

Changed

  • lesson-capture.md §7 rewritten as the dispatch law: one unconditional lookup replaces per-work-type routing, and a dispatcher passes the matched store path plus its checks paths into a subagent prompt. §1–§6 keep their numbers (portable §ID is append-only).
  • CLAUDE.md and CLAUDE.md.tpl — the lesson lookup line is now unconditional (it previously required classifying the work as an "artifact task"), and a matching unconditional role lookup line joins it.
  • .agent-workspace/lessons/index.md — the §1 router gained the checks column and a six-step lookup protocol; the store verify-context-rule-change.md now declares phase: building-gate.
  • SKILL.md — dependencies, bundle map, copy step, render step and the step-7 verify checklist all cover the roles and tooling groups; step 7 now runs the deployed gates, because a gate present but red means the deploy is incomplete.

Removed

  • superpowers is no longer part of the genome. Dropped the two superpowers ALWAYS triggers from CLAUDE.md (design/plan flow, implement task-by-task) and the superpowers entry from .claude/init-manifest.json modules. Nothing generic is lost: task-planning.md §1 already states the precedence rule without naming a skill, review-checklist-method.md §7 is still reached by the existing review trigger, and the working-file redirect is still covered by the generic "skill writes its working files" trigger. The superpowers row also leaves the init module matrix (skills/init-project/SKILL.md), so no project the genome deploys to receives a superpowers trigger.

v2.4.0

Choose a tag to compare

@tuannv0069 tuannv0069 released this 22 Aug 14:54

Added

  • claude-md-standards.mdCLAUDE.md must be written in English regardless of conversation language. Added as a <critical> line, an ALWAYS bullet, a <self_check> item, and a <critical_recap> entry. The rule is scope: portable + paths: **/CLAUDE.md, so it binds every project the genome deploys to. Promoted live → bundle (skills/init-project/portable/rules/claude-md-standards.md).
  • ## language table gained a CLAUDE.md row in both CLAUDE.md and templates/CLAUDE.md.tpl — the table previously covered .claude/**, .agent-workspace/**, skills/** and the public-facing docs, but never the root CLAUDE.md itself, so a Vietnamese-conversation project had no rule pinning it to English.

Full Changelog: v2.3.0...v2.4.0

v2.3.0

Choose a tag to compare

@tuannv0069 tuannv0069 released this 14 Aug 02:22

Added

  • conversational-output.md — new NEVER rule bans #/## heading levels in conversational replies; headings must start at ### to save presentation space. Updated the matching ALWAYS rule, conditional table, and multi-topic example to reference ###+ instead of ##/###. Promoted live → bundle (skills/init-project/portable/rules/conversational-output.md).

v2.2.0

Choose a tag to compare

@tuannv0069 tuannv0069 released this 13 Aug 05:35

Added

  • conversational-output.md — new always-loaded rule governing structure/tone of conversational replies (conclusion-first, one idea per paragraph, structure matches content shape, fact vs recommendation vs assumption labeled, action-relevant replies end with a next step). Promoted to .claude/rules/ (live tier) and wired into CLAUDE.md's ## see also always-loaded list; the bundle copy under skills/init-project/portable/rules/ already existed and is unchanged. skills/init-project/SKILL.md dependency count updated 7 -> 8 portable rules. templates/CLAUDE.md.tpl's ## see also block also gained the same bullet — without it every future /init-project deploy would ship the rule file but never wire it into the rendered project's CLAUDE.md.

v2.1.0

Choose a tag to compare

@tuannv0069 tuannv0069 released this 11 Aug 08:15

Lesson read-back becomes unconditional: an always-loaded rule reads the store router at the start of every artifact task, so a store is reachable the moment its row exists.

The read-back law was previously stated only inside lesson-capture.md, which CLAUDE.md triggers on being corrected — so "read the store before starting the work" was visible only after the work had already gone wrong. Reachability also scaled with the number of stores: each needed a pointer line in a paired guide, and a work type with no guide had no entrance at all.

Added

  • guide/lesson-capture.md §7 — router lookup at task start is the read-back path; registering a store in the router is the whole wiring, no per-store trigger. §5 keeps its number and content, demoted to the secondary entrance (portable §IDs are append-only).
  • templates/CLAUDE.md.tpl — one new ## ALWAYS line: start any artifact task (write / edit / review / investigate) → read .agent-workspace/lessons/index.md §1, match the work about to be done, no match → skip. Cost is O(1) in the number of stores.
  • templates/lessons/index.md.tpl §1 — explicit "no row matches → skip, read nothing" branch, and the router's second column renamed to the action about to be performed. Without a skip branch an agent with no matching row reads the nearest file instead, and a wrong lesson costs more than no lesson.

Changed

  • templates/lessons/index.md.tpl §2 no longer requires a guide/index.md entry for a store with no paired guide — superseded by §7.
  • templates/guide/index.md.tpl — the lesson-capture router row points at §7.

Upgrade

Existing projects: /init-project update pulls lesson-capture.md. The CLAUDE.md trigger line and the lessons/index.md §1/§2 changes are rendered phenotype — update only WARNs on them, so apply those two by hand.

Known gap

Whether the new rule changes agent behaviour is not verified. A subagent spawned in the session that made the edit reads a context snapshot taken at session start, so it saw the pre-edit CLAUDE.md (18 ## ALWAYS bullets against 19 on disk) and could not have obeyed the new line. That measurement needs a session started after this release. Both records in the new verify-context-rule-change.md store are about that failure mode.

v2.0.0

Choose a tag to compare

@tuannv0069 tuannv0069 released this 10 Aug 10:57

Changed — BREAKING

  • Everything the agent owns moves out of docs/ into one root, .agent-workspace/. The on-demand guide tree deploys to .agent-workspace/guide/general/ (was docs/agent-guide/general/), its router to .agent-workspace/guide/index.md, the lesson store to .agent-workspace/lessons/, and per-task working state to .agent-workspace/tasks/<task-slug>/ (was .agent/tmp/<task-slug>/). docs/ now holds project work product only; doc-organization.md §11 states the separation in both directions — no guide under docs/, no work product under .agent-workspace/.
  • Isolated git checkouts move with the rest: worktree.md places them at .agent-workspace/worktrees/<ID>-<TAG>-<SESSION>/. Init gitignores tasks/ and worktrees/; guide/ and lessons/ are committed.
  • Bundle folders renamed to match the deployed layout: portable/agent-guide/portable/guide/, templates/agent-guide/templates/guide/. scripts/update.mjs group and template maps follow.
  • orchestration-policy.md §4 persists plan/state under .agent-workspace/tasks/. New §5 spells out the task-workspace lifecycle — one folder per task slug, gitignored, deleted when the task closes, anything worth keeping promoted out first (technique → lessons/, project fact → docs/, law → a guide §ID). The former name .agent/tmp/ carried its own disposability signal; tasks/ does not, so the lifetime is now a written rule rather than a hint in the path.
  • doc-organization.md §9 portable-pure law re-argued: .agent-workspace/ paths are admissible inside scope: portable files because init creates that root in every project it deploys to — an invariant of the genome itself, resting on no external system.
  • templates/CLAUDE.md.tpl no longer ships rules that depend on tooling the genome does not own. The skill-output rule is now stated generically: a skill's working files go to the task workspace, the finished deliverable to docs/.
  • lesson-capture.md §1 keeps its three-store boundary; the "fact about the project" destination is now the project's own work-product layer (doc-organization.md §11).

Added

  • guide/review-checklist-method.md gains §7 pick the instrument first (append-only §ID; <critical> and the recap point at it). A dedicated review skill beats this method wherever one fits, so §7 routes first — code diff/PR to the harness review command at a depth matching the stakes, security exposure to the security review, "does it actually run" to runtime verification, cleanup to the simplify command — and §1–§6 handles the layer no instrument reaches, admitted on four conditions: the artifact is not code, the scope is not a diff, the hunt is for the absence defect, or the user supplied a checklist (P3's hunt/confirmation/precision discipline is exactly what a handed-over checklist does not carry — 1.9.0 had already fixed this path once, and keying §7 on artifact shape alone would have reopened it). A named instrument absent from the running harness falls through to §1–§6, since the command set varies by harness version. The rows compose rather than exclude — a diff-scoped instrument structurally cannot see what was never written, so a code change reviewed for what is missing takes the instrument over the changed lines AND P1 over the requirement set, never one instead of the other. A skill that owns a workflow sets WHEN its review checkpoints fire; it does not set how deep, which stays with the instrument.
  • guide/orchestration-policy.md gains §6 research output persistence (append-only §ID; §1 and the recap updated to reach it). Research changes no file, so §1 sent it past the whole policy and its product lived only in the reply — the one place compaction erases mid-task and a later session cannot reach at all. §6 fires past the 3rd file read or on dispatching an agent, and requires the write to happen while working: deferring it to the end fails against exactly the compaction it exists to survive. The file carries the artifact, the reply carries the conclusion and the path, and §5 governs what happens to it when the task closes.
  • Every size budget in the bundle is now counted in lines, not tokens. An agent has no tokenizer, so a threshold in tokens is one nobody can check — the budgets that bit hardest were stated in the one unit that could only be guessed at. Converted at a measured 10 tokens/line (the bundle's own files range 6–24, median ~10): rule-writing-standards doc 2000→200 lines, section 200→20, example 100→10, and a rule is 1 line ≤ 15 words; subagent-standards 800/2500/5000→80/250/500 lines. skill-md-standards was converted the same way and then superseded within this release — see the next entry, which replaces its tiers with the platform's single 500-line figure. Checklists now say wc -l.
  • Size budgets now follow the platform's published numbers where the platform states one, and say so where it does not. CLAUDE.md < 200 lines and SKILL.md body < 500 lines are the harness's own targets, marked as such so nobody "tidies" them later; skill-md-standards also gains the frontmatter limits it never carried (name ≤ 64 chars, description ≤ 1024) and the rule that a referenced file over 100 lines opens with a table of contents, plus the one-level-deep reference rule — a reference inside a reference gets partially read, so the deeper file arrives incomplete. The rule-file and subagent budgets are labelled as this standard's own, with the reason each exists, and the rule budget is now split by load tier rather than by artifact type: a path-scoped rule loads on demand like a skill and gets the 500-line figure, while a rule without paths: loads at launch at CLAUDE.md priority, carries the same adherence penalty, and gets the 200-line figure. Adding paths: moves a file to the higher tier as a side effect, so the standard says outright that the scoping must be honest rather than a way to buy headroom. A subagent prompt is re-sent on every spawn, which is why its budget exists at all. claude-md-standards now names the right remedy for an oversized file — a path-scoped rule, not @path imports, which reorganize the text while every imported file still loads at launch.
  • CLAUDE.md drops its three-tier budget for a single threshold: under 200 lines. The tiers keyed on project file count (<10 / 10–100 / monorepo), which predicts nothing about the file's real content — CLAUDE.md holds guardrails and triggers, and how many of those a project needs tracks how many ways an agent can go wrong there, not how many files exist. The old tiers were also unreachable in practice: the shipped CLAUDE.md.tpl is ~1200 tokens with every slot still empty, so a freshly initialized project blew the "small" tier 4× before adding a single rule of its own. section > 200 tokens → extract becomes > 20 lines; complex rule (>5 lines or >200 tokens) loses the redundant token clause.
  • rules/doc-organization.md split; the construction half moves to guide/doc-system-mechanics.md. At 328 lines it was 70% of the always-loaded floor while only part of it met its own §8.2 entry criterion — a guardrail needed before the decision point. What stayed is the decision surface: §1 classification, §4 duplication exceptions, §8.2/§8.3 tiers and decision tree, §9 portability, §10 placement laws, §11 the docs/ boundary. What moved is what you consult while building: §2 reference mechanism, §3 worked examples, §5 enforcement layers, §6 the content-class flow (the same five classes §1 already tables, in branching form), §7 the guide tree's area/taxonomy/router laws, and §8.1 the network-model principles. The moved sections keep their original §ID numbers in the new file — portable §IDs are append-only, so renumbering would silently break referrers in projects beyond this repo's reach; each vacated slot keeps its heading in doc-organization.md as a terse reminder plus a pointer, so an agent scanning it still meets the topic. Result: 328 → 189 lines, and the always-loaded floor every initialized project carries drops from 469 to 330.
  • rules/doc-organization.md §7 loosened where it had been shaped by code projects. §7.1 now defines an area by its axis of work and states that a stack layer is the most familiar shape rather than the required one — an artifact type, a recurring activity, or a live subsystem are axes just as valid, and a project with no code has areas too. §7.1 also gains the escape the promotion rule was missing: when no axis emerges, general/ stays flat at any count, because a wrong axis misroutes every file placed after it and costs more than a long flat list (NEVER + ✅/❌ example added). §7.2 demotes its four folders from a mandatory vocabulary to a default set: an area whose real content does not split that way defines its own folders and records them in its hub, and an enforcement/ kept empty for symmetry is called out as a smell rather than compliance. concepts/ loses "in the stack" from its definition. The invariant is unchanged — every file lives in a folder, no top-level orphan inside a taxonomy area.
  • guide/orchestration-policy.md gains §7 delegating for fresh attention (append-only §ID). §2 forbids handing grep/read/analyze to a subagent, which is a rule about throughput — a second reader paying again for context the orchestrator already holds. §7 is the opposite case, where the value is that the reader has not been primed: an absence sweep, an output-audit under doer ≠ checker, adversarial verification. Without it, review-checklist-method.md P1 cited orchestration-policy.md as authority for spawning a fresh reader while that file's NEVER list forbade exactly that; both citations now name §7.
  • rules/doc-organization.md §10 recognizable-trigger law now admits a countable work-state signal (Nth file read, an agent dispatched, N files edited) alongside message-scan signals. Both are counted rather tha...
Read more

v1.10.0

Choose a tag to compare

@tuannv0069 tuannv0069 released this 30 Jun 09:41

Added

  • New portable guide agent-guide/task-planning.md (scope: portable) — plan + verify before executing any artifact-changing task. Two independent axes: scale → depth (small/medium/full; the 7-step §4 scales down to inline for small), task type → form (truth source + acceptance-criteria shape; type never raises depth). Invariant principles §3 (plan-before-execute, auditable criteria, doer ≠ checker output-audit, genome-rule per sub-task), with §3.2/§3.6 pointing to critical-thinking.md. §4 seven steps carry loop-back + off-ramp branches; §4.5 plan-review conditional. Registered: posture trigger in rules/critical-thinking.md, router in templates/agent-guide/index.md.tpl, dependencies in SKILL.md.

Changed

  • rules/critical-thinking.md ALWAYS gains a posture line pointing to the new task-planning.md (portable-pure, no project path).