diff --git a/.agents/skills/truthmark-check/SKILL.md b/.agents/skills/truthmark-check/SKILL.md index fba7a53..657657b 100644 --- a/.agents/skills/truthmark-check/SKILL.md +++ b/.agents/skills/truthmark-check/SKILL.md @@ -3,7 +3,6 @@ name: truthmark-check description: Use when the user asks to audit repository truth health, routing, ownership, or canonical docs. Not for normal lint/test/typecheck/code-review verification, finish-time Sync, or silently rewriting docs. argument-hint: Optional area, doc path, or audit focus user-invocable: true -truthmark-version: 2.2.1 --- # Truthmark Check @@ -21,6 +20,6 @@ Quick procedure: - Read support/report-template.md before the final report. Progressive disclosure: -- support/procedure.md — read before edits or detailed auditing; contains core quality gates +- support/procedure.md — read before edits or detailed auditing; contains core review questions - support/report-template.md — read before the final report - support/subagents-and-leases.md — read only when using subagents, leases, or accepting worker output diff --git a/.agents/skills/truthmark-check/agents/openai.yaml b/.agents/skills/truthmark-check/agents/openai.yaml index 88a0e83..0d8b9ec 100644 --- a/.agents/skills/truthmark-check/agents/openai.yaml +++ b/.agents/skills/truthmark-check/agents/openai.yaml @@ -7,5 +7,4 @@ policy: allow_implicit_invocation: false truthmark: - version: "2.2.1" refresh_command: "truthmark init" diff --git a/.agents/skills/truthmark-check/support/procedure.md b/.agents/skills/truthmark-check/support/procedure.md index 3408f9b..35ef887 100644 --- a/.agents/skills/truthmark-check/support/procedure.md +++ b/.agents/skills/truthmark-check/support/procedure.md @@ -1,6 +1,6 @@ # Truthmark Check Procedure -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. # Truthmark Check @@ -20,7 +20,7 @@ Truth Check is agent-led: - product-lane ownership belongs under docs/truthmark/product and describes product promises, boundaries, rationale, decisions, and success criteria - engineering-lane ownership belongs under docs/truthmark/engineering and describes source-backed current realization, contracts, architecture, workflows, operations, or tests - both-lane ownership uses separate product and engineering docs cross-linked in route YAML with realized_by and realizes, not in doc frontmatter - - ambiguous lane ownership should be reported as blocked or routed to Truth Structure + - ambiguous lane ownership should be reported for manual handoff or routed to Truth Structure - Do not make product docs a summary of engineering docs. Do not make engineering docs a detailed version of product docs. Product truth says what must be true and why. Engineering truth says how the repository currently realizes it. - check that current docs describe current code rather than historical plans - keep lane and cross-lane checks route-first and bounded: @@ -40,7 +40,7 @@ Truth Check is agent-led: - must not require the truthmark binary; direct inspection is always valid - report issues and suggested fixes without silently rewriting unrelated files - if follow-up docs edits are needed for mixed-owner docs, run or recommend Truth Structure before editing -Evidence Gate: +Evidence checklist: - support each finding and suggested fix with evidence from config, route files, canonical docs, implementation, templates, or tests - canonical docs are context, not sole proof when implementation conflicts - remove unsupported findings or mark open questions; validate changed claims if you edit docs diff --git a/.agents/skills/truthmark-check/support/report-template.md b/.agents/skills/truthmark-check/support/report-template.md index 7253416..c03f1c8 100644 --- a/.agents/skills/truthmark-check/support/report-template.md +++ b/.agents/skills/truthmark-check/support/report-template.md @@ -1,6 +1,6 @@ # Truthmark Check Report Template -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Report completion in this shape: diff --git a/.agents/skills/truthmark-check/support/subagents-and-leases.md b/.agents/skills/truthmark-check/support/subagents-and-leases.md index 05246e4..d33140a 100644 --- a/.agents/skills/truthmark-check/support/subagents-and-leases.md +++ b/.agents/skills/truthmark-check/support/subagents-and-leases.md @@ -1,6 +1,6 @@ # Truthmark Check Subagents And Leases -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Codex subagent mode: - use automatically when this workflow runs in Codex and the parent agent chooses bounded subagent fan-out diff --git a/.agents/skills/truthmark-document/SKILL.md b/.agents/skills/truthmark-document/SKILL.md index 1caec9b..3b346c9 100644 --- a/.agents/skills/truthmark-document/SKILL.md +++ b/.agents/skills/truthmark-document/SKILL.md @@ -3,7 +3,6 @@ name: truthmark-document description: Use when the user asks to document existing implemented behavior, or Sync, Check, or Structure finds implemented behavior missing canonical truth. Not for functional-code changes, doc-first implementation, or topology repair that needs Structure. argument-hint: Optional implemented behavior, API endpoint, route, controller, package, or truth-doc area to document user-invocable: true -truthmark-version: 2.2.1 --- # Truthmark Document @@ -22,7 +21,7 @@ Quick procedure: - Read support/report-template.md before the final report. Progressive disclosure: -- support/procedure.md — read before edits or detailed auditing; contains core quality gates +- support/procedure.md — read before edits or detailed auditing; contains core review questions - support/report-template.md — read before the final report - support/subagents-and-leases.md — read only when using subagents, leases, or accepting worker output - helper-manifest.yml — read only when invoking helper validators or validating helper registration diff --git a/.agents/skills/truthmark-document/agents/openai.yaml b/.agents/skills/truthmark-document/agents/openai.yaml index a4cb871..1ab7daa 100644 --- a/.agents/skills/truthmark-document/agents/openai.yaml +++ b/.agents/skills/truthmark-document/agents/openai.yaml @@ -7,5 +7,4 @@ policy: allow_implicit_invocation: false truthmark: - version: "2.2.1" refresh_command: "truthmark init" diff --git a/.agents/skills/truthmark-document/helper-manifest.yml b/.agents/skills/truthmark-document/helper-manifest.yml index f7b749b..397d3f0 100644 --- a/.agents/skills/truthmark-document/helper-manifest.yml +++ b/.agents/skills/truthmark-document/helper-manifest.yml @@ -1,8 +1,8 @@ -# Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +# Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. helpers: validate-document-report: optional: true - runner: truthmark>=2.2.1 + runner: truthmark command: argv: - truthmark @@ -17,7 +17,7 @@ helpers: fallback: manually validate support/report-template.md required sections and structured Evidence checked entries validate-write-lease: optional: true - runner: truthmark>=2.2.1 + runner: truthmark command: argv: - truthmark diff --git a/.agents/skills/truthmark-document/support/helper-policy.md b/.agents/skills/truthmark-document/support/helper-policy.md index 9e87b00..671d0c4 100644 --- a/.agents/skills/truthmark-document/support/helper-policy.md +++ b/.agents/skills/truthmark-document/support/helper-policy.md @@ -1,18 +1,18 @@ # Optional Helper CLI Policy -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. -Optional helper CLI commands may collect deterministic checkout facts or validate artifacts. If the Truthmark CLI is unavailable or too old for a declared helper, continue manually using this procedure and report which helper was skipped. Helper output is derived evidence; it does not override direct checkout inspection, workflow write boundaries, or parent acceptance. +Optional helper CLI commands may collect deterministic checkout facts or validate artifacts. If the Truthmark CLI is unavailable or cannot return the declared helper output, continue manually using this procedure and report which helper was skipped. Helper output is derived evidence; it does not override direct checkout inspection, workflow write boundaries, or parent acceptance. Runner detection: -- Check the declared Truthmark CLI runner before invoking a helper. +- Check that the declared Truthmark CLI runner is available before invoking a helper. - Invoke helpers through the installed `truthmark validate ... --json` CLI command using argv-style arguments from helper-manifest.yml. -- If unavailable or version-mismatched, treat the helper as skipped and use the manual fallback. +- If unavailable, failing, or returning incompatible output, treat the helper as skipped and use the manual fallback. - Do not fail the workflow solely because a helper cannot run. Available helpers: -- validate-document-report: optional truthmark>=2.2.1; manual fallback: manually validate support/report-template.md required sections and structured Evidence checked entries -- validate-write-lease: optional truthmark>=2.2.1; manual fallback: manually compare declared allowedWrites and forbiddenWrites with the actual changed files +- validate-document-report: optional truthmark; manual fallback: manually validate support/report-template.md required sections and structured Evidence checked entries +- validate-write-lease: optional truthmark; manual fallback: manually compare declared allowedWrites and forbiddenWrites with the actual changed files Final reports should include helper status when helpers are declared for this workflow: diff --git a/.agents/skills/truthmark-document/support/procedure.md b/.agents/skills/truthmark-document/support/procedure.md index db0602c..bbf485a 100644 --- a/.agents/skills/truthmark-document/support/procedure.md +++ b/.agents/skills/truthmark-document/support/procedure.md @@ -1,6 +1,6 @@ # Truthmark Document Procedure -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. # Truthmark Document @@ -19,13 +19,13 @@ Truth Document is manual and implementation-first: - product-lane writes belong under docs/truthmark/product and state product promises, boundaries, rationale, decisions, and success criteria - engineering-lane writes belong under docs/truthmark/engineering and state source-backed current realization, contracts, architecture, workflows, operations, or tests - both-lane work must write separate product and engineering docs and cross-link them in route YAML with realized_by and realizes, not in doc frontmatter - - ambiguous lane ownership must block or invoke Truth Structure instead of writing a mixed document + - ambiguous lane ownership must stop or invoke Truth Structure instead of writing a mixed document - Do not make product docs a summary of engineering docs. Do not make engineering docs a detailed version of product docs. Product truth says what must be true and why. Engineering truth says how the repository currently realizes it. - document current implemented behavior; do not invent future behavior or planned endpoints - may write canonical truth docs and docs/truthmark/routes/areas.md or relevant child route files only - must not write functional code - when routing is missing, stale, broad, overloaded, catch-all, or cannot map the behavior to a bounded truth owner, run Truth Structure first when routing repair is safe and in scope -- block and recommend Truth Structure when routing repair is unsafe, ambiguous, or outside the task boundary +- stop and recommend Truth Structure when routing repair is unsafe, ambiguous, or outside the task boundary - keep feature README.md files as indexes rather than truth-document targets - create or update bounded leaf truth docs when behavior does not fit an existing leaf doc - write product capability/boundary truth under docs/truthmark/product when documenting product promise, boundary, rationale, or user/stakeholder value @@ -34,23 +34,23 @@ Truth Document is manual and implementation-first: - keep engineering behavior truth behavior-oriented, not endpoint-oriented, unless the endpoint itself is the behavior boundary - keep API endpoint details in the nearest contract truth doc when such a doc owns the API contract - preserve unrelated authored content -Truth-doc ownership gate: +Truth-doc ownership review: - before editing or relying on the implemented behavior and candidate truth docs, verify each target/source truth doc is a bounded owner for the behavior - if a target/source doc mixes independent owners, spans unrelated behaviors, acts as an index, or needs cross-owner edits, do not patch or in-place repair it -- if the target doc is broad, mixed-owner, index-like, or the documented behavior spans independent owners, run Truth Structure first when safe and in scope; otherwise block and recommend Truth Structure -- report Ownership reviewed, Structure required, Truth docs split, Truth docs restructured, or Blocked reason as applicable -Decision/Rationale preservation gate: +- if the target doc is broad, mixed-owner, index-like, or the documented behavior spans independent owners, run Truth Structure first when safe and in scope; otherwise stop and recommend Truth Structure +- report Ownership reviewed, Structure required, Truth docs split, Truth docs restructured, or Manual handoff reason as applicable +Decision/Rationale preservation review: - before any truth-doc split, restructure, or shape repair, inventory existing Product Decisions, Engineering Decisions, and Rationale sections in every source or touched truth doc - preserve each current decision and rationale in the correct product or engineering lane owner; when splitting, move it to the new owner doc rather than deleting it or leaving it in an index - remove or narrow a decision or rationale only when checkout evidence shows it is stale or unsupported, and report the exact claim, evidence, and result -- if ownership of a decision or rationale is unclear, block with manual-review files instead of deleting it or guessing +- if ownership of a decision or rationale is unclear, stop with manual-review files instead of deleting it or guessing - after the edit, verify every touched truth doc keeps lane-appropriate decision/rationale sections and every pre-existing entry is preserved, moved, narrowed, removed with evidence, or blocked -Evidence Gate: +Evidence checklist: - route-first: map the documented behavior to bounded route owners and primary canonical docs - review new or changed behavior-bearing claims only in touched docs, route ownership, lane-specific decisions, and rationale - support claims with primary checkout evidence: implementation, config, routing, generated templates, schemas, or contract definitions - tests/examples/canonical docs corroborate; they are not sole proof when implementation conflicts -- remove, narrow, or block unsupported claims +- remove, narrow, or record unsupported claims for manual handoff - if no truth doc changed, report why current truth was already sufficient or why documentation was blocked Repository intelligence artifacts are optional derived context: RepoIndex, RouteMap, ImpactSet, and WorkflowState/action context may guide routing, write boundaries, and verification planning when available. They do not override checkout evidence, canonical truth docs, route files, or workflow write boundaries. @@ -61,12 +61,12 @@ Treat the HTML comments under each template section as normative authoring guida Align existing docs to that template and write or repair section content so it satisfies the comment guidance while preserving accurate authored content. If the template is missing, use lane-specific sections: product truth says what must be true and why; engineering truth says how the repository currently realizes it. Teams may edit template files under the configured Truthmark templates root to define their local truth-doc standards. -Truth-doc shape repair gate: +Truth-doc shape repair review: - Truth Document may restructure only truth docs for the implemented behavior being documented. -- repair shape in place only after the ownership gate confirms the doc is the right bounded owner +- repair shape in place only after the ownership review confirms the doc is the right bounded owner - use Truth Structure for ownership splits; do not treat broad or mixed-owner docs as in-place repair work - repair shape when a narrow edit would make truth worse: missing template sections, stale evidence conflicts, cross-section updates within one owner, or wrong frontmatter/source/headings -- preserve supported claims; remove, narrow, or block unsupported or stale claims +- preserve supported claims; remove, narrow, or record unsupported or stale claims for manual handoff - report docs restructured and why a narrow edit was not sufficient Maintain architecture docs only for structure-level changes: system structure, module boundaries, runtime topology, persistence boundaries, cross-cutting contracts, or generated-surface ownership. Keep ordinary behavior, endpoints, UI copy, validation rules, and bug fixes in behavior or contract docs unless they change those boundaries. @@ -87,6 +87,6 @@ Helper status reporting: - Helper output is derived evidence and never replaces direct checkout inspection, evidence review, or parent acceptance. Parent post-document verification: - verify only truth docs and leased truth routing files changed during document work -- block on functional code, generated host surfaces, or unrelated diffs caused by document work -- for each write lease, validate the worker report against the actual worker diff, allowedWrites, forbiddenWrites, identity fields, filesChanged, offLeaseChanges, blockers, and required report fields before accepting it -- verify the final report records ownership review, structure requirement, restructure, routing update, or blocked reason when applicable +- stop on functional code, generated host surfaces, or unrelated diffs caused by document work +- for each write lease, validate the worker report against the actual worker diff, allowedWrites, forbiddenWrites, identity fields, filesChanged, offLeaseChanges, blockers, and expected report fields before accepting it +- verify the final report records ownership review, structure requirement, restructure, routing update, or manual handoff reason when applicable diff --git a/.agents/skills/truthmark-document/support/report-template.md b/.agents/skills/truthmark-document/support/report-template.md index ae3ce4c..b0b05df 100644 --- a/.agents/skills/truthmark-document/support/report-template.md +++ b/.agents/skills/truthmark-document/support/report-template.md @@ -1,6 +1,6 @@ # Truthmark Document Report Template -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Report completion in this shape: ```md diff --git a/.agents/skills/truthmark-document/support/subagents-and-leases.md b/.agents/skills/truthmark-document/support/subagents-and-leases.md index 50de94b..3a151e3 100644 --- a/.agents/skills/truthmark-document/support/subagents-and-leases.md +++ b/.agents/skills/truthmark-document/support/subagents-and-leases.md @@ -1,6 +1,6 @@ # Truthmark Document Subagents And Leases -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Codex subagent mode: - use automatically when this workflow runs in Codex and the parent agent chooses bounded subagent fan-out diff --git a/.agents/skills/truthmark-portal/SKILL.md b/.agents/skills/truthmark-portal/SKILL.md index 2aa77d0..75aaabb 100644 --- a/.agents/skills/truthmark-portal/SKILL.md +++ b/.agents/skills/truthmark-portal/SKILL.md @@ -3,7 +3,6 @@ name: truthmark-portal description: Use when the user explicitly asks to generate, refresh, or update the Truthmark Portal static HTML site. Not for code change sync, route repair, truth validation/checking, documenting behavior, realizing docs into code, or machine-readable agent context. argument-hint: Optional portal generation focus user-invocable: true -truthmark-version: 2.2.1 --- # Truthmark Portal @@ -14,7 +13,7 @@ Invocations: OpenCode /skill truthmark-portal; Codex /truthmark-portal or $truth Quick procedure: - Follow repository instruction files that exist in this checkout; do not assume any optional policy path exists. -- Truthmark Portal is manual-only; never run it as a completion gate and never treat it as Truth Sync. +- Truthmark Portal is manual-only; never run it automatically at completion and never treat it as Truth Sync. - Markdown remains canonical; generated HTML is non-canonical presentation only. - Read Markdown directly; the workflow does not require the truthmark CLI or package. - Generate committed, generated non-canonical static files for humans. @@ -25,5 +24,5 @@ Quick procedure: - Read support/report-template.md before the final report. Progressive disclosure: -- support/procedure.md — read before edits or detailed auditing; contains core quality gates +- support/procedure.md — read before edits or detailed auditing; contains core review questions - support/report-template.md — read before the final report diff --git a/.agents/skills/truthmark-portal/agents/openai.yaml b/.agents/skills/truthmark-portal/agents/openai.yaml index af506c4..cf2648a 100644 --- a/.agents/skills/truthmark-portal/agents/openai.yaml +++ b/.agents/skills/truthmark-portal/agents/openai.yaml @@ -7,5 +7,4 @@ policy: allow_implicit_invocation: false truthmark: - version: "2.2.1" refresh_command: "truthmark init" diff --git a/.agents/skills/truthmark-portal/support/procedure.md b/.agents/skills/truthmark-portal/support/procedure.md index 671435b..f04d2d1 100644 --- a/.agents/skills/truthmark-portal/support/procedure.md +++ b/.agents/skills/truthmark-portal/support/procedure.md @@ -1,10 +1,10 @@ # Truthmark Portal Procedure -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. # Truthmark Portal -Truthmark Portal is a manual-only presentation workflow. It is never a completion gate, never Truth Sync, and runs only when the user explicitly asks to generate, refresh, or update the committed static HTML Portal. +Truthmark Portal is a manual-only presentation workflow. It is never an automatic completion workflow, never Truth Sync, and runs only when the user explicitly asks to generate, refresh, or update the committed static HTML Portal. Invocations: OpenCode /skill truthmark-portal; Codex /truthmark-portal or $truthmark-portal; Claude Code /truthmark-portal; GitHub Copilot /truthmark-portal; Gemini CLI /truthmark:portal. diff --git a/.agents/skills/truthmark-portal/support/report-template.md b/.agents/skills/truthmark-portal/support/report-template.md index ec72660..3be2266 100644 --- a/.agents/skills/truthmark-portal/support/report-template.md +++ b/.agents/skills/truthmark-portal/support/report-template.md @@ -1,6 +1,6 @@ # Truthmark Portal Report Template -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Report completion in this shape: diff --git a/.agents/skills/truthmark-preview/SKILL.md b/.agents/skills/truthmark-preview/SKILL.md index 5a8a993..2364bd6 100644 --- a/.agents/skills/truthmark-preview/SKILL.md +++ b/.agents/skills/truthmark-preview/SKILL.md @@ -3,7 +3,6 @@ name: truthmark-preview description: Use when the user explicitly asks to preview likely workflow routing, target files, writes, or subagent use before edits. Not for validation, automatic gates, final correctness, or replacing Truth Check. argument-hint: Optional requested outcome, code area, doc path, or routing question user-invocable: true -truthmark-version: 2.2.1 --- # Truthmark Preview @@ -21,6 +20,6 @@ Quick procedure: - Hand off to the selected workflow after user approval. Progressive disclosure: -- support/procedure.md — read before edits or detailed auditing; contains core quality gates +- support/procedure.md — read before edits or detailed auditing; contains core review questions - support/report-template.md — read before the final report - support/subagents-and-leases.md — read only when using subagents, leases, or accepting worker output diff --git a/.agents/skills/truthmark-preview/agents/openai.yaml b/.agents/skills/truthmark-preview/agents/openai.yaml index 99e6561..2e411a2 100644 --- a/.agents/skills/truthmark-preview/agents/openai.yaml +++ b/.agents/skills/truthmark-preview/agents/openai.yaml @@ -7,5 +7,4 @@ policy: allow_implicit_invocation: false truthmark: - version: "2.2.1" refresh_command: "truthmark init" diff --git a/.agents/skills/truthmark-preview/support/procedure.md b/.agents/skills/truthmark-preview/support/procedure.md index 5d608e9..828cbda 100644 --- a/.agents/skills/truthmark-preview/support/procedure.md +++ b/.agents/skills/truthmark-preview/support/procedure.md @@ -1,6 +1,6 @@ # Truthmark Preview Procedure -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Use this skill only when the user explicitly asks to preview Truthmark routing or workflow choice before edits. @@ -9,7 +9,7 @@ Invocations: OpenCode /skill truthmark-preview; Codex /truthmark-preview or $tru Truth Preview is read-only. Its report is intended, not authorized. Purpose: -- preview the likely Truthmark workflow, route owner, target files, expected write classes, suggested subagent use, and blocking ambiguity before edits happen +- preview the likely Truthmark workflow, route owner, target files, expected write classes, suggested subagent use, and manual handoff questions before edits happen - report likely product lane impact, engineering lane impact, target docs, and ambiguity before edits - hand off to the selected workflow after user approval - keep the selector thin so agents can avoid loading or acting through heavier workflows prematurely @@ -27,7 +27,7 @@ Read: - product-lane ownership belongs under docs/truthmark/product and describes product promises, boundaries, rationale, decisions, and success criteria - engineering-lane ownership belongs under docs/truthmark/engineering and describes source-backed current realization, contracts, architecture, workflows, operations, or tests - both-lane ownership uses separate product and engineering docs cross-linked in route YAML with realized_by and realizes, not in doc frontmatter - - ambiguous lane ownership should be reported as blocked or routed to Truth Structure + - ambiguous lane ownership should be reported for manual handoff or routed to Truth Structure - Do not make product docs a summary of engineering docs. Do not make engineering docs a detailed version of product docs. Product truth says what must be true and why. Engineering truth says how the repository currently realizes it. Do not: diff --git a/.agents/skills/truthmark-preview/support/report-template.md b/.agents/skills/truthmark-preview/support/report-template.md index 9e697be..e0531b4 100644 --- a/.agents/skills/truthmark-preview/support/report-template.md +++ b/.agents/skills/truthmark-preview/support/report-template.md @@ -1,6 +1,6 @@ # Truthmark Preview Report Template -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Report completion in this shape: ```md @@ -35,7 +35,7 @@ Suggested subagent use: - write workers: none in Preview - leases needed: none in Preview -Blocking ambiguity: +Manual handoff questions: - none identified in preview Handoff: diff --git a/.agents/skills/truthmark-preview/support/subagents-and-leases.md b/.agents/skills/truthmark-preview/support/subagents-and-leases.md index 08c81ce..bdc7347 100644 --- a/.agents/skills/truthmark-preview/support/subagents-and-leases.md +++ b/.agents/skills/truthmark-preview/support/subagents-and-leases.md @@ -1,6 +1,6 @@ # Truthmark Preview Subagents And Leases -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Codex subagent mode: - use automatically when this workflow runs in Codex and the parent agent chooses bounded subagent fan-out diff --git a/.agents/skills/truthmark-realize/SKILL.md b/.agents/skills/truthmark-realize/SKILL.md index bcf5912..494bd1a 100644 --- a/.agents/skills/truthmark-realize/SKILL.md +++ b/.agents/skills/truthmark-realize/SKILL.md @@ -3,7 +3,6 @@ name: truthmark-realize description: Use when the user explicitly asks to realize Truthmark truth docs into code, including /truthmark-realize, $truthmark-realize, or /truthmark:realize. Not for syncing docs after code changes, documenting existing code, topology repair, or truth audits. argument-hint: Optional truth doc path, area, or desired code behavior to realize user-invocable: true -truthmark-version: 2.2.1 --- # Truthmark Realize @@ -21,5 +20,5 @@ Quick procedure: - Read support/report-template.md before the final report. Progressive disclosure: -- support/procedure.md — read before edits or detailed auditing; contains core quality gates +- support/procedure.md — read before edits or detailed auditing; contains core review questions - support/report-template.md — read before the final report diff --git a/.agents/skills/truthmark-realize/agents/openai.yaml b/.agents/skills/truthmark-realize/agents/openai.yaml index 9710c28..8f3916c 100644 --- a/.agents/skills/truthmark-realize/agents/openai.yaml +++ b/.agents/skills/truthmark-realize/agents/openai.yaml @@ -7,5 +7,4 @@ policy: allow_implicit_invocation: false truthmark: - version: "2.2.1" refresh_command: "truthmark init" diff --git a/.agents/skills/truthmark-realize/support/procedure.md b/.agents/skills/truthmark-realize/support/procedure.md index bc86afe..f587ef7 100644 --- a/.agents/skills/truthmark-realize/support/procedure.md +++ b/.agents/skills/truthmark-realize/support/procedure.md @@ -1,6 +1,6 @@ # Truthmark Realize Procedure -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. # Truthmark Realize @@ -20,11 +20,11 @@ Workflow: 2. Inspect .truthmark/config.yml and configured route files (docs/truthmark/routes/areas.md; docs/truthmark/routes/areas/) only when they exist; then read tests and the relevant functional code. 3. Repository instruction files and explicitly configured policy docs remain instruction authority when present; do not assume a repository uses any particular policy path. Implementation code and canonical truth docs are inspected evidence for current behavior; they do not silently override workflow write boundaries. -Truth-doc ownership gate: +Truth-doc ownership review: - before editing or relying on source truth docs before writing code, verify each target/source truth doc is a bounded owner for the behavior - if a target/source doc mixes independent owners, spans unrelated behaviors, acts as an index, or needs cross-owner edits, do not patch or in-place repair it -- if a source truth doc is broad, mixed-owner, index-like, unrouteable, stale, or conflicts with implementation evidence, block before writing code and recommend Truth Structure or Truth Document -- report Ownership reviewed, Structure required, Truth docs split, Truth docs restructured, or Blocked reason as applicable +- if a source truth doc is broad, mixed-owner, index-like, unrouteable, stale, or conflicts with implementation evidence, stop before writing code and recommend Truth Structure or Truth Document +- report Ownership reviewed, Structure required, Truth docs split, Truth docs restructured, or Manual handoff reason as applicable 4. Update functional code only so implementation matches bounded, current truth claims from the source docs. 5. Do not edit truth docs or truth routing while realizing those docs. 6. Run relevant tests for the changed code. diff --git a/.agents/skills/truthmark-realize/support/report-template.md b/.agents/skills/truthmark-realize/support/report-template.md index 4e55a01..730b19e 100644 --- a/.agents/skills/truthmark-realize/support/report-template.md +++ b/.agents/skills/truthmark-realize/support/report-template.md @@ -1,6 +1,6 @@ # Truthmark Realize Report Template -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Report completion in this shape: diff --git a/.agents/skills/truthmark-structure/SKILL.md b/.agents/skills/truthmark-structure/SKILL.md index 01b08c6..4dccdce 100644 --- a/.agents/skills/truthmark-structure/SKILL.md +++ b/.agents/skills/truthmark-structure/SKILL.md @@ -3,7 +3,6 @@ name: truthmark-structure description: Use when routing or truth ownership is missing, stale, broad, overloaded, catch-all, unrouteable, mixed-owner, needs split/repair, or needs new area setup. Not for documenting implemented behavior, syncing a code diff, or realizing docs into code. argument-hint: Optional area, directory, or routing concern user-invocable: true -truthmark-version: 2.2.1 --- # Truthmark Structure @@ -21,6 +20,6 @@ Quick procedure: - Read support/report-template.md before the final report. Progressive disclosure: -- support/procedure.md — read before edits or detailed auditing; contains core quality gates +- support/procedure.md — read before edits or detailed auditing; contains core review questions - support/report-template.md — read before the final report - support/subagents-and-leases.md — read only when using subagents, leases, or accepting worker output diff --git a/.agents/skills/truthmark-structure/agents/openai.yaml b/.agents/skills/truthmark-structure/agents/openai.yaml index 7e22cda..cbd86aa 100644 --- a/.agents/skills/truthmark-structure/agents/openai.yaml +++ b/.agents/skills/truthmark-structure/agents/openai.yaml @@ -7,5 +7,4 @@ policy: allow_implicit_invocation: false truthmark: - version: "2.2.1" refresh_command: "truthmark init" diff --git a/.agents/skills/truthmark-structure/support/procedure.md b/.agents/skills/truthmark-structure/support/procedure.md index 1588ce5..2a8ecb6 100644 --- a/.agents/skills/truthmark-structure/support/procedure.md +++ b/.agents/skills/truthmark-structure/support/procedure.md @@ -1,6 +1,6 @@ # Truthmark Structure Procedure -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Use this skill to design or repair Truthmark area structure. Invocations: OpenCode /skill truthmark-structure; Codex /truthmark-structure or $truthmark-structure; Claude Code /truthmark-structure; GitHub Copilot /truthmark-structure; Gemini CLI /truthmark:structure. @@ -14,7 +14,7 @@ Truth Structure is agent-native: - product-lane writes belong under docs/truthmark/product and state product promises, boundaries, rationale, decisions, and success criteria - engineering-lane writes belong under docs/truthmark/engineering and state source-backed current realization, contracts, architecture, workflows, operations, or tests - both-lane work must write separate product and engineering docs and cross-link them in route YAML with realized_by and realizes, not in doc frontmatter - - ambiguous lane ownership must block or invoke Truth Structure instead of writing a mixed document + - ambiguous lane ownership must stop or invoke Truth Structure instead of writing a mixed document - Do not make product docs a summary of engineering docs. Do not make engineering docs a detailed version of product docs. Product truth says what must be true and why. Engineering truth says how the repository currently realizes it. - inspect the configured root route index at docs/truthmark/routes/areas.md and relevant child route files under docs/truthmark/routes/areas/ when they exist - define areas by product or behavior ownership, not by mechanical directory mirroring @@ -39,7 +39,7 @@ Use when a user asks to onboard a new code area into Truthmark, a new package, c Do: - inspect the named code area - infer bounded product or behavior ownership -- choose the owning route when ownership is clear; otherwise propose the route and block for review +- choose the owning route when ownership is clear; otherwise propose the route and stop for manual review - create or update the child route entry or file - create starter truth docs only where current truth is missing - report the initial truth boundary @@ -53,16 +53,16 @@ Do not: Truth Structure owns documentation topology, lane splits, decision relocation, and relationship repair. Do not depend on humans to manually organize docs/truthmark/product or docs/truthmark/engineering. Treat both configured lane roots as managed semantic roots. Inspect controllers, routes, handlers, services, packages, tests, existing truth docs, and route files; infer product and domain ownership from behavior boundaries, not from mechanical directory mirroring. When topology pressure exists, repair structure before creating or extending truth docs. -Truth-doc ownership gate: +Truth-doc ownership review: - before editing or relying on candidate route owners and current truth docs, verify each target/source truth doc is a bounded owner for the behavior - if a target/source doc mixes independent owners, spans unrelated behaviors, acts as an index, or needs cross-owner edits, do not patch or in-place repair it -- if a truth doc mixes independent owners, route ownership is broad, or a split is required for bounded ownership, split and reroute into bounded truth docs when safe; otherwise block with manual-review files -- report Ownership reviewed, Structure required, Truth docs split, Truth docs restructured, or Blocked reason as applicable -Decision/Rationale preservation gate: +- if a truth doc mixes independent owners, route ownership is broad, or a split is required for bounded ownership, split and reroute into bounded truth docs when safe; otherwise stop with manual-review files +- report Ownership reviewed, Structure required, Truth docs split, Truth docs restructured, or Manual handoff reason as applicable +Decision/Rationale preservation review: - before any truth-doc split, restructure, or shape repair, inventory existing Product Decisions, Engineering Decisions, and Rationale sections in every source or touched truth doc - preserve each current decision and rationale in the correct product or engineering lane owner; when splitting, move it to the new owner doc rather than deleting it or leaving it in an index - remove or narrow a decision or rationale only when checkout evidence shows it is stale or unsupported, and report the exact claim, evidence, and result -- if ownership of a decision or rationale is unclear, block with manual-review files instead of deleting it or guessing +- if ownership of a decision or rationale is unclear, stop with manual-review files instead of deleting it or guessing - after the edit, verify every touched truth doc keeps lane-appropriate decision/rationale sections and every pre-existing entry is preserved, moved, narrowed, removed with evidence, or blocked Topology pressure signals: - one area maps broad code such as src/**, app/**, server/**, services/**, or packages/** @@ -90,17 +90,17 @@ Repair rules: - update routing so future Truth Sync can target small docs - preserve existing authored docs; move or rewrite only when needed to remove ambiguity - report Truth docs split when one broad or mixed-owner truth doc becomes multiple bounded docs -Truth-doc shape repair gate: +Truth-doc shape repair review: - Truth Structure may restructure broader routed docs when topology, ownership, or doc-shape repair is already in scope. -- repair shape in place only after the ownership gate confirms the doc is the right bounded owner +- repair shape in place only after the ownership review confirms the doc is the right bounded owner - use Truth Structure for ownership splits; do not treat broad or mixed-owner docs as in-place repair work - repair shape when a narrow edit would make truth worse: missing template sections, stale evidence conflicts, cross-section updates within one owner, or wrong frontmatter/source/headings -- preserve supported claims; remove, narrow, or block unsupported or stale claims +- preserve supported claims; remove, narrow, or record unsupported or stale claims for manual handoff - report docs restructured and why a narrow edit was not sufficient -Evidence Gate: -- apply the Evidence Gate before finishing when Truth Structure writes routed docs, ownership claims, lane-specific decisions, or rationale +Evidence checklist: +- apply the evidence checklist before finishing when Truth Structure writes routed docs, ownership claims, lane-specific decisions, or rationale - support ownership/behavior claims with topology or primary checkout evidence from layout, implementation boundaries, docs, config, route files, tests, templates, schemas, or contracts -- tests/examples/canonical docs corroborate; remove, narrow, or block unsupported claims +- tests/examples/canonical docs corroborate; remove, narrow, or record unsupported claims for manual handoff Maintain architecture docs only for structure-level changes: system structure, module boundaries, runtime topology, persistence boundaries, cross-cutting contracts, or generated-surface ownership. Keep ordinary behavior, endpoints, UI copy, validation rules, and bug fixes in behavior or contract docs unless they change those boundaries. - Do not finish topology repair with mixed product/engineering authority in a single canonical truth doc. diff --git a/.agents/skills/truthmark-structure/support/report-template.md b/.agents/skills/truthmark-structure/support/report-template.md index 5dc74e8..d615580 100644 --- a/.agents/skills/truthmark-structure/support/report-template.md +++ b/.agents/skills/truthmark-structure/support/report-template.md @@ -1,6 +1,6 @@ # Truthmark Structure Report Template -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Report completion in this shape: ```md diff --git a/.agents/skills/truthmark-structure/support/subagents-and-leases.md b/.agents/skills/truthmark-structure/support/subagents-and-leases.md index 5fd0e5c..877bb50 100644 --- a/.agents/skills/truthmark-structure/support/subagents-and-leases.md +++ b/.agents/skills/truthmark-structure/support/subagents-and-leases.md @@ -1,6 +1,6 @@ # Truthmark Structure Subagents And Leases -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Codex subagent mode: - use automatically when this workflow runs in Codex and the parent agent chooses bounded subagent fan-out diff --git a/.agents/skills/truthmark-sync/SKILL.md b/.agents/skills/truthmark-sync/SKILL.md index 47b6826..ecf0b61 100644 --- a/.agents/skills/truthmark-sync/SKILL.md +++ b/.agents/skills/truthmark-sync/SKILL.md @@ -3,7 +3,6 @@ name: truthmark-sync description: Use automatically at finish-time after functional code changes, or explicit /truthmark-sync, $truthmark-sync, or /truthmark:sync. Skip docs-only, formatting-only, behavior-preserving renames, missing config, and no-code changes. Not for doc-first realization or manual topology design. argument-hint: Optional changed-code area, truth-doc area, or sync focus user-invocable: true -truthmark-version: 2.2.1 --- # Truthmark Sync @@ -23,7 +22,7 @@ Quick procedure: - Read support/report-template.md before the final report. Progressive disclosure: -- support/procedure.md — read before edits or detailed auditing; contains core quality gates +- support/procedure.md — read before edits or detailed auditing; contains core review questions - support/report-template.md — read before the final report - support/subagents-and-leases.md — read only when using subagents, leases, or accepting worker output - helper-manifest.yml — read only when invoking helper validators or validating helper registration diff --git a/.agents/skills/truthmark-sync/agents/openai.yaml b/.agents/skills/truthmark-sync/agents/openai.yaml index e9dbc24..733fb7b 100644 --- a/.agents/skills/truthmark-sync/agents/openai.yaml +++ b/.agents/skills/truthmark-sync/agents/openai.yaml @@ -7,5 +7,4 @@ policy: allow_implicit_invocation: true truthmark: - version: "2.2.1" refresh_command: "truthmark init" diff --git a/.agents/skills/truthmark-sync/helper-manifest.yml b/.agents/skills/truthmark-sync/helper-manifest.yml index 36c0434..64191b3 100644 --- a/.agents/skills/truthmark-sync/helper-manifest.yml +++ b/.agents/skills/truthmark-sync/helper-manifest.yml @@ -1,8 +1,8 @@ -# Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +# Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. helpers: validate-sync-report: optional: true - runner: truthmark>=2.2.1 + runner: truthmark command: argv: - truthmark @@ -17,7 +17,7 @@ helpers: fallback: "manually validate support/report-template.md and check Evidence checked entries match Claim, indented Evidence, and Result: supported | narrowed | removed | blocked" validate-write-lease: optional: true - runner: truthmark>=2.2.1 + runner: truthmark command: argv: - truthmark diff --git a/.agents/skills/truthmark-sync/support/helper-policy.md b/.agents/skills/truthmark-sync/support/helper-policy.md index d1831d6..4394d9d 100644 --- a/.agents/skills/truthmark-sync/support/helper-policy.md +++ b/.agents/skills/truthmark-sync/support/helper-policy.md @@ -1,18 +1,18 @@ # Optional Helper CLI Policy -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. -Optional helper CLI commands may collect deterministic checkout facts or validate artifacts. If the Truthmark CLI is unavailable or too old for a declared helper, continue manually using this procedure and report which helper was skipped. Helper output is derived evidence; it does not override direct checkout inspection, workflow write boundaries, or parent acceptance. +Optional helper CLI commands may collect deterministic checkout facts or validate artifacts. If the Truthmark CLI is unavailable or cannot return the declared helper output, continue manually using this procedure and report which helper was skipped. Helper output is derived evidence; it does not override direct checkout inspection, workflow write boundaries, or parent acceptance. Runner detection: -- Check the declared Truthmark CLI runner before invoking a helper. +- Check that the declared Truthmark CLI runner is available before invoking a helper. - Invoke helpers through the installed `truthmark validate ... --json` CLI command using argv-style arguments from helper-manifest.yml. -- If unavailable or version-mismatched, treat the helper as skipped and use the manual fallback. +- If unavailable, failing, or returning incompatible output, treat the helper as skipped and use the manual fallback. - Do not fail the workflow solely because a helper cannot run. Available helpers: -- validate-sync-report: optional truthmark>=2.2.1; manual fallback: manually validate support/report-template.md and check Evidence checked entries match Claim, indented Evidence, and Result: supported | narrowed | removed | blocked -- validate-write-lease: optional truthmark>=2.2.1; manual fallback: manually compare declared allowedWrites and forbiddenWrites with the actual changed files +- validate-sync-report: optional truthmark; manual fallback: manually validate support/report-template.md and check Evidence checked entries match Claim, indented Evidence, and Result: supported | narrowed | removed | blocked +- validate-write-lease: optional truthmark; manual fallback: manually compare declared allowedWrites and forbiddenWrites with the actual changed files Final reports should include helper status when helpers are declared for this workflow: diff --git a/.agents/skills/truthmark-sync/support/procedure.md b/.agents/skills/truthmark-sync/support/procedure.md index 6270aab..988dc1f 100644 --- a/.agents/skills/truthmark-sync/support/procedure.md +++ b/.agents/skills/truthmark-sync/support/procedure.md @@ -1,10 +1,10 @@ # Truthmark Sync Procedure -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Use this skill automatically before finishing when functional code changed since the last successful Truth Sync. Also run it immediately when the user explicitly invokes Truth Sync. Invocations: OpenCode /skill truthmark-sync; Codex /truthmark-sync or $truthmark-sync; Claude Code /truthmark-sync; GitHub Copilot /truthmark-sync; Gemini CLI /truthmark:sync. -Explicit invocation runs immediately. Later functional-code changes reopen the finish-time requirement, and an earlier explicit run satisfies the finish gate only if no later functional-code changes occur. +Explicit invocation runs immediately. Later functional-code changes need a fresh finish-time review, and an earlier explicit run satisfies the finish-time review only if no later functional-code changes occur. Skip when changes are documentation-only, formatting-only, clearly behavior-preserving renames with no truth impact, when no Truthmark config exists yet, or when there are no functional code changes. Parent workflow: 1. Inspect git status, staged changes, unstaged changes, and untracked files directly. @@ -13,36 +13,46 @@ Parent workflow: 4. Evidence authority: - Repository instruction files and explicitly configured policy docs remain instruction authority when present; do not assume a repository uses any particular policy path. - Implementation code and canonical truth docs are inspected evidence for current behavior; they do not silently override workflow write boundaries. -5. Lane classification gate: - - before writing canonical truth docs, classify the request or change as product-lane, engineering-lane, both-lane, or ambiguous - - product-lane writes belong under docs/truthmark/product and state product promises, boundaries, rationale, decisions, and success criteria - - engineering-lane writes belong under docs/truthmark/engineering and state source-backed current realization, contracts, architecture, workflows, operations, or tests - - both-lane work must write separate product and engineering docs and cross-link them in route YAML with realized_by and realizes, not in doc frontmatter - - ambiguous lane ownership must block or invoke Truth Structure instead of writing a mixed document - - Do not make product docs a summary of engineering docs. Do not make engineering docs a detailed version of product docs. Product truth says what must be true and why. Engineering truth says how the repository currently realizes it. -6. Update engineering truth first after code changes. Update product truth only when implemented user-visible product promise or capability boundary changed and explicit source/user evidence supports it; otherwise report product-lane review needed. -7. Code verification is parent-owned: follow repository instructions and task context, and report what ran or why it did not run. -8. Dispatch bounded Truth Sync workers only when the host supports subagent dispatch and the acting agent chooses that path; otherwise execute the same sync task inline. -Topology quality gate: +5. Product truth decision: + - ask whether a user-visible promise, capability boundary, API contract, acceptance criterion, or explicit user/product evidence changed + - if yes, update or route product truth under docs/truthmark/product as well as engineering truth under docs/truthmark/engineering + - if no, default to engineering truth under docs/truthmark/engineering for internal implementation changes + - when both lanes change, keep separate product and engineering docs cross-linked through route YAML with realized_by and realizes + - when ownership is ambiguous, stop or route to Truth Structure instead of writing a mixed document +6. Capture decision context from the task conversation: ask whether the user provided a product or technical decision, rationale, constraint, tradeoff, rejection reason, or scope boundary. Preserve concise user-provided decision rationale in Sync Intent before truth edits, route it to Product Decisions, Engineering Decisions, Rationale, Capability Scope, Non-Goals, Maintenance Notes, or the relevant workflow/contract section, and report whether it was placed, skipped because none was provided, or needs manual handoff. +7. Update engineering truth first after code changes. Product truth is opt-in for externally visible promises, product boundaries, APIs, acceptance criteria, or explicit user/product evidence. +8. Code verification is parent-owned: follow repository instructions and task context, and report what ran or why it did not run. +9. Dispatch bounded Truth Sync workers only when the host supports subagent dispatch and the acting agent chooses that path; otherwise execute the same sync task inline. +10. Fill Sync Intent before editing truth docs or truth routing files: + - Changed code reviewed: functional files, tests, configs, generated outputs, or other implementation evidence inspected + - Affected route/truth owner: bounded route area or canonical truth owner that maps the change + - Target truth docs: docs expected to change, or docs reviewed and left unchanged + - Intended update: claim/doc/routing update planned before writing + - Evidence to verify: checkout evidence that will support, narrow, remove, or record each claim for manual handoff + - User-provided decisions/rationale: decisions, rationale, constraints, tradeoffs, rejection reasons, or scope boundaries from the current task conversation, or "none provided" + - No-update-needed rationale: why mapped truth is already current when no truth doc should change + - Blockers: missing routing, ambiguous ownership, failed verification, unavailable evidence, or off-boundary write needs +11. Only edit allowed truth docs/routes after Sync Intent is clear; if ownership is ambiguous, stop and recommend Truth Structure instead of guessing. +Topology review: - before updating truth docs, verify the changed code resolves to a specific behavior-owned area and bounded truth owner - if routing is missing, stale, broad, overloaded, catch-all route only, or cannot map changed code to a bounded truth owner, do not create another generic truth doc - run Truth Structure before syncing when topology repair is safe and in scope -- block and recommend Truth Structure when topology repair is unsafe, ambiguous, or outside the current task boundary +- stop and recommend Truth Structure when topology repair is unsafe, ambiguous, or outside the current task boundary - report the route files and changed code paths that require structure repair - README.md files are indexes, not Truth Sync targets - must not append behavior details to a README.md index - create or update a bounded leaf truth doc when behavior changes do not fit an existing leaf doc - write engineering truth under docs/truthmark/engineering; product truth updates under docs/truthmark/product are allowed only for explicit current product behavior changes -Truth-doc ownership gate: +Truth-doc ownership review: - before editing or relying on changed functional files and impacted truth docs, verify each target/source truth doc is a bounded owner for the behavior - if a target/source doc mixes independent owners, spans unrelated behaviors, acts as an index, or needs cross-owner edits, do not patch or in-place repair it -- if an impacted doc is broad, mixed-owner, index-like, or the update spans independent behavior owners, run Truth Structure before syncing when safe and in scope; otherwise block and recommend Truth Structure -- report Ownership reviewed, Structure required, Truth docs split, Truth docs restructured, or Blocked reason as applicable -Decision/Rationale preservation gate: +- if an impacted doc is broad, mixed-owner, index-like, or the update spans independent behavior owners, run Truth Structure before syncing when safe and in scope; otherwise stop and recommend Truth Structure +- report Ownership reviewed, Structure required, Truth docs split, Truth docs restructured, or Manual handoff reason as applicable +Decision/Rationale preservation review: - before any truth-doc split, restructure, or shape repair, inventory existing Product Decisions, Engineering Decisions, and Rationale sections in every source or touched truth doc - preserve each current decision and rationale in the correct product or engineering lane owner; when splitting, move it to the new owner doc rather than deleting it or leaving it in an index - remove or narrow a decision or rationale only when checkout evidence shows it is stale or unsupported, and report the exact claim, evidence, and result -- if ownership of a decision or rationale is unclear, block with manual-review files instead of deleting it or guessing +- if ownership of a decision or rationale is unclear, stop with manual-review files instead of deleting it or guessing - after the edit, verify every touched truth doc keeps lane-appropriate decision/rationale sections and every pre-existing entry is preserved, moved, narrowed, removed with evidence, or blocked When creating or updating a truth doc, inspect the routed truth kind and use the matching template under the configured Truthmark templates root. Supported kinds: product-capability, engineering-behavior, engineering-contract, engineering-architecture, engineering-workflow, engineering-operations, and engineering-test-behavior. @@ -50,21 +60,21 @@ Treat the HTML comments under each template section as normative authoring guida Align existing docs to that template and write or repair section content so it satisfies the comment guidance while preserving accurate authored content. If the template is missing, use lane-specific sections: product truth says what must be true and why; engineering truth says how the repository currently realizes it. Teams may edit template files under the configured Truthmark templates root to define their local truth-doc standards. -Truth-doc shape repair gate: +Truth-doc shape repair review: - Truth Sync may restructure leased canonical truth docs when the current sync evidence shows repository truth is stale, even when the doc is outside the initially affected route focus. -- repair shape in place only after the ownership gate confirms the doc is the right bounded owner +- repair shape in place only after the ownership review confirms the doc is the right bounded owner - use Truth Structure for ownership splits; do not treat broad or mixed-owner docs as in-place repair work - repair shape when a narrow edit would make truth worse: missing template sections, stale evidence conflicts, cross-section updates within one owner, or wrong frontmatter/source/headings -- preserve supported claims; remove, narrow, or block unsupported or stale claims +- preserve supported claims; remove, narrow, or record unsupported or stale claims for manual handoff - report docs restructured and why a narrow edit was not sufficient Maintain architecture docs only for structure-level changes: system structure, module boundaries, runtime topology, persistence boundaries, cross-cutting contracts, or generated-surface ownership. Keep ordinary behavior, endpoints, UI copy, validation rules, and bug fixes in behavior or contract docs unless they change those boundaries. -Evidence Gate: +Evidence checklist: - route-first: map changed functional files to bounded route owners and primary canonical docs - review new or changed behavior-bearing claims only in touched docs, route ownership, lane-specific decisions, and rationale - support claims with primary checkout evidence: implementation, config, routing, generated templates, schemas, or contract definitions - tests/examples/canonical docs corroborate; they are not sole proof when implementation conflicts -- remove, narrow, or block unsupported claims +- remove, narrow, or record unsupported claims for manual handoff - if no impacted doc changed, report why truth was already current or why sync was skipped Repository intelligence artifacts are optional derived context: RepoIndex, RouteMap, ImpactSet, and WorkflowState/action context may guide routing, write boundaries, and verification planning when available. They do not override checkout evidence, canonical truth docs, route files, or workflow write boundaries. @@ -91,10 +101,10 @@ Do not create separate active-decision ADR/planning logs; replace the active dec Product decisions belong in product truth; engineering, architecture, contract, workflow, and operational decisions belong in engineering truth. Parent post-sync verification: - verify only truth docs and leased truth routing files changed during sync -- block on any unrelated diff caused by the sync step -- block if functional code changed during sync -- for each write lease, validate the worker report against the actual worker diff, allowedWrites, forbiddenWrites, identity fields, filesChanged, offLeaseChanges, blockers, and required report fields before accepting it +- stop on any unrelated diff caused by the sync step +- stop if functional code changed during sync +- for each write lease, validate the worker report against the actual worker diff, allowedWrites, forbiddenWrites, identity fields, filesChanged, offLeaseChanges, blockers, and expected report fields before accepting it - validate the final report against the structured Truth Sync report contract, including Claim, indented Evidence, and Result values supported, narrowed, removed, or blocked under Evidence checked - verify the updated docs correspond to reviewed checkout evidence, changed-code impact, or a recorded stale-truth correction made within the sync write lease -- verify the final report records ownership review, structure requirement, split, restructure, or blocked reason when the ownership gate fired -- blocked outcomes must preserve the working tree as-is: no rollback, no post-block cleanup edits, and manual-review reporting of any remaining files +- verify the final report records ownership review, structure requirement, split, restructure, or manual handoff reason when the ownership review applies +- manual handoff outcomes must preserve the working tree as-is: no rollback, no post-block cleanup edits, and manual-review reporting of any remaining files diff --git a/.agents/skills/truthmark-sync/support/report-template.md b/.agents/skills/truthmark-sync/support/report-template.md index 52f0ec1..d290cc5 100644 --- a/.agents/skills/truthmark-sync/support/report-template.md +++ b/.agents/skills/truthmark-sync/support/report-template.md @@ -1,6 +1,6 @@ # Truthmark Sync Report Template -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Report completion in this shape: ```md @@ -9,11 +9,24 @@ Truth Sync: completed Changed code reviewed: - src/auth/session.ts +Sync Intent: +- Changed code reviewed: src/auth/session.ts +- Affected route/truth owner: docs/truthmark/routes/areas.md +- Target truth docs: docs/truthmark/engineering/repository/bootstrap-routing.md +- Intended update: Update session timeout behavior. +- Evidence to verify: src/auth/session.ts:12 / docs/truthmark/routes/areas.md:11 +- User-provided decisions/rationale: User rationale: session timeout behavior changed for internal implementation consistency +- No-update-needed rationale: not applicable; mapped truth is stale +- Blockers: none + Ownership reviewed: - docs/truthmark/routes/areas.md Truth docs updated: -- docs/truthmark/engineering/repository/overview.md +- docs/truthmark/engineering/repository/bootstrap-routing.md + +Decision/rationale captured: +- Placed user rationale in the mapped engineering truth doc under Engineering Decisions/Rationale. Evidence checked: - Claim: Session timeout behavior is documented in the mapped repository truth doc. diff --git a/.agents/skills/truthmark-sync/support/subagents-and-leases.md b/.agents/skills/truthmark-sync/support/subagents-and-leases.md index 4884d81..f235287 100644 --- a/.agents/skills/truthmark-sync/support/subagents-and-leases.md +++ b/.agents/skills/truthmark-sync/support/subagents-and-leases.md @@ -1,6 +1,6 @@ # Truthmark Sync Subagents And Leases -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Codex subagent mode: - use automatically when this workflow runs in Codex and the parent agent chooses bounded subagent fan-out diff --git a/.codex/agents/truth-claim-verifier.toml b/.codex/agents/truth-claim-verifier.toml index 0acb30b..8a53f7f 100644 --- a/.codex/agents/truth-claim-verifier.toml +++ b/.codex/agents/truth-claim-verifier.toml @@ -1,4 +1,4 @@ -# Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +# Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. name = "truth_claim_verifier" description = "Read-only Truthmark claim verifier for checking canonical truth against checkout evidence." sandbox_mode = "read-only" diff --git a/.codex/agents/truth-doc-reviewer.toml b/.codex/agents/truth-doc-reviewer.toml index 8ccb2d1..2095560 100644 --- a/.codex/agents/truth-doc-reviewer.toml +++ b/.codex/agents/truth-doc-reviewer.toml @@ -1,4 +1,4 @@ -# Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +# Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. name = "truth_doc_reviewer" description = "Read-only Truthmark doc reviewer for shape, decision, rationale, and evidence hygiene." sandbox_mode = "read-only" diff --git a/.codex/agents/truth-doc-writer.toml b/.codex/agents/truth-doc-writer.toml index 7f60371..5751f9d 100644 --- a/.codex/agents/truth-doc-writer.toml +++ b/.codex/agents/truth-doc-writer.toml @@ -1,4 +1,4 @@ -# Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +# Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. name = "truth_doc_writer" description = "Write-capable Truthmark doc worker for one parent-leased truth-document shard." sandbox_mode = "workspace-write" diff --git a/.codex/agents/truth-route-auditor.toml b/.codex/agents/truth-route-auditor.toml index 678c1b3..2a83b53 100644 --- a/.codex/agents/truth-route-auditor.toml +++ b/.codex/agents/truth-route-auditor.toml @@ -1,4 +1,4 @@ -# Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +# Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. name = "truth_route_auditor" description = "Read-only Truthmark route auditor for bounded routing and ownership verification." sandbox_mode = "read-only" diff --git a/.opencode/agents/truth-claim-verifier.md b/.opencode/agents/truth-claim-verifier.md index 6948e19..ea65f86 100644 --- a/.opencode/agents/truth-claim-verifier.md +++ b/.opencode/agents/truth-claim-verifier.md @@ -16,7 +16,7 @@ permission: "grep *": allow --- -# Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +# Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Manual invocation: @truth-claim-verifier diff --git a/.opencode/agents/truth-doc-reviewer.md b/.opencode/agents/truth-doc-reviewer.md index 3facc10..2b5f30b 100644 --- a/.opencode/agents/truth-doc-reviewer.md +++ b/.opencode/agents/truth-doc-reviewer.md @@ -16,7 +16,7 @@ permission: "grep *": allow --- -# Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +# Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Manual invocation: @truth-doc-reviewer diff --git a/.opencode/agents/truth-doc-writer.md b/.opencode/agents/truth-doc-writer.md index 49d03c1..0b0b487 100644 --- a/.opencode/agents/truth-doc-writer.md +++ b/.opencode/agents/truth-doc-writer.md @@ -22,7 +22,7 @@ permission: "git diff*": allow --- -# Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +# Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Manual invocation: @truth-doc-writer diff --git a/.opencode/agents/truth-route-auditor.md b/.opencode/agents/truth-route-auditor.md index 5e060d5..e9813f9 100644 --- a/.opencode/agents/truth-route-auditor.md +++ b/.opencode/agents/truth-route-auditor.md @@ -16,7 +16,7 @@ permission: "grep *": allow --- -# Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +# Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Manual invocation: @truth-route-auditor diff --git a/.opencode/skills/truthmark-check/SKILL.md b/.opencode/skills/truthmark-check/SKILL.md index fba7a53..657657b 100644 --- a/.opencode/skills/truthmark-check/SKILL.md +++ b/.opencode/skills/truthmark-check/SKILL.md @@ -3,7 +3,6 @@ name: truthmark-check description: Use when the user asks to audit repository truth health, routing, ownership, or canonical docs. Not for normal lint/test/typecheck/code-review verification, finish-time Sync, or silently rewriting docs. argument-hint: Optional area, doc path, or audit focus user-invocable: true -truthmark-version: 2.2.1 --- # Truthmark Check @@ -21,6 +20,6 @@ Quick procedure: - Read support/report-template.md before the final report. Progressive disclosure: -- support/procedure.md — read before edits or detailed auditing; contains core quality gates +- support/procedure.md — read before edits or detailed auditing; contains core review questions - support/report-template.md — read before the final report - support/subagents-and-leases.md — read only when using subagents, leases, or accepting worker output diff --git a/.opencode/skills/truthmark-check/support/procedure.md b/.opencode/skills/truthmark-check/support/procedure.md index 3408f9b..35ef887 100644 --- a/.opencode/skills/truthmark-check/support/procedure.md +++ b/.opencode/skills/truthmark-check/support/procedure.md @@ -1,6 +1,6 @@ # Truthmark Check Procedure -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. # Truthmark Check @@ -20,7 +20,7 @@ Truth Check is agent-led: - product-lane ownership belongs under docs/truthmark/product and describes product promises, boundaries, rationale, decisions, and success criteria - engineering-lane ownership belongs under docs/truthmark/engineering and describes source-backed current realization, contracts, architecture, workflows, operations, or tests - both-lane ownership uses separate product and engineering docs cross-linked in route YAML with realized_by and realizes, not in doc frontmatter - - ambiguous lane ownership should be reported as blocked or routed to Truth Structure + - ambiguous lane ownership should be reported for manual handoff or routed to Truth Structure - Do not make product docs a summary of engineering docs. Do not make engineering docs a detailed version of product docs. Product truth says what must be true and why. Engineering truth says how the repository currently realizes it. - check that current docs describe current code rather than historical plans - keep lane and cross-lane checks route-first and bounded: @@ -40,7 +40,7 @@ Truth Check is agent-led: - must not require the truthmark binary; direct inspection is always valid - report issues and suggested fixes without silently rewriting unrelated files - if follow-up docs edits are needed for mixed-owner docs, run or recommend Truth Structure before editing -Evidence Gate: +Evidence checklist: - support each finding and suggested fix with evidence from config, route files, canonical docs, implementation, templates, or tests - canonical docs are context, not sole proof when implementation conflicts - remove unsupported findings or mark open questions; validate changed claims if you edit docs diff --git a/.opencode/skills/truthmark-check/support/report-template.md b/.opencode/skills/truthmark-check/support/report-template.md index 7253416..c03f1c8 100644 --- a/.opencode/skills/truthmark-check/support/report-template.md +++ b/.opencode/skills/truthmark-check/support/report-template.md @@ -1,6 +1,6 @@ # Truthmark Check Report Template -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Report completion in this shape: diff --git a/.opencode/skills/truthmark-check/support/subagents-and-leases.md b/.opencode/skills/truthmark-check/support/subagents-and-leases.md index c20665b..91bb11b 100644 --- a/.opencode/skills/truthmark-check/support/subagents-and-leases.md +++ b/.opencode/skills/truthmark-check/support/subagents-and-leases.md @@ -1,6 +1,6 @@ # Truthmark Check Subagents And Leases -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. OpenCode subagent mode: - use automatically when this workflow runs in OpenCode and the parent agent chooses bounded subagent fan-out diff --git a/.opencode/skills/truthmark-document/SKILL.md b/.opencode/skills/truthmark-document/SKILL.md index 1caec9b..3b346c9 100644 --- a/.opencode/skills/truthmark-document/SKILL.md +++ b/.opencode/skills/truthmark-document/SKILL.md @@ -3,7 +3,6 @@ name: truthmark-document description: Use when the user asks to document existing implemented behavior, or Sync, Check, or Structure finds implemented behavior missing canonical truth. Not for functional-code changes, doc-first implementation, or topology repair that needs Structure. argument-hint: Optional implemented behavior, API endpoint, route, controller, package, or truth-doc area to document user-invocable: true -truthmark-version: 2.2.1 --- # Truthmark Document @@ -22,7 +21,7 @@ Quick procedure: - Read support/report-template.md before the final report. Progressive disclosure: -- support/procedure.md — read before edits or detailed auditing; contains core quality gates +- support/procedure.md — read before edits or detailed auditing; contains core review questions - support/report-template.md — read before the final report - support/subagents-and-leases.md — read only when using subagents, leases, or accepting worker output - helper-manifest.yml — read only when invoking helper validators or validating helper registration diff --git a/.opencode/skills/truthmark-document/helper-manifest.yml b/.opencode/skills/truthmark-document/helper-manifest.yml index f7b749b..397d3f0 100644 --- a/.opencode/skills/truthmark-document/helper-manifest.yml +++ b/.opencode/skills/truthmark-document/helper-manifest.yml @@ -1,8 +1,8 @@ -# Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +# Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. helpers: validate-document-report: optional: true - runner: truthmark>=2.2.1 + runner: truthmark command: argv: - truthmark @@ -17,7 +17,7 @@ helpers: fallback: manually validate support/report-template.md required sections and structured Evidence checked entries validate-write-lease: optional: true - runner: truthmark>=2.2.1 + runner: truthmark command: argv: - truthmark diff --git a/.opencode/skills/truthmark-document/support/helper-policy.md b/.opencode/skills/truthmark-document/support/helper-policy.md index 9e87b00..671d0c4 100644 --- a/.opencode/skills/truthmark-document/support/helper-policy.md +++ b/.opencode/skills/truthmark-document/support/helper-policy.md @@ -1,18 +1,18 @@ # Optional Helper CLI Policy -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. -Optional helper CLI commands may collect deterministic checkout facts or validate artifacts. If the Truthmark CLI is unavailable or too old for a declared helper, continue manually using this procedure and report which helper was skipped. Helper output is derived evidence; it does not override direct checkout inspection, workflow write boundaries, or parent acceptance. +Optional helper CLI commands may collect deterministic checkout facts or validate artifacts. If the Truthmark CLI is unavailable or cannot return the declared helper output, continue manually using this procedure and report which helper was skipped. Helper output is derived evidence; it does not override direct checkout inspection, workflow write boundaries, or parent acceptance. Runner detection: -- Check the declared Truthmark CLI runner before invoking a helper. +- Check that the declared Truthmark CLI runner is available before invoking a helper. - Invoke helpers through the installed `truthmark validate ... --json` CLI command using argv-style arguments from helper-manifest.yml. -- If unavailable or version-mismatched, treat the helper as skipped and use the manual fallback. +- If unavailable, failing, or returning incompatible output, treat the helper as skipped and use the manual fallback. - Do not fail the workflow solely because a helper cannot run. Available helpers: -- validate-document-report: optional truthmark>=2.2.1; manual fallback: manually validate support/report-template.md required sections and structured Evidence checked entries -- validate-write-lease: optional truthmark>=2.2.1; manual fallback: manually compare declared allowedWrites and forbiddenWrites with the actual changed files +- validate-document-report: optional truthmark; manual fallback: manually validate support/report-template.md required sections and structured Evidence checked entries +- validate-write-lease: optional truthmark; manual fallback: manually compare declared allowedWrites and forbiddenWrites with the actual changed files Final reports should include helper status when helpers are declared for this workflow: diff --git a/.opencode/skills/truthmark-document/support/procedure.md b/.opencode/skills/truthmark-document/support/procedure.md index db0602c..bbf485a 100644 --- a/.opencode/skills/truthmark-document/support/procedure.md +++ b/.opencode/skills/truthmark-document/support/procedure.md @@ -1,6 +1,6 @@ # Truthmark Document Procedure -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. # Truthmark Document @@ -19,13 +19,13 @@ Truth Document is manual and implementation-first: - product-lane writes belong under docs/truthmark/product and state product promises, boundaries, rationale, decisions, and success criteria - engineering-lane writes belong under docs/truthmark/engineering and state source-backed current realization, contracts, architecture, workflows, operations, or tests - both-lane work must write separate product and engineering docs and cross-link them in route YAML with realized_by and realizes, not in doc frontmatter - - ambiguous lane ownership must block or invoke Truth Structure instead of writing a mixed document + - ambiguous lane ownership must stop or invoke Truth Structure instead of writing a mixed document - Do not make product docs a summary of engineering docs. Do not make engineering docs a detailed version of product docs. Product truth says what must be true and why. Engineering truth says how the repository currently realizes it. - document current implemented behavior; do not invent future behavior or planned endpoints - may write canonical truth docs and docs/truthmark/routes/areas.md or relevant child route files only - must not write functional code - when routing is missing, stale, broad, overloaded, catch-all, or cannot map the behavior to a bounded truth owner, run Truth Structure first when routing repair is safe and in scope -- block and recommend Truth Structure when routing repair is unsafe, ambiguous, or outside the task boundary +- stop and recommend Truth Structure when routing repair is unsafe, ambiguous, or outside the task boundary - keep feature README.md files as indexes rather than truth-document targets - create or update bounded leaf truth docs when behavior does not fit an existing leaf doc - write product capability/boundary truth under docs/truthmark/product when documenting product promise, boundary, rationale, or user/stakeholder value @@ -34,23 +34,23 @@ Truth Document is manual and implementation-first: - keep engineering behavior truth behavior-oriented, not endpoint-oriented, unless the endpoint itself is the behavior boundary - keep API endpoint details in the nearest contract truth doc when such a doc owns the API contract - preserve unrelated authored content -Truth-doc ownership gate: +Truth-doc ownership review: - before editing or relying on the implemented behavior and candidate truth docs, verify each target/source truth doc is a bounded owner for the behavior - if a target/source doc mixes independent owners, spans unrelated behaviors, acts as an index, or needs cross-owner edits, do not patch or in-place repair it -- if the target doc is broad, mixed-owner, index-like, or the documented behavior spans independent owners, run Truth Structure first when safe and in scope; otherwise block and recommend Truth Structure -- report Ownership reviewed, Structure required, Truth docs split, Truth docs restructured, or Blocked reason as applicable -Decision/Rationale preservation gate: +- if the target doc is broad, mixed-owner, index-like, or the documented behavior spans independent owners, run Truth Structure first when safe and in scope; otherwise stop and recommend Truth Structure +- report Ownership reviewed, Structure required, Truth docs split, Truth docs restructured, or Manual handoff reason as applicable +Decision/Rationale preservation review: - before any truth-doc split, restructure, or shape repair, inventory existing Product Decisions, Engineering Decisions, and Rationale sections in every source or touched truth doc - preserve each current decision and rationale in the correct product or engineering lane owner; when splitting, move it to the new owner doc rather than deleting it or leaving it in an index - remove or narrow a decision or rationale only when checkout evidence shows it is stale or unsupported, and report the exact claim, evidence, and result -- if ownership of a decision or rationale is unclear, block with manual-review files instead of deleting it or guessing +- if ownership of a decision or rationale is unclear, stop with manual-review files instead of deleting it or guessing - after the edit, verify every touched truth doc keeps lane-appropriate decision/rationale sections and every pre-existing entry is preserved, moved, narrowed, removed with evidence, or blocked -Evidence Gate: +Evidence checklist: - route-first: map the documented behavior to bounded route owners and primary canonical docs - review new or changed behavior-bearing claims only in touched docs, route ownership, lane-specific decisions, and rationale - support claims with primary checkout evidence: implementation, config, routing, generated templates, schemas, or contract definitions - tests/examples/canonical docs corroborate; they are not sole proof when implementation conflicts -- remove, narrow, or block unsupported claims +- remove, narrow, or record unsupported claims for manual handoff - if no truth doc changed, report why current truth was already sufficient or why documentation was blocked Repository intelligence artifacts are optional derived context: RepoIndex, RouteMap, ImpactSet, and WorkflowState/action context may guide routing, write boundaries, and verification planning when available. They do not override checkout evidence, canonical truth docs, route files, or workflow write boundaries. @@ -61,12 +61,12 @@ Treat the HTML comments under each template section as normative authoring guida Align existing docs to that template and write or repair section content so it satisfies the comment guidance while preserving accurate authored content. If the template is missing, use lane-specific sections: product truth says what must be true and why; engineering truth says how the repository currently realizes it. Teams may edit template files under the configured Truthmark templates root to define their local truth-doc standards. -Truth-doc shape repair gate: +Truth-doc shape repair review: - Truth Document may restructure only truth docs for the implemented behavior being documented. -- repair shape in place only after the ownership gate confirms the doc is the right bounded owner +- repair shape in place only after the ownership review confirms the doc is the right bounded owner - use Truth Structure for ownership splits; do not treat broad or mixed-owner docs as in-place repair work - repair shape when a narrow edit would make truth worse: missing template sections, stale evidence conflicts, cross-section updates within one owner, or wrong frontmatter/source/headings -- preserve supported claims; remove, narrow, or block unsupported or stale claims +- preserve supported claims; remove, narrow, or record unsupported or stale claims for manual handoff - report docs restructured and why a narrow edit was not sufficient Maintain architecture docs only for structure-level changes: system structure, module boundaries, runtime topology, persistence boundaries, cross-cutting contracts, or generated-surface ownership. Keep ordinary behavior, endpoints, UI copy, validation rules, and bug fixes in behavior or contract docs unless they change those boundaries. @@ -87,6 +87,6 @@ Helper status reporting: - Helper output is derived evidence and never replaces direct checkout inspection, evidence review, or parent acceptance. Parent post-document verification: - verify only truth docs and leased truth routing files changed during document work -- block on functional code, generated host surfaces, or unrelated diffs caused by document work -- for each write lease, validate the worker report against the actual worker diff, allowedWrites, forbiddenWrites, identity fields, filesChanged, offLeaseChanges, blockers, and required report fields before accepting it -- verify the final report records ownership review, structure requirement, restructure, routing update, or blocked reason when applicable +- stop on functional code, generated host surfaces, or unrelated diffs caused by document work +- for each write lease, validate the worker report against the actual worker diff, allowedWrites, forbiddenWrites, identity fields, filesChanged, offLeaseChanges, blockers, and expected report fields before accepting it +- verify the final report records ownership review, structure requirement, restructure, routing update, or manual handoff reason when applicable diff --git a/.opencode/skills/truthmark-document/support/report-template.md b/.opencode/skills/truthmark-document/support/report-template.md index ae3ce4c..b0b05df 100644 --- a/.opencode/skills/truthmark-document/support/report-template.md +++ b/.opencode/skills/truthmark-document/support/report-template.md @@ -1,6 +1,6 @@ # Truthmark Document Report Template -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Report completion in this shape: ```md diff --git a/.opencode/skills/truthmark-document/support/subagents-and-leases.md b/.opencode/skills/truthmark-document/support/subagents-and-leases.md index 274c450..47a8cee 100644 --- a/.opencode/skills/truthmark-document/support/subagents-and-leases.md +++ b/.opencode/skills/truthmark-document/support/subagents-and-leases.md @@ -1,6 +1,6 @@ # Truthmark Document Subagents And Leases -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. OpenCode subagent mode: - use automatically when this workflow runs in OpenCode and the parent agent chooses bounded subagent fan-out diff --git a/.opencode/skills/truthmark-portal/SKILL.md b/.opencode/skills/truthmark-portal/SKILL.md index 2aa77d0..75aaabb 100644 --- a/.opencode/skills/truthmark-portal/SKILL.md +++ b/.opencode/skills/truthmark-portal/SKILL.md @@ -3,7 +3,6 @@ name: truthmark-portal description: Use when the user explicitly asks to generate, refresh, or update the Truthmark Portal static HTML site. Not for code change sync, route repair, truth validation/checking, documenting behavior, realizing docs into code, or machine-readable agent context. argument-hint: Optional portal generation focus user-invocable: true -truthmark-version: 2.2.1 --- # Truthmark Portal @@ -14,7 +13,7 @@ Invocations: OpenCode /skill truthmark-portal; Codex /truthmark-portal or $truth Quick procedure: - Follow repository instruction files that exist in this checkout; do not assume any optional policy path exists. -- Truthmark Portal is manual-only; never run it as a completion gate and never treat it as Truth Sync. +- Truthmark Portal is manual-only; never run it automatically at completion and never treat it as Truth Sync. - Markdown remains canonical; generated HTML is non-canonical presentation only. - Read Markdown directly; the workflow does not require the truthmark CLI or package. - Generate committed, generated non-canonical static files for humans. @@ -25,5 +24,5 @@ Quick procedure: - Read support/report-template.md before the final report. Progressive disclosure: -- support/procedure.md — read before edits or detailed auditing; contains core quality gates +- support/procedure.md — read before edits or detailed auditing; contains core review questions - support/report-template.md — read before the final report diff --git a/.opencode/skills/truthmark-portal/support/procedure.md b/.opencode/skills/truthmark-portal/support/procedure.md index 671435b..f04d2d1 100644 --- a/.opencode/skills/truthmark-portal/support/procedure.md +++ b/.opencode/skills/truthmark-portal/support/procedure.md @@ -1,10 +1,10 @@ # Truthmark Portal Procedure -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. # Truthmark Portal -Truthmark Portal is a manual-only presentation workflow. It is never a completion gate, never Truth Sync, and runs only when the user explicitly asks to generate, refresh, or update the committed static HTML Portal. +Truthmark Portal is a manual-only presentation workflow. It is never an automatic completion workflow, never Truth Sync, and runs only when the user explicitly asks to generate, refresh, or update the committed static HTML Portal. Invocations: OpenCode /skill truthmark-portal; Codex /truthmark-portal or $truthmark-portal; Claude Code /truthmark-portal; GitHub Copilot /truthmark-portal; Gemini CLI /truthmark:portal. diff --git a/.opencode/skills/truthmark-portal/support/report-template.md b/.opencode/skills/truthmark-portal/support/report-template.md index ec72660..3be2266 100644 --- a/.opencode/skills/truthmark-portal/support/report-template.md +++ b/.opencode/skills/truthmark-portal/support/report-template.md @@ -1,6 +1,6 @@ # Truthmark Portal Report Template -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Report completion in this shape: diff --git a/.opencode/skills/truthmark-preview/SKILL.md b/.opencode/skills/truthmark-preview/SKILL.md index 5a8a993..2364bd6 100644 --- a/.opencode/skills/truthmark-preview/SKILL.md +++ b/.opencode/skills/truthmark-preview/SKILL.md @@ -3,7 +3,6 @@ name: truthmark-preview description: Use when the user explicitly asks to preview likely workflow routing, target files, writes, or subagent use before edits. Not for validation, automatic gates, final correctness, or replacing Truth Check. argument-hint: Optional requested outcome, code area, doc path, or routing question user-invocable: true -truthmark-version: 2.2.1 --- # Truthmark Preview @@ -21,6 +20,6 @@ Quick procedure: - Hand off to the selected workflow after user approval. Progressive disclosure: -- support/procedure.md — read before edits or detailed auditing; contains core quality gates +- support/procedure.md — read before edits or detailed auditing; contains core review questions - support/report-template.md — read before the final report - support/subagents-and-leases.md — read only when using subagents, leases, or accepting worker output diff --git a/.opencode/skills/truthmark-preview/support/procedure.md b/.opencode/skills/truthmark-preview/support/procedure.md index 5d608e9..828cbda 100644 --- a/.opencode/skills/truthmark-preview/support/procedure.md +++ b/.opencode/skills/truthmark-preview/support/procedure.md @@ -1,6 +1,6 @@ # Truthmark Preview Procedure -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Use this skill only when the user explicitly asks to preview Truthmark routing or workflow choice before edits. @@ -9,7 +9,7 @@ Invocations: OpenCode /skill truthmark-preview; Codex /truthmark-preview or $tru Truth Preview is read-only. Its report is intended, not authorized. Purpose: -- preview the likely Truthmark workflow, route owner, target files, expected write classes, suggested subagent use, and blocking ambiguity before edits happen +- preview the likely Truthmark workflow, route owner, target files, expected write classes, suggested subagent use, and manual handoff questions before edits happen - report likely product lane impact, engineering lane impact, target docs, and ambiguity before edits - hand off to the selected workflow after user approval - keep the selector thin so agents can avoid loading or acting through heavier workflows prematurely @@ -27,7 +27,7 @@ Read: - product-lane ownership belongs under docs/truthmark/product and describes product promises, boundaries, rationale, decisions, and success criteria - engineering-lane ownership belongs under docs/truthmark/engineering and describes source-backed current realization, contracts, architecture, workflows, operations, or tests - both-lane ownership uses separate product and engineering docs cross-linked in route YAML with realized_by and realizes, not in doc frontmatter - - ambiguous lane ownership should be reported as blocked or routed to Truth Structure + - ambiguous lane ownership should be reported for manual handoff or routed to Truth Structure - Do not make product docs a summary of engineering docs. Do not make engineering docs a detailed version of product docs. Product truth says what must be true and why. Engineering truth says how the repository currently realizes it. Do not: diff --git a/.opencode/skills/truthmark-preview/support/report-template.md b/.opencode/skills/truthmark-preview/support/report-template.md index 9e697be..e0531b4 100644 --- a/.opencode/skills/truthmark-preview/support/report-template.md +++ b/.opencode/skills/truthmark-preview/support/report-template.md @@ -1,6 +1,6 @@ # Truthmark Preview Report Template -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Report completion in this shape: ```md @@ -35,7 +35,7 @@ Suggested subagent use: - write workers: none in Preview - leases needed: none in Preview -Blocking ambiguity: +Manual handoff questions: - none identified in preview Handoff: diff --git a/.opencode/skills/truthmark-preview/support/subagents-and-leases.md b/.opencode/skills/truthmark-preview/support/subagents-and-leases.md index 91679c8..34620b6 100644 --- a/.opencode/skills/truthmark-preview/support/subagents-and-leases.md +++ b/.opencode/skills/truthmark-preview/support/subagents-and-leases.md @@ -1,6 +1,6 @@ # Truthmark Preview Subagents And Leases -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. OpenCode subagent mode: - use automatically when this workflow runs in OpenCode and the parent agent chooses bounded subagent fan-out diff --git a/.opencode/skills/truthmark-realize/SKILL.md b/.opencode/skills/truthmark-realize/SKILL.md index bcf5912..494bd1a 100644 --- a/.opencode/skills/truthmark-realize/SKILL.md +++ b/.opencode/skills/truthmark-realize/SKILL.md @@ -3,7 +3,6 @@ name: truthmark-realize description: Use when the user explicitly asks to realize Truthmark truth docs into code, including /truthmark-realize, $truthmark-realize, or /truthmark:realize. Not for syncing docs after code changes, documenting existing code, topology repair, or truth audits. argument-hint: Optional truth doc path, area, or desired code behavior to realize user-invocable: true -truthmark-version: 2.2.1 --- # Truthmark Realize @@ -21,5 +20,5 @@ Quick procedure: - Read support/report-template.md before the final report. Progressive disclosure: -- support/procedure.md — read before edits or detailed auditing; contains core quality gates +- support/procedure.md — read before edits or detailed auditing; contains core review questions - support/report-template.md — read before the final report diff --git a/.opencode/skills/truthmark-realize/support/procedure.md b/.opencode/skills/truthmark-realize/support/procedure.md index bc86afe..f587ef7 100644 --- a/.opencode/skills/truthmark-realize/support/procedure.md +++ b/.opencode/skills/truthmark-realize/support/procedure.md @@ -1,6 +1,6 @@ # Truthmark Realize Procedure -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. # Truthmark Realize @@ -20,11 +20,11 @@ Workflow: 2. Inspect .truthmark/config.yml and configured route files (docs/truthmark/routes/areas.md; docs/truthmark/routes/areas/) only when they exist; then read tests and the relevant functional code. 3. Repository instruction files and explicitly configured policy docs remain instruction authority when present; do not assume a repository uses any particular policy path. Implementation code and canonical truth docs are inspected evidence for current behavior; they do not silently override workflow write boundaries. -Truth-doc ownership gate: +Truth-doc ownership review: - before editing or relying on source truth docs before writing code, verify each target/source truth doc is a bounded owner for the behavior - if a target/source doc mixes independent owners, spans unrelated behaviors, acts as an index, or needs cross-owner edits, do not patch or in-place repair it -- if a source truth doc is broad, mixed-owner, index-like, unrouteable, stale, or conflicts with implementation evidence, block before writing code and recommend Truth Structure or Truth Document -- report Ownership reviewed, Structure required, Truth docs split, Truth docs restructured, or Blocked reason as applicable +- if a source truth doc is broad, mixed-owner, index-like, unrouteable, stale, or conflicts with implementation evidence, stop before writing code and recommend Truth Structure or Truth Document +- report Ownership reviewed, Structure required, Truth docs split, Truth docs restructured, or Manual handoff reason as applicable 4. Update functional code only so implementation matches bounded, current truth claims from the source docs. 5. Do not edit truth docs or truth routing while realizing those docs. 6. Run relevant tests for the changed code. diff --git a/.opencode/skills/truthmark-realize/support/report-template.md b/.opencode/skills/truthmark-realize/support/report-template.md index 4e55a01..730b19e 100644 --- a/.opencode/skills/truthmark-realize/support/report-template.md +++ b/.opencode/skills/truthmark-realize/support/report-template.md @@ -1,6 +1,6 @@ # Truthmark Realize Report Template -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Report completion in this shape: diff --git a/.opencode/skills/truthmark-structure/SKILL.md b/.opencode/skills/truthmark-structure/SKILL.md index 01b08c6..4dccdce 100644 --- a/.opencode/skills/truthmark-structure/SKILL.md +++ b/.opencode/skills/truthmark-structure/SKILL.md @@ -3,7 +3,6 @@ name: truthmark-structure description: Use when routing or truth ownership is missing, stale, broad, overloaded, catch-all, unrouteable, mixed-owner, needs split/repair, or needs new area setup. Not for documenting implemented behavior, syncing a code diff, or realizing docs into code. argument-hint: Optional area, directory, or routing concern user-invocable: true -truthmark-version: 2.2.1 --- # Truthmark Structure @@ -21,6 +20,6 @@ Quick procedure: - Read support/report-template.md before the final report. Progressive disclosure: -- support/procedure.md — read before edits or detailed auditing; contains core quality gates +- support/procedure.md — read before edits or detailed auditing; contains core review questions - support/report-template.md — read before the final report - support/subagents-and-leases.md — read only when using subagents, leases, or accepting worker output diff --git a/.opencode/skills/truthmark-structure/support/procedure.md b/.opencode/skills/truthmark-structure/support/procedure.md index 1588ce5..2a8ecb6 100644 --- a/.opencode/skills/truthmark-structure/support/procedure.md +++ b/.opencode/skills/truthmark-structure/support/procedure.md @@ -1,6 +1,6 @@ # Truthmark Structure Procedure -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Use this skill to design or repair Truthmark area structure. Invocations: OpenCode /skill truthmark-structure; Codex /truthmark-structure or $truthmark-structure; Claude Code /truthmark-structure; GitHub Copilot /truthmark-structure; Gemini CLI /truthmark:structure. @@ -14,7 +14,7 @@ Truth Structure is agent-native: - product-lane writes belong under docs/truthmark/product and state product promises, boundaries, rationale, decisions, and success criteria - engineering-lane writes belong under docs/truthmark/engineering and state source-backed current realization, contracts, architecture, workflows, operations, or tests - both-lane work must write separate product and engineering docs and cross-link them in route YAML with realized_by and realizes, not in doc frontmatter - - ambiguous lane ownership must block or invoke Truth Structure instead of writing a mixed document + - ambiguous lane ownership must stop or invoke Truth Structure instead of writing a mixed document - Do not make product docs a summary of engineering docs. Do not make engineering docs a detailed version of product docs. Product truth says what must be true and why. Engineering truth says how the repository currently realizes it. - inspect the configured root route index at docs/truthmark/routes/areas.md and relevant child route files under docs/truthmark/routes/areas/ when they exist - define areas by product or behavior ownership, not by mechanical directory mirroring @@ -39,7 +39,7 @@ Use when a user asks to onboard a new code area into Truthmark, a new package, c Do: - inspect the named code area - infer bounded product or behavior ownership -- choose the owning route when ownership is clear; otherwise propose the route and block for review +- choose the owning route when ownership is clear; otherwise propose the route and stop for manual review - create or update the child route entry or file - create starter truth docs only where current truth is missing - report the initial truth boundary @@ -53,16 +53,16 @@ Do not: Truth Structure owns documentation topology, lane splits, decision relocation, and relationship repair. Do not depend on humans to manually organize docs/truthmark/product or docs/truthmark/engineering. Treat both configured lane roots as managed semantic roots. Inspect controllers, routes, handlers, services, packages, tests, existing truth docs, and route files; infer product and domain ownership from behavior boundaries, not from mechanical directory mirroring. When topology pressure exists, repair structure before creating or extending truth docs. -Truth-doc ownership gate: +Truth-doc ownership review: - before editing or relying on candidate route owners and current truth docs, verify each target/source truth doc is a bounded owner for the behavior - if a target/source doc mixes independent owners, spans unrelated behaviors, acts as an index, or needs cross-owner edits, do not patch or in-place repair it -- if a truth doc mixes independent owners, route ownership is broad, or a split is required for bounded ownership, split and reroute into bounded truth docs when safe; otherwise block with manual-review files -- report Ownership reviewed, Structure required, Truth docs split, Truth docs restructured, or Blocked reason as applicable -Decision/Rationale preservation gate: +- if a truth doc mixes independent owners, route ownership is broad, or a split is required for bounded ownership, split and reroute into bounded truth docs when safe; otherwise stop with manual-review files +- report Ownership reviewed, Structure required, Truth docs split, Truth docs restructured, or Manual handoff reason as applicable +Decision/Rationale preservation review: - before any truth-doc split, restructure, or shape repair, inventory existing Product Decisions, Engineering Decisions, and Rationale sections in every source or touched truth doc - preserve each current decision and rationale in the correct product or engineering lane owner; when splitting, move it to the new owner doc rather than deleting it or leaving it in an index - remove or narrow a decision or rationale only when checkout evidence shows it is stale or unsupported, and report the exact claim, evidence, and result -- if ownership of a decision or rationale is unclear, block with manual-review files instead of deleting it or guessing +- if ownership of a decision or rationale is unclear, stop with manual-review files instead of deleting it or guessing - after the edit, verify every touched truth doc keeps lane-appropriate decision/rationale sections and every pre-existing entry is preserved, moved, narrowed, removed with evidence, or blocked Topology pressure signals: - one area maps broad code such as src/**, app/**, server/**, services/**, or packages/** @@ -90,17 +90,17 @@ Repair rules: - update routing so future Truth Sync can target small docs - preserve existing authored docs; move or rewrite only when needed to remove ambiguity - report Truth docs split when one broad or mixed-owner truth doc becomes multiple bounded docs -Truth-doc shape repair gate: +Truth-doc shape repair review: - Truth Structure may restructure broader routed docs when topology, ownership, or doc-shape repair is already in scope. -- repair shape in place only after the ownership gate confirms the doc is the right bounded owner +- repair shape in place only after the ownership review confirms the doc is the right bounded owner - use Truth Structure for ownership splits; do not treat broad or mixed-owner docs as in-place repair work - repair shape when a narrow edit would make truth worse: missing template sections, stale evidence conflicts, cross-section updates within one owner, or wrong frontmatter/source/headings -- preserve supported claims; remove, narrow, or block unsupported or stale claims +- preserve supported claims; remove, narrow, or record unsupported or stale claims for manual handoff - report docs restructured and why a narrow edit was not sufficient -Evidence Gate: -- apply the Evidence Gate before finishing when Truth Structure writes routed docs, ownership claims, lane-specific decisions, or rationale +Evidence checklist: +- apply the evidence checklist before finishing when Truth Structure writes routed docs, ownership claims, lane-specific decisions, or rationale - support ownership/behavior claims with topology or primary checkout evidence from layout, implementation boundaries, docs, config, route files, tests, templates, schemas, or contracts -- tests/examples/canonical docs corroborate; remove, narrow, or block unsupported claims +- tests/examples/canonical docs corroborate; remove, narrow, or record unsupported claims for manual handoff Maintain architecture docs only for structure-level changes: system structure, module boundaries, runtime topology, persistence boundaries, cross-cutting contracts, or generated-surface ownership. Keep ordinary behavior, endpoints, UI copy, validation rules, and bug fixes in behavior or contract docs unless they change those boundaries. - Do not finish topology repair with mixed product/engineering authority in a single canonical truth doc. diff --git a/.opencode/skills/truthmark-structure/support/report-template.md b/.opencode/skills/truthmark-structure/support/report-template.md index 5dc74e8..d615580 100644 --- a/.opencode/skills/truthmark-structure/support/report-template.md +++ b/.opencode/skills/truthmark-structure/support/report-template.md @@ -1,6 +1,6 @@ # Truthmark Structure Report Template -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Report completion in this shape: ```md diff --git a/.opencode/skills/truthmark-structure/support/subagents-and-leases.md b/.opencode/skills/truthmark-structure/support/subagents-and-leases.md index fb8efa0..0a4f3dd 100644 --- a/.opencode/skills/truthmark-structure/support/subagents-and-leases.md +++ b/.opencode/skills/truthmark-structure/support/subagents-and-leases.md @@ -1,6 +1,6 @@ # Truthmark Structure Subagents And Leases -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. OpenCode subagent mode: - use automatically when this workflow runs in OpenCode and the parent agent chooses bounded subagent fan-out diff --git a/.opencode/skills/truthmark-sync/SKILL.md b/.opencode/skills/truthmark-sync/SKILL.md index 47b6826..ecf0b61 100644 --- a/.opencode/skills/truthmark-sync/SKILL.md +++ b/.opencode/skills/truthmark-sync/SKILL.md @@ -3,7 +3,6 @@ name: truthmark-sync description: Use automatically at finish-time after functional code changes, or explicit /truthmark-sync, $truthmark-sync, or /truthmark:sync. Skip docs-only, formatting-only, behavior-preserving renames, missing config, and no-code changes. Not for doc-first realization or manual topology design. argument-hint: Optional changed-code area, truth-doc area, or sync focus user-invocable: true -truthmark-version: 2.2.1 --- # Truthmark Sync @@ -23,7 +22,7 @@ Quick procedure: - Read support/report-template.md before the final report. Progressive disclosure: -- support/procedure.md — read before edits or detailed auditing; contains core quality gates +- support/procedure.md — read before edits or detailed auditing; contains core review questions - support/report-template.md — read before the final report - support/subagents-and-leases.md — read only when using subagents, leases, or accepting worker output - helper-manifest.yml — read only when invoking helper validators or validating helper registration diff --git a/.opencode/skills/truthmark-sync/helper-manifest.yml b/.opencode/skills/truthmark-sync/helper-manifest.yml index 36c0434..64191b3 100644 --- a/.opencode/skills/truthmark-sync/helper-manifest.yml +++ b/.opencode/skills/truthmark-sync/helper-manifest.yml @@ -1,8 +1,8 @@ -# Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +# Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. helpers: validate-sync-report: optional: true - runner: truthmark>=2.2.1 + runner: truthmark command: argv: - truthmark @@ -17,7 +17,7 @@ helpers: fallback: "manually validate support/report-template.md and check Evidence checked entries match Claim, indented Evidence, and Result: supported | narrowed | removed | blocked" validate-write-lease: optional: true - runner: truthmark>=2.2.1 + runner: truthmark command: argv: - truthmark diff --git a/.opencode/skills/truthmark-sync/support/helper-policy.md b/.opencode/skills/truthmark-sync/support/helper-policy.md index d1831d6..4394d9d 100644 --- a/.opencode/skills/truthmark-sync/support/helper-policy.md +++ b/.opencode/skills/truthmark-sync/support/helper-policy.md @@ -1,18 +1,18 @@ # Optional Helper CLI Policy -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. -Optional helper CLI commands may collect deterministic checkout facts or validate artifacts. If the Truthmark CLI is unavailable or too old for a declared helper, continue manually using this procedure and report which helper was skipped. Helper output is derived evidence; it does not override direct checkout inspection, workflow write boundaries, or parent acceptance. +Optional helper CLI commands may collect deterministic checkout facts or validate artifacts. If the Truthmark CLI is unavailable or cannot return the declared helper output, continue manually using this procedure and report which helper was skipped. Helper output is derived evidence; it does not override direct checkout inspection, workflow write boundaries, or parent acceptance. Runner detection: -- Check the declared Truthmark CLI runner before invoking a helper. +- Check that the declared Truthmark CLI runner is available before invoking a helper. - Invoke helpers through the installed `truthmark validate ... --json` CLI command using argv-style arguments from helper-manifest.yml. -- If unavailable or version-mismatched, treat the helper as skipped and use the manual fallback. +- If unavailable, failing, or returning incompatible output, treat the helper as skipped and use the manual fallback. - Do not fail the workflow solely because a helper cannot run. Available helpers: -- validate-sync-report: optional truthmark>=2.2.1; manual fallback: manually validate support/report-template.md and check Evidence checked entries match Claim, indented Evidence, and Result: supported | narrowed | removed | blocked -- validate-write-lease: optional truthmark>=2.2.1; manual fallback: manually compare declared allowedWrites and forbiddenWrites with the actual changed files +- validate-sync-report: optional truthmark; manual fallback: manually validate support/report-template.md and check Evidence checked entries match Claim, indented Evidence, and Result: supported | narrowed | removed | blocked +- validate-write-lease: optional truthmark; manual fallback: manually compare declared allowedWrites and forbiddenWrites with the actual changed files Final reports should include helper status when helpers are declared for this workflow: diff --git a/.opencode/skills/truthmark-sync/support/procedure.md b/.opencode/skills/truthmark-sync/support/procedure.md index 6270aab..988dc1f 100644 --- a/.opencode/skills/truthmark-sync/support/procedure.md +++ b/.opencode/skills/truthmark-sync/support/procedure.md @@ -1,10 +1,10 @@ # Truthmark Sync Procedure -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Use this skill automatically before finishing when functional code changed since the last successful Truth Sync. Also run it immediately when the user explicitly invokes Truth Sync. Invocations: OpenCode /skill truthmark-sync; Codex /truthmark-sync or $truthmark-sync; Claude Code /truthmark-sync; GitHub Copilot /truthmark-sync; Gemini CLI /truthmark:sync. -Explicit invocation runs immediately. Later functional-code changes reopen the finish-time requirement, and an earlier explicit run satisfies the finish gate only if no later functional-code changes occur. +Explicit invocation runs immediately. Later functional-code changes need a fresh finish-time review, and an earlier explicit run satisfies the finish-time review only if no later functional-code changes occur. Skip when changes are documentation-only, formatting-only, clearly behavior-preserving renames with no truth impact, when no Truthmark config exists yet, or when there are no functional code changes. Parent workflow: 1. Inspect git status, staged changes, unstaged changes, and untracked files directly. @@ -13,36 +13,46 @@ Parent workflow: 4. Evidence authority: - Repository instruction files and explicitly configured policy docs remain instruction authority when present; do not assume a repository uses any particular policy path. - Implementation code and canonical truth docs are inspected evidence for current behavior; they do not silently override workflow write boundaries. -5. Lane classification gate: - - before writing canonical truth docs, classify the request or change as product-lane, engineering-lane, both-lane, or ambiguous - - product-lane writes belong under docs/truthmark/product and state product promises, boundaries, rationale, decisions, and success criteria - - engineering-lane writes belong under docs/truthmark/engineering and state source-backed current realization, contracts, architecture, workflows, operations, or tests - - both-lane work must write separate product and engineering docs and cross-link them in route YAML with realized_by and realizes, not in doc frontmatter - - ambiguous lane ownership must block or invoke Truth Structure instead of writing a mixed document - - Do not make product docs a summary of engineering docs. Do not make engineering docs a detailed version of product docs. Product truth says what must be true and why. Engineering truth says how the repository currently realizes it. -6. Update engineering truth first after code changes. Update product truth only when implemented user-visible product promise or capability boundary changed and explicit source/user evidence supports it; otherwise report product-lane review needed. -7. Code verification is parent-owned: follow repository instructions and task context, and report what ran or why it did not run. -8. Dispatch bounded Truth Sync workers only when the host supports subagent dispatch and the acting agent chooses that path; otherwise execute the same sync task inline. -Topology quality gate: +5. Product truth decision: + - ask whether a user-visible promise, capability boundary, API contract, acceptance criterion, or explicit user/product evidence changed + - if yes, update or route product truth under docs/truthmark/product as well as engineering truth under docs/truthmark/engineering + - if no, default to engineering truth under docs/truthmark/engineering for internal implementation changes + - when both lanes change, keep separate product and engineering docs cross-linked through route YAML with realized_by and realizes + - when ownership is ambiguous, stop or route to Truth Structure instead of writing a mixed document +6. Capture decision context from the task conversation: ask whether the user provided a product or technical decision, rationale, constraint, tradeoff, rejection reason, or scope boundary. Preserve concise user-provided decision rationale in Sync Intent before truth edits, route it to Product Decisions, Engineering Decisions, Rationale, Capability Scope, Non-Goals, Maintenance Notes, or the relevant workflow/contract section, and report whether it was placed, skipped because none was provided, or needs manual handoff. +7. Update engineering truth first after code changes. Product truth is opt-in for externally visible promises, product boundaries, APIs, acceptance criteria, or explicit user/product evidence. +8. Code verification is parent-owned: follow repository instructions and task context, and report what ran or why it did not run. +9. Dispatch bounded Truth Sync workers only when the host supports subagent dispatch and the acting agent chooses that path; otherwise execute the same sync task inline. +10. Fill Sync Intent before editing truth docs or truth routing files: + - Changed code reviewed: functional files, tests, configs, generated outputs, or other implementation evidence inspected + - Affected route/truth owner: bounded route area or canonical truth owner that maps the change + - Target truth docs: docs expected to change, or docs reviewed and left unchanged + - Intended update: claim/doc/routing update planned before writing + - Evidence to verify: checkout evidence that will support, narrow, remove, or record each claim for manual handoff + - User-provided decisions/rationale: decisions, rationale, constraints, tradeoffs, rejection reasons, or scope boundaries from the current task conversation, or "none provided" + - No-update-needed rationale: why mapped truth is already current when no truth doc should change + - Blockers: missing routing, ambiguous ownership, failed verification, unavailable evidence, or off-boundary write needs +11. Only edit allowed truth docs/routes after Sync Intent is clear; if ownership is ambiguous, stop and recommend Truth Structure instead of guessing. +Topology review: - before updating truth docs, verify the changed code resolves to a specific behavior-owned area and bounded truth owner - if routing is missing, stale, broad, overloaded, catch-all route only, or cannot map changed code to a bounded truth owner, do not create another generic truth doc - run Truth Structure before syncing when topology repair is safe and in scope -- block and recommend Truth Structure when topology repair is unsafe, ambiguous, or outside the current task boundary +- stop and recommend Truth Structure when topology repair is unsafe, ambiguous, or outside the current task boundary - report the route files and changed code paths that require structure repair - README.md files are indexes, not Truth Sync targets - must not append behavior details to a README.md index - create or update a bounded leaf truth doc when behavior changes do not fit an existing leaf doc - write engineering truth under docs/truthmark/engineering; product truth updates under docs/truthmark/product are allowed only for explicit current product behavior changes -Truth-doc ownership gate: +Truth-doc ownership review: - before editing or relying on changed functional files and impacted truth docs, verify each target/source truth doc is a bounded owner for the behavior - if a target/source doc mixes independent owners, spans unrelated behaviors, acts as an index, or needs cross-owner edits, do not patch or in-place repair it -- if an impacted doc is broad, mixed-owner, index-like, or the update spans independent behavior owners, run Truth Structure before syncing when safe and in scope; otherwise block and recommend Truth Structure -- report Ownership reviewed, Structure required, Truth docs split, Truth docs restructured, or Blocked reason as applicable -Decision/Rationale preservation gate: +- if an impacted doc is broad, mixed-owner, index-like, or the update spans independent behavior owners, run Truth Structure before syncing when safe and in scope; otherwise stop and recommend Truth Structure +- report Ownership reviewed, Structure required, Truth docs split, Truth docs restructured, or Manual handoff reason as applicable +Decision/Rationale preservation review: - before any truth-doc split, restructure, or shape repair, inventory existing Product Decisions, Engineering Decisions, and Rationale sections in every source or touched truth doc - preserve each current decision and rationale in the correct product or engineering lane owner; when splitting, move it to the new owner doc rather than deleting it or leaving it in an index - remove or narrow a decision or rationale only when checkout evidence shows it is stale or unsupported, and report the exact claim, evidence, and result -- if ownership of a decision or rationale is unclear, block with manual-review files instead of deleting it or guessing +- if ownership of a decision or rationale is unclear, stop with manual-review files instead of deleting it or guessing - after the edit, verify every touched truth doc keeps lane-appropriate decision/rationale sections and every pre-existing entry is preserved, moved, narrowed, removed with evidence, or blocked When creating or updating a truth doc, inspect the routed truth kind and use the matching template under the configured Truthmark templates root. Supported kinds: product-capability, engineering-behavior, engineering-contract, engineering-architecture, engineering-workflow, engineering-operations, and engineering-test-behavior. @@ -50,21 +60,21 @@ Treat the HTML comments under each template section as normative authoring guida Align existing docs to that template and write or repair section content so it satisfies the comment guidance while preserving accurate authored content. If the template is missing, use lane-specific sections: product truth says what must be true and why; engineering truth says how the repository currently realizes it. Teams may edit template files under the configured Truthmark templates root to define their local truth-doc standards. -Truth-doc shape repair gate: +Truth-doc shape repair review: - Truth Sync may restructure leased canonical truth docs when the current sync evidence shows repository truth is stale, even when the doc is outside the initially affected route focus. -- repair shape in place only after the ownership gate confirms the doc is the right bounded owner +- repair shape in place only after the ownership review confirms the doc is the right bounded owner - use Truth Structure for ownership splits; do not treat broad or mixed-owner docs as in-place repair work - repair shape when a narrow edit would make truth worse: missing template sections, stale evidence conflicts, cross-section updates within one owner, or wrong frontmatter/source/headings -- preserve supported claims; remove, narrow, or block unsupported or stale claims +- preserve supported claims; remove, narrow, or record unsupported or stale claims for manual handoff - report docs restructured and why a narrow edit was not sufficient Maintain architecture docs only for structure-level changes: system structure, module boundaries, runtime topology, persistence boundaries, cross-cutting contracts, or generated-surface ownership. Keep ordinary behavior, endpoints, UI copy, validation rules, and bug fixes in behavior or contract docs unless they change those boundaries. -Evidence Gate: +Evidence checklist: - route-first: map changed functional files to bounded route owners and primary canonical docs - review new or changed behavior-bearing claims only in touched docs, route ownership, lane-specific decisions, and rationale - support claims with primary checkout evidence: implementation, config, routing, generated templates, schemas, or contract definitions - tests/examples/canonical docs corroborate; they are not sole proof when implementation conflicts -- remove, narrow, or block unsupported claims +- remove, narrow, or record unsupported claims for manual handoff - if no impacted doc changed, report why truth was already current or why sync was skipped Repository intelligence artifacts are optional derived context: RepoIndex, RouteMap, ImpactSet, and WorkflowState/action context may guide routing, write boundaries, and verification planning when available. They do not override checkout evidence, canonical truth docs, route files, or workflow write boundaries. @@ -91,10 +101,10 @@ Do not create separate active-decision ADR/planning logs; replace the active dec Product decisions belong in product truth; engineering, architecture, contract, workflow, and operational decisions belong in engineering truth. Parent post-sync verification: - verify only truth docs and leased truth routing files changed during sync -- block on any unrelated diff caused by the sync step -- block if functional code changed during sync -- for each write lease, validate the worker report against the actual worker diff, allowedWrites, forbiddenWrites, identity fields, filesChanged, offLeaseChanges, blockers, and required report fields before accepting it +- stop on any unrelated diff caused by the sync step +- stop if functional code changed during sync +- for each write lease, validate the worker report against the actual worker diff, allowedWrites, forbiddenWrites, identity fields, filesChanged, offLeaseChanges, blockers, and expected report fields before accepting it - validate the final report against the structured Truth Sync report contract, including Claim, indented Evidence, and Result values supported, narrowed, removed, or blocked under Evidence checked - verify the updated docs correspond to reviewed checkout evidence, changed-code impact, or a recorded stale-truth correction made within the sync write lease -- verify the final report records ownership review, structure requirement, split, restructure, or blocked reason when the ownership gate fired -- blocked outcomes must preserve the working tree as-is: no rollback, no post-block cleanup edits, and manual-review reporting of any remaining files +- verify the final report records ownership review, structure requirement, split, restructure, or manual handoff reason when the ownership review applies +- manual handoff outcomes must preserve the working tree as-is: no rollback, no post-block cleanup edits, and manual-review reporting of any remaining files diff --git a/.opencode/skills/truthmark-sync/support/report-template.md b/.opencode/skills/truthmark-sync/support/report-template.md index 52f0ec1..d290cc5 100644 --- a/.opencode/skills/truthmark-sync/support/report-template.md +++ b/.opencode/skills/truthmark-sync/support/report-template.md @@ -1,6 +1,6 @@ # Truthmark Sync Report Template -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. Report completion in this shape: ```md @@ -9,11 +9,24 @@ Truth Sync: completed Changed code reviewed: - src/auth/session.ts +Sync Intent: +- Changed code reviewed: src/auth/session.ts +- Affected route/truth owner: docs/truthmark/routes/areas.md +- Target truth docs: docs/truthmark/engineering/repository/bootstrap-routing.md +- Intended update: Update session timeout behavior. +- Evidence to verify: src/auth/session.ts:12 / docs/truthmark/routes/areas.md:11 +- User-provided decisions/rationale: User rationale: session timeout behavior changed for internal implementation consistency +- No-update-needed rationale: not applicable; mapped truth is stale +- Blockers: none + Ownership reviewed: - docs/truthmark/routes/areas.md Truth docs updated: -- docs/truthmark/engineering/repository/overview.md +- docs/truthmark/engineering/repository/bootstrap-routing.md + +Decision/rationale captured: +- Placed user rationale in the mapped engineering truth doc under Engineering Decisions/Rationale. Evidence checked: - Claim: Session timeout behavior is documented in the mapped repository truth doc. diff --git a/.opencode/skills/truthmark-sync/support/subagents-and-leases.md b/.opencode/skills/truthmark-sync/support/subagents-and-leases.md index f7fe73d..98a7c00 100644 --- a/.opencode/skills/truthmark-sync/support/subagents-and-leases.md +++ b/.opencode/skills/truthmark-sync/support/subagents-and-leases.md @@ -1,6 +1,6 @@ # Truthmark Sync Subagents And Leases -Generated by Truthmark 2.2.1. Rerun truthmark init after upgrades. +Truthmark-managed generated file. Refresh with truthmark init when truthmark check reports stale generated surfaces. OpenCode subagent mode: - use automatically when this workflow runs in OpenCode and the parent agent chooses bounded subagent fan-out diff --git a/AGENTS.md b/AGENTS.md index 5901bf1..0444958 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -23,14 +23,14 @@ Read `docs/architecture/product-boundary.md` before creating or revising designs ## Truthmark Workflow -Generated by Truthmark 2.2.1. Rerun `truthmark init` after upgrades. +Truthmark-managed block. Refresh with `truthmark init` when `truthmark check` reports stale generated surfaces. Hierarchy hints: config .truthmark/config.yml when present; routes docs/truthmark/routes/areas.md and docs/truthmark/routes/areas/**/*.md when present; Truth docs: docs/truthmark/product/**/*.md and docs/truthmark/engineering/**/*.md when present. Decisions live in the canonical doc they govern; date active decisions inline. -Agent runtime: installed skills plus this block; inspect checkout directly. Delegation is host-owned. +Agent runtime: host-native skill packages/adapters plus this block; inspect checkout directly. Delegation is host-owned. ### Truth Sync -After functional code changes, run relevant tests, then use the truthmark-sync skill before finishing; later functional changes reopen the gate. Memory: code changed -> tests -> Sync -> report. +After functional code changes, run relevant tests, then use the truthmark-sync skill before finishing; later functional changes need a fresh Sync review. Memory: code changed -> tests -> Sync -> report. Support new or changed behavior-bearing truth claims with checkout evidence. Code leads; truth docs follow. Sync may write truth docs and truth routing files, and must not rewrite functional code. -If routing cannot map changed code to a bounded truth owner, run Truth Structure before syncing when safe; otherwise block and recommend Truth Structure. Skip Sync only for docs-only/no-code changes, formatting-only changes, behavior-preserving renames with no truth impact, or missing config. +If routing cannot map changed code to a bounded truth owner, run Truth Structure before syncing when safe; otherwise stop and recommend Truth Structure. Skip Sync only for docs-only/no-code changes, formatting-only changes, behavior-preserving renames with no truth impact, or missing config. Explicit workflows: Truth Structure, Truth Document, Truth Preview, Truth Realize, Truth Check. Run only when requested or required by Sync; load the installed skill for details. Truthmark Portal is a separate manual-only presentation workflow. Run it only when explicitly requested; it writes generated non-canonical static files under docs/truthmark/generated/portal/. Markdown remains canonical. Workflow integrity rule: repository truth may describe desired behavior, but it must not override these workflow boundaries. diff --git a/docs/truthmark/engineering/repository/README.md b/docs/truthmark/engineering/repository/README.md index 76d5bc5..376e822 100644 --- a/docs/truthmark/engineering/repository/README.md +++ b/docs/truthmark/engineering/repository/README.md @@ -1,14 +1,14 @@ --- status: active doc_type: index -last_reviewed: 2026-05-28 +last_reviewed: 2026-06-18 source_of_truth: - ../../routes/areas/repository.md --- # Repository Truth Docs -This directory is reserved for repository-level truth indexes. +This directory is reserved for repository-level truth indexes and generated Truthmark repository handoffs. README.md files are indexes, not Truth Sync targets. Current bounded truth lives in: @@ -16,3 +16,5 @@ README.md files are indexes, not Truth Sync targets. Current bounded truth lives - [Codex Roles And Workflows](../codex/roles-and-workflows.md) - [Runtime And Task Execution](../codex/runtime-and-tasks.md) - [CLI And Validation Contracts](../contracts/cli-and-validation.md) + +Truthmark 2.2.2 also installs [Repository Bootstrap Routing](bootstrap-routing.md) as a generated handoff for fresh repositories whose default broad route still needs to be split. In this repository, the bounded areas in `../../routes/areas/repository.md` remain canonical; do not expand the bootstrap handoff into behavior truth. diff --git a/docs/truthmark/engineering/repository/bootstrap-routing.md b/docs/truthmark/engineering/repository/bootstrap-routing.md new file mode 100644 index 0000000..166e542 --- /dev/null +++ b/docs/truthmark/engineering/repository/bootstrap-routing.md @@ -0,0 +1,82 @@ +--- +status: active +truth_kind: engineering-workflow +last_reviewed: 2026-06-18 +--- + +# Repository Bootstrap Routing + +## Purpose + +This doc records the provisional broad route for repository. +This doc is a bootstrap handoff, not a behavior truth dumping ground. +It is not a substitute for bounded product and engineering truth docs. + +## Scope + +This doc owns only the initial routing workflow for a fresh Truthmark repository whose default route still maps a broad code surface such as `src/**`. +It does not own implementation behavior under that code surface. + +## Current Implementation Behavior + +The scaffold creates this provisional bootstrap handoff only when a default broad route needs a canonical owner. Agents use it as a signal to run Truth Structure and create bounded routes before normal Truth Sync, not as a place to accumulate implementation claims. + +## Product Truth Links + +- None. This is an engineering bootstrap handoff for routing setup, not a product promise. + +## Triggers + +- A real code change maps only to this provisional broad route. +- Truth Sync cannot identify a specific behavior-owned route and bounded truth owner. +- A maintainer or agent is onboarding the first real product, service, domain, package, or ownership area. + +## Inputs + +- Current route files under the configured Truthmark route root. +- The touched code, tests, configuration, and existing docs needed to infer the smallest real owner. +- Repository instruction files that exist in the checkout. + +## Execution Model + +Run Truth Structure before normal Truth Sync when real code changes touch only this broad route. Truth Structure should create or repair bounded areas first; Truth Sync should then update the bounded owner docs. + +## Steps + +1. Treat this route as provisional and insufficient for normal behavior maintenance. +2. Inspect the touched code/test surface and infer the narrowest durable owner. +3. Create or repair route entries and truth docs for that owner. +4. Leave this bootstrap doc small; do not append behavior details here. +5. Resume Truth Sync only after the touched code resolves to a bounded owner. + +## State, Retry, And Failure Behavior + +If ownership cannot be inferred safely, stop and report manual-review files instead of widening this route or adding generic behavior prose. + +## Outputs + +- Bounded route areas and lane-appropriate truth docs for the touched surface. +- A compact manual handoff report when ownership remains ambiguous. + +## Engineering Decisions + +- Decision (2026-06-18): Default broad routing is provisional bootstrap state. Agents should create bounded areas before normal Truth Sync rather than extending a catch-all overview doc. + +## Rationale + +Scoped ownership keeps agent context close to affected files and prevents broad default docs from absorbing unrelated behavior. This preserves agent-native truth maintenance without adding a token-heavy discovery layer. + +## Non-Goals + +- This doc is not a repository behavior overview. +- This doc is not a product capability or engineering behavior owner. +- This doc is not a permanent home for claims about files under `src/**`. + +## Maintenance Notes + +Keep this doc short. When a repository has real bounded routes, prefer updating those routes and their truth docs instead of expanding this bootstrap handoff. + +## Source References + +- ../../routes/areas/repository.md +- ../../../../.truthmark/config.yml diff --git a/docs/truthmark/templates/engineering-contract.md b/docs/truthmark/templates/engineering-contract.md index 42f2f3c..d7fb5ce 100644 --- a/docs/truthmark/templates/engineering-contract.md +++ b/docs/truthmark/templates/engineering-contract.md @@ -65,7 +65,7 @@ Distinguish validation errors, dependency failures, authorization failures, and {{compatibility_rules}} diff --git a/docs/truthmark/templates/engineering-operations.md b/docs/truthmark/templates/engineering-operations.md index 24b1662..085ca72 100644 --- a/docs/truthmark/templates/engineering-operations.md +++ b/docs/truthmark/templates/engineering-operations.md @@ -65,7 +65,7 @@ Include user-facing authorization behavior and operator access requirements when {{deployment_and_rollback}} diff --git a/docs/truthmark/templates/engineering-workflow.md b/docs/truthmark/templates/engineering-workflow.md index 3f7c0a3..88ee9b2 100644 --- a/docs/truthmark/templates/engineering-workflow.md +++ b/docs/truthmark/templates/engineering-workflow.md @@ -47,7 +47,7 @@ Include validation, defaults, and normalization that happen before execution. {{execution_model}} diff --git a/package-lock.json b/package-lock.json index 6f3a4c1..505959a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ }, "devDependencies": { "@types/node": "^20.19.25", - "truthmark": "^2.2.1", + "truthmark": "^2.2.2", "tsx": "^4.20.6", "typescript": "^5.9.3", "vitest": "^1.6.1" @@ -2529,9 +2529,9 @@ } }, "node_modules/truthmark": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/truthmark/-/truthmark-2.2.1.tgz", - "integrity": "sha512-+rL+trLnjj4GhhSREU/Cf4ECVU/svIxgToyFvo76JC84BohNVg5Eh1P5iCEdJP/LkTZJ7h+7y8h8h5D3JLjAyw==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/truthmark/-/truthmark-2.2.2.tgz", + "integrity": "sha512-JG0wFSgres0RfXJeateSl5c4oFEalFiOrK2ClsU8d/3XmguN1mf6pm1l24jaUwv7xQONLP/2qGqWSagwKuyWYw==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 75ef8a6..793fb3c 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ }, "devDependencies": { "@types/node": "^20.19.25", - "truthmark": "^2.2.1", + "truthmark": "^2.2.2", "tsx": "^4.20.6", "typescript": "^5.9.3", "vitest": "^1.6.1"