Skip to content

docs: standardize frontmatter routing descriptions - #208

Merged
stone16 merged 1 commit into
mainfrom
stone16/issue-137-frontmatter
Aug 1, 2026
Merged

docs: standardize frontmatter routing descriptions#208
stone16 merged 1 commit into
mainfrom
stone16/issue-137-frontmatter

Conversation

@stone16

@stone16 stone16 commented Aug 1, 2026

Copy link
Copy Markdown
Owner

Closes #137.

Summary

  • Backfilled decision-specific Use when ... and Not for ... routing clauses across all 91 currently nonconforming historical ADRs while preserving every ADR body unchanged.
  • Differentiated ADR-0042 (one published File Resource tombstone) from ADR-0044 (whole File Source offboarding), resolving their FRONT-03 collision.
  • Normalized the remaining current-tree frontmatter findings in .claude/skills/context-engine/SKILL.md and DESIGN.md, including the malformed DESIGN version.
  • Added ADR-0097 to refine ADR-0001 with the uniform repo-wide rule, and added a conforming ADR authoring skeleton to the decision index. The issue comment named ADR-0094, but current main already contained ADR-0094 through ADR-0096, so ADR-0097 is the next available number.

This is a 95-file Markdown-only change: 91 existing ADR descriptions, one new ADR, the decision index, the repository context skill, and the design system. Existing ADR bodies are byte-identical after stripping their frontmatter.

Doc-steward evidence

Fresh default EVALUATE baseline on origin/main (6e39b45):

  • 96 total findings
  • 93 × FRONT-01 (91 ADRs, one SKILL, one DESIGN)
  • 2 × FRONT-03 (ADR-0042 ↔ ADR-0044)
  • 1 × FRONT-04 (DESIGN.md version)

The baseline is larger than the issue's 2026-08-01 snapshot because current main contains later agent-facing documents and ADR-0094 through ADR-0096.

Committed-tree EVALUATE (ec1d0b2):

schema: doc-steward.evaluate.v1
tier/profile: Standard/repository
grade: PASS
composite: 10.0
frontmatter: 10.0
links: 10.0
structure: 10.0
findings: 0 (P0=0, P1=0, P2=0)
skipped: []

Command:

python3 scripts/checks/doc_lint.py \
  --target /Users/stometa/orca/workspaces/ContextEngine/issue-137-frontmatter \
  --json

The doc-steward package's tier heuristic counts an in-worktree .venv as repository source, so the committed-tree audit was run against the clean repository surface after moving the generated ignored verification environment outside the target. Generated node_modules are already excluded by the checker.

Verification

make install
PASS — locked Python and TypeScript dependencies synced

make lint
PASS — All checks passed!

make typecheck
PASS — mypy: Success: no issues found in 494 source files
       action_plane TypeScript: PASS
       bot_delivery TypeScript: PASS

make test
PASS — 2469 passed in 62.16s

git diff --check
PASS

scope check
PASS — 95 changed paths, all *.md
PASS — 91/91 existing ADR bodies unchanged outside frontmatter

The first make typecheck attempt occurred before the fresh worktree's Node dependencies were installed and stopped at the ActionPlane prerequisite with missing @types/node; after the required make install, the complete final run passed as recorded above.

Summary by CodeRabbit

  • Documentation
    • Clarified the scope, responsibilities, security boundaries, authorization rules, lifecycle behavior, and operational limits across the architecture decision records.
    • Added a consistent authoring standard for agent-facing documentation, including structured metadata, actionable routing guidance, versioning, and review expectations.
    • Updated design specification metadata to identify the Evidence Console’s user-facing visual language and document boundaries.

@coderabbitai

coderabbitai Bot commented Aug 1, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The pull request updates the Evidence Console design metadata, adds frontmatter routing rules, and clarifies applicability boundaries across ADR-0002 through ADR-0097. It also adds ADR-0097 and updates the ADR index and authoring guidance.

Changes

Documentation frontmatter and ADR metadata

Layer / File(s) Summary
Documentation scope foundations
.claude/skills/context-engine/SKILL.md, DESIGN.md, docs/decisions/0002-0019
The skill description adds repository-authority restrictions. DESIGN.md defines the Evidence Console specification scope. Early ADRs clarify engine, authorization, stack, release, and architecture boundaries.
Authorization and Runtime boundaries
docs/decisions/0020-0035
ADR descriptions define boundaries for Organization RLS, authentication, Runtime binding, Packages, projections, authorization outcomes, leases, tickets, release ownership, and File Source registration.
File publication and delivery boundaries
docs/decisions/0036-0054
ADR descriptions clarify Markdown compilation, File publication, recovery, cleanup, delivery evidence, egress, SDK exposure, private effects, citations, model generation, BotDelivery, and cursor advancement.
File scheduling and acquisition boundaries
docs/decisions/0055-0077
ADR descriptions define boundaries for File observations, deletion handling, scheduling, dispatch, reclamation, acquisition, dogfood runtime, operator composition, ranking, and Article authorization.
Connector, consumer, and evaluation boundaries
docs/decisions/0078-0096
ADR descriptions clarify connector twins, rich Markdown, evaluation evidence, Supply limits, local consumers, Feishu, the Evidence Console, ACL freshness, graph ranking, parsed documents, reranking, and token accounting.
Routing rule and ADR index
docs/decisions/0097-require-routing-clauses-in-agent-facing-frontmatter.md, docs/decisions/README.md
ADR-0097 defines English, length, action-led, Use when ..., Not for ..., versioning, enforcement, and historical-review requirements. The README adds the authoring skeleton and ADR-0097 references.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the repository-wide standardization of frontmatter routing descriptions.
Linked Issues check ✅ Passed The changes address issue #137 through ADR-0097, frontmatter updates, an authoring skeleton, and documented zero audit findings.
Out of Scope Changes check ✅ Passed The changes are documentation-only and modify frontmatter metadata within the objectives of issue #137.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch stone16/issue-137-frontmatter

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ec1d0b2ba0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

architecture decisions, and `DESIGN.md`. A new agent-facing document class
inherits the same rule unless a later accepted ADR records and configures an
explicit exception.
2. Every description is English-only, contains 40–500 English characters,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Reconcile the English-only rule with ADR-0004

The new rule makes every frontmatter description English-only, but the backfilled description in docs/decisions/0004-wecom-only-weak-acl-degradation.md:5 still contains the Chinese text 企业微信. Consequently, the committed tree already violates this accepted rule despite being presented as a clean baseline; translate the parenthetical or narrow the rule explicitly. Accepted ADRs are implementation authority in this repository.

AGENTS.md reference: AGENTS.md:L22-L24

Useful? React with 👍 / 👎.

hop into post-authorization ranking.
hop into post-authorization ranking. Use when publishing rich Markdown link
lineage or ranking one authorized graph hop. Not for link edges as authority,
content-bearing pre-Kernel graphs, or unreauthorized cross-Article content.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Correct the cross-Article reauthorization boundary

When an agent uses this frontmatter to route graph-expansion work, the nonexistent word unreauthorized obscures the security boundary being prohibited. Replace it with an unambiguous phrase such as “cross-Article content without reauthorization,” because every cross-Article expansion must receive a new authorization decision.

AGENTS.md reference: AGENTS.md:L110-L110

Useful? React with 👍 / 👎.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 8

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/decisions/0015-rls-transaction-context-and-schema-manifest.md`:
- Around line 6-8: Update the scope statement in the ADR introduction to keep
owner-role isolation tests included, while continuing to exclude only
organization-only access and tests unrelated to RLS role isolation. Remove the
“Not for owner-role isolation tests” exclusion without changing the ADR’s
coverage of PostgreSQL RLS, schema-owner/runtime/worker roles, or
transaction-scoped actor context.

In
`@docs/decisions/0073-compose-explicit-release-candidates-from-current-corpus.md`:
- Around line 7-9: Update the ADR scope statement to avoid excluding the
operator-authorized promote-release workflow defined around the promote-release
command and ContextLearning.evaluate. Limit the exclusion to direct promotion
that bypasses ContextLearning, while preserving the existing restriction against
publication outside Learning.

In
`@docs/decisions/0093-activate-leased-rich-markdown-and-revision-link-graph.md`:
- Line 9: In the exclusion clause, replace the misspelled term “unreauthorized”
with “unauthorized,” leaving the surrounding text unchanged.
- Around line 7-8: Update the ADR-0093 scope description to explicitly cover
only immutable, content-free Revision-link edges and a single authorized graph
hop; remove the reference to publishing rich Markdown link lineage and clearly
exclude content-bearing graph work.

In `@docs/decisions/0095-bridge-runtime-rerank-through-one-internal-package.md`:
- Around line 5-10: Update the applicability clause in the decision introduction
to restrict this decision exclusively to the authorized rerank bridge; remove
the broader reference to other Runtime-internal model inference while preserving
the existing exclusions around activation, internal grants or packages, and
sealed authorization and egress.

In `@docs/decisions/0097-require-routing-clauses-in-agent-facing-frontmatter.md`:
- Line 14: Update the Date field in the ADR frontmatter to the actual acceptance
date, August 1, 2026, so it is not future-dated.

In `@docs/decisions/README.md`:
- Line 35: Update the ADR-0097 row in the decisions table so its
prohibited-condition text matches the accepted exception rule, replacing the
unqualified “Document-class exceptions” wording with “Informal document-class
exceptions” or an equivalent phrase requiring an accepted refining ADR.
- Around line 13-25: Update the ADR skeleton in the README frontmatter so all
decision-specific routing text is visibly placeholder-based, including the name,
description choice, trigger, shortcut, exclusion, and deferred capability.
Require authors to replace every placeholder with language derived from the new
ADR’s Decision before review, while preserving the existing YAML structure.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 6b50a5ce-2660-4864-9996-735a909572d0

📥 Commits

Reviewing files that changed from the base of the PR and between 6e39b45 and ec1d0b2.

📒 Files selected for processing (95)
  • .claude/skills/context-engine/SKILL.md
  • DESIGN.md
  • docs/decisions/0002-bot-gateway-outside-engine.md
  • docs/decisions/0003-group-chat-intersection-authorization.md
  • docs/decisions/0004-wecom-only-weak-acl-degradation.md
  • docs/decisions/0005-python-stack.md
  • docs/decisions/0006-engine-delivers-context-not-answers.md
  • docs/decisions/0007-postgres-as-authorization-truth.md
  • docs/decisions/0008-modular-monolith-plus-worker.md
  • docs/decisions/0009-pgvector-first-index.md
  • docs/decisions/0010-policy-epoch-revocation.md
  • docs/decisions/0011-read-write-plane-separation.md
  • docs/decisions/0012-sealed-authorization-projection-pipeline.md
  • docs/decisions/0013-trusted-delivery-egress-and-capability-taxonomy.md
  • docs/decisions/0014-curation-snapshot-and-release-ownership.md
  • docs/decisions/0015-rls-transaction-context-and-schema-manifest.md
  • docs/decisions/0016-implementation-authority-and-vertical-slice-roadmap.md
  • docs/decisions/0017-trusted-invocation-and-closed-runtime-access.md
  • docs/decisions/0018-immutable-revision-publication.md
  • docs/decisions/0019-security-catalog-normalization.md
  • docs/decisions/0020-stage-organization-rls-before-actor-context.md
  • docs/decisions/0021-stage-http-authentication-before-provider-selection.md
  • docs/decisions/0022-stage-tenant-safe-empty-context-package.md
  • docs/decisions/0023-bind-runtime-to-current-membership-user-actor.md
  • docs/decisions/0024-model-effective-scope-as-finite-target-intersection.md
  • docs/decisions/0025-bind-materialized-projection-to-the-current-runtime-transaction.md
  • docs/decisions/0026-normalize-no-authorized-evidence.md
  • docs/decisions/0027-organization-policy-epoch.md
  • docs/decisions/0028-fail-closed-unavailable-runtime-capabilities.md
  • docs/decisions/0029-bound-first-worker-lease-to-persistent-no-op-jobs.md
  • docs/decisions/0030-bound-ticket-audiences.md
  • docs/decisions/0031-persist-authorized-context-run-lineage.md
  • docs/decisions/0032-bind-materialized-fields-to-membership-projection-rights.md
  • docs/decisions/0033-promote-organization-releases-through-one-learning-owner.md
  • docs/decisions/0034-execute-the-m0-security-veto-from-registered-evidence.md
  • docs/decisions/0035-register-file-sources-through-context-control.md
  • docs/decisions/0036-compile-narrow-markdown-deterministically.md
  • docs/decisions/0037-publish-first-file-through-exact-worker-lease.md
  • docs/decisions/0038-compile-and-publish-structural-markdown.md
  • docs/decisions/0039-deduplicate-unchanged-file-acquisitions.md
  • docs/decisions/0040-stage-and-atomically-activate-file-replacements.md
  • docs/decisions/0041-recover-file-publication-by-durable-boundary.md
  • docs/decisions/0042-tombstone-file-resources-before-cleanup.md
  • docs/decisions/0043-separate-file-acquisition-progress-from-publication-progress.md
  • docs/decisions/0044-disable-file-sources-before-cleanup.md
  • docs/decisions/0045-redeem-private-delivery-evidence-at-ingress.md
  • docs/decisions/0046-bind-egress-to-one-exact-package-hop.md
  • docs/decisions/0047-freeze-openapi-v0-through-one-runtime-path.md
  • docs/decisions/0048-generate-typescript-sdk-behind-a-closed-facade.md
  • docs/decisions/0049-prepare-one-exact-private-effect.md
  • docs/decisions/0050-perform-one-exact-private-effect.md
  • docs/decisions/0051-reauthorize-opaque-citation-opens.md
  • docs/decisions/0052-gate-model-generation-by-package.md
  • docs/decisions/0053-compose-one-private-bot-delivery.md
  • docs/decisions/0054-acknowledge-file-change-pages-before-cursor-advance.md
  • docs/decisions/0055-schedule-accepted-file-observations-explicitly.md
  • docs/decisions/0056-detect-file-deletions-without-tombstone-authority.md
  • docs/decisions/0057-execute-current-file-deletes-through-tombstone-authority.md
  • docs/decisions/0058-schedule-only-upserts-from-mixed-file-pages.md
  • docs/decisions/0059-dispatch-scheduled-file-imports-through-exact-leases.md
  • docs/decisions/0060-reclaim-expired-file-imports-with-bounded-retries.md
  • docs/decisions/0061-commit-to-the-complete-context-layer-thesis.md
  • docs/decisions/0062-pull-development-through-dogfood-workloads.md
  • docs/decisions/0063-admit-an-explicit-dogfood-authentication-composition.md
  • docs/decisions/0064-split-process-ceremony-along-the-kernel-seam-boundary.md
  • docs/decisions/0065-recurse-file-discovery-with-anchored-descriptors.md
  • docs/decisions/0066-embed-fragments-before-publication.md
  • docs/decisions/0067-discover-vector-candidates-in-the-current-runtime-transaction.md
  • docs/decisions/0068-activate-loopback-dogfood-runtime.md
  • docs/decisions/0069-admit-an-explicit-local-operator-composition.md
  • docs/decisions/0070-activate-file-change-feed-from-registration.md
  • docs/decisions/0071-compose-bounded-file-scan-cycles.md
  • docs/decisions/0072-report-file-source-status-with-closed-refusals.md
  • docs/decisions/0073-compose-explicit-release-candidates-from-current-corpus.md
  • docs/decisions/0074-adopt-controlled-third-party-code-reuse.md
  • docs/decisions/0075-reuse-onyx-capabilities-through-owned-runners-and-seams.md
  • docs/decisions/0076-rejoin-rank-evidence-after-authorization.md
  • docs/decisions/0077-fix-the-article-as-the-content-authorization-atom.md
  • docs/decisions/0078-narrow-the-contract-kit-gate-to-per-connector-twins.md
  • docs/decisions/0079-compile-rich-markdown-in-an-owned-runner.md
  • docs/decisions/0080-refuse-authoritative-evaluation-without-an-executor.md
  • docs/decisions/0084-exempt-maintainer-decided-unproduced-artifact-kinds.md
  • docs/decisions/0085-bound-supply-connector-executions.md
  • docs/decisions/0086-report-worker-batches-and-compose-source-wide-cycles.md
  • docs/decisions/0088-bind-local-consumers-to-fresh-evidence-bearing-packages.md
  • docs/decisions/0089-bound-live-feishu-to-the-existing-private-bot-composition.md
  • docs/decisions/0090-admit-a-co-resident-local-evidence-console.md
  • docs/decisions/0091-reconcile-connector-acl-freshness-at-acceptance.md
  • docs/decisions/0092-authorize-feishu-subjects-and-bound-mirrored-freshness.md
  • docs/decisions/0093-activate-leased-rich-markdown-and-revision-link-graph.md
  • docs/decisions/0094-admit-a-format-neutral-parsed-document-family.md
  • docs/decisions/0095-bridge-runtime-rerank-through-one-internal-package.md
  • docs/decisions/0096-bind-package-token-accounting-to-release-tokenizer.md
  • docs/decisions/0097-require-routing-clauses-in-agent-facing-frontmatter.md
  • docs/decisions/README.md

Comment on lines +6 to +8
all-table schema security manifest for PostgreSQL RLS. Use when adding tables,
RLS policies, roles, or transaction-scoped actor context. Not for
Organization-only access or owner-role isolation tests.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Keep owner-role isolation tests in scope.

This ADR separates schema-owner roles from runtime and worker roles. It also requires PostgreSQL evidence for RLS and role isolation. The Not for owner-role isolation tests clause routes those tests away from the ADR that governs them.

Exclude only organization-only slices or tests unrelated to RLS role isolation.

Proposed fix
-  all-table schema security manifest for PostgreSQL RLS. Use when adding tables,
-  RLS policies, roles, or transaction-scoped actor context. Not for
-  Organization-only access or owner-role isolation tests.
+  all-table schema security manifest for PostgreSQL RLS. Use when adding tables,
+  RLS policies, roles, or transaction-scoped actor context. Not for
+  organization-only access slices covered by ADR-0020 or tests unrelated to RLS
+  role isolation.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
all-table schema security manifest for PostgreSQL RLS. Use when adding tables,
RLS policies, roles, or transaction-scoped actor context. Not for
Organization-only access or owner-role isolation tests.
all-table schema security manifest for PostgreSQL RLS. Use when adding tables,
RLS policies, roles, or transaction-scoped actor context. Not for
organization-only access slices covered by ADR-0020 or tests unrelated to RLS
role isolation.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/decisions/0015-rls-transaction-context-and-schema-manifest.md` around
lines 6 - 8, Update the scope statement in the ADR introduction to keep
owner-role isolation tests included, while continuing to exclude only
organization-only access and tests unrelated to RLS role isolation. Remove the
“Not for owner-role isolation tests” exclusion without changing the ADR’s
coverage of PostgreSQL RLS, schema-owner/runtime/worker roles, or
transaction-scoped actor context.

Comment on lines +7 to +9
base, while preserving ContextLearning as the sole publication owner. Use
when assembling an explicit Release candidate from current active File
content. Not for promotion by the operator or publication outside Learning.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Do not exclude the operator-authorized promotion workflow.

The description says this ADR is not for “promotion by the operator.” However, Lines [60-66] define the local promote-release command as an operator-authorized workflow that calls ContextLearning.evaluate and performs one promote call. Narrow the exclusion to direct promotion that bypasses ContextLearning.

Proposed wording
-  when assembling an explicit Release candidate from current active File
-  content. Not for promotion by the operator or publication outside Learning.
+  when assembling an explicit Release candidate from current active File
+  content. Not for promotion that bypasses ContextLearning or publication
+  outside Learning.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
base, while preserving ContextLearning as the sole publication owner. Use
when assembling an explicit Release candidate from current active File
content. Not for promotion by the operator or publication outside Learning.
base, while preserving ContextLearning as the sole publication owner. Use
when assembling an explicit Release candidate from current active File
content. Not for promotion that bypasses ContextLearning or publication
outside Learning.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@docs/decisions/0073-compose-explicit-release-candidates-from-current-corpus.md`
around lines 7 - 9, Update the ADR scope statement to avoid excluding the
operator-authorized promote-release workflow defined around the promote-release
command and ContextLearning.evaluate. Limit the exclusion to direct promotion
that bypasses ContextLearning, while preserving the existing restriction against
publication outside Learning.

Comment on lines +7 to +8
hop into post-authorization ranking. Use when publishing rich Markdown link
lineage or ranking one authorized graph hop. Not for link edges as authority,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

State the content-free Revision-link boundary.

STATUS.md describes immutable, content-free Revision link edges and one authorized hop. The phrase publishing rich Markdown link lineage does not state this boundary and can route content-bearing graph work to ADR-0093.

Align the description with the documented runtime contract.

Proposed wording
-  hop into post-authorization ranking. Use when publishing rich Markdown link
-  lineage or ranking one authorized graph hop. Not for link edges as authority,
+  hop into post-authorization ranking. Use when activating rich Markdown or
+  traversing one authorized hop over content-free Revision link edges. Not for
+  link edges as authority,
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
hop into post-authorization ranking. Use when publishing rich Markdown link
lineage or ranking one authorized graph hop. Not for link edges as authority,
hop into post-authorization ranking. Use when activating rich Markdown or
traversing one authorized hop over content-free Revision link edges. Not for
link edges as authority,
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/decisions/0093-activate-leased-rich-markdown-and-revision-link-graph.md`
around lines 7 - 8, Update the ADR-0093 scope description to explicitly cover
only immutable, content-free Revision-link edges and a single authorized graph
hop; remove the reference to publishing rich Markdown link lineage and clearly
exclude content-bearing graph work.

hop into post-authorization ranking.
hop into post-authorization ranking. Use when publishing rich Markdown link
lineage or ranking one authorized graph hop. Not for link edges as authority,
content-bearing pre-Kernel graphs, or unreauthorized cross-Article content.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Fix the typo in the exclusion clause.

Replace unreauthorized with unauthorized.

Proposed fix
-  or unreauthorized cross-Article content.
+  or unauthorized cross-Article content.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/decisions/0093-activate-leased-rich-markdown-and-revision-link-graph.md`
at line 9, In the exclusion clause, replace the misspelled term “unreauthorized”
with “unauthorized,” leaving the surrounding text unchanged.

Comment on lines +5 to +10
Bridge Runtime model-backed rerank through one internal, undelivered,
audience-bound pre-rerank ContextPackage, one nominal AuthorizedModelInput,
and the mandatory internal EgressGate with its one-shot model grant. Use when
implementing authorized rerank or other Runtime-internal model inference. Not
for activating rerank, exposing internal grants or Packages, or relaxing
sealed authorization and egress outside this exact bridge.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Limit the applicability clause to the rerank bridge.

The decision body defines a rerank port, a pre-rerank package, and an exact rerank permutation. other Runtime-internal model inference is broader than this decision and can route rewrite or select carriers here without a defined contract.

Proposed wording
-  implementing authorized rerank or other Runtime-internal model inference. Not
+  implementing authorized Runtime rerank through this bridge. Not
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Bridge Runtime model-backed rerank through one internal, undelivered,
audience-bound pre-rerank ContextPackage, one nominal AuthorizedModelInput,
and the mandatory internal EgressGate with its one-shot model grant. Use when
implementing authorized rerank or other Runtime-internal model inference. Not
for activating rerank, exposing internal grants or Packages, or relaxing
sealed authorization and egress outside this exact bridge.
Bridge Runtime model-backed rerank through one internal, undelivered,
audience-bound pre-rerank ContextPackage, one nominal AuthorizedModelInput,
and the mandatory internal EgressGate with its one-shot model grant. Use when
implementing authorized Runtime rerank through this bridge. Not for
activating rerank, exposing internal grants or Packages, or relaxing sealed
authorization and egress outside this exact bridge.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/decisions/0095-bridge-runtime-rerank-through-one-internal-package.md`
around lines 5 - 10, Update the applicability clause in the decision
introduction to restrict this decision exclusively to the authorized rerank
bridge; remove the broader reference to other Runtime-internal model inference
while preserving the existing exclusions around activation, internal grants or
packages, and sealed authorization and egress.

# 0097. Require routing clauses in agent-facing frontmatter

- Status: accepted
- Date: 2026-08-02

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Use the actual acceptance date.

Date: 2026-08-02 is one day after the current date, August 1, 2026. A future-dated accepted ADR gives the decision history an incorrect chronology. Set this field to the actual acceptance date.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/decisions/0097-require-routing-clauses-in-agent-facing-frontmatter.md`
at line 14, Update the Date field in the ADR frontmatter to the actual
acceptance date, August 1, 2026, so it is not future-dated.

Comment thread docs/decisions/README.md
Comment on lines +13 to +25
Start a new ADR with this skeleton and replace each placeholder with language
derived from that ADR's own Decision:

```yaml
---
name: adr-NNNN-action-led-name
version: "1.0.0"
description: >
Record the decision-specific fixed choice. Use when the decision-specific
boundary is being implemented or reviewed. Not for the decision-specific
shortcut, exclusion, or deferred capability.
---
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Mark all decision-specific text as explicit placeholders.

The current skeleton can be copied unchanged as apparently valid frontmatter. Its Use when ... and Not for ... clauses remain generic, so they can violate ADR-0097's requirement that routing language derive from the new ADR's Decision.

Use visible placeholders such as <decision-specific trigger> and <decision-specific exclusion>, and require authors to replace them before review.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/decisions/README.md` around lines 13 - 25, Update the ADR skeleton in
the README frontmatter so all decision-specific routing text is visibly
placeholder-based, including the name, description choice, trigger, shortcut,
exclusion, and deferred capability. Require authors to replace every placeholder
with language derived from the new ADR’s Decision before review, while
preserving the existing YAML structure.

Comment thread docs/decisions/README.md

| Boundary | Accepted ADR | Fixed choice | Prohibited shortcut |
|---|---|---|---|
| Agent-facing frontmatter | [0097 — Require routing clauses in agent-facing frontmatter](0097-require-routing-clauses-in-agent-facing-frontmatter.md) | Every frontmatter description is action-led, bounded, English-only, and carries decision-specific `Use when ...` and `Not for ...` routing | Document-class exceptions, generic triggers, or routing language that changes the document's decision without a refining ADR |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Align the exception rule with ADR-0097.

ADR-0097 permits a document-class exception when a later accepted ADR records and configures it. This row lists Document-class exceptions as prohibited without that qualification, so the implementation baseline contradicts the governing ADR.

Change the text to Informal document-class exceptions or Document-class exceptions without an accepted refining ADR.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/decisions/README.md` at line 35, Update the ADR-0097 row in the
decisions table so its prohibited-condition text matches the accepted exception
rule, replacing the unqualified “Document-class exceptions” wording with
“Informal document-class exceptions” or an equivalent phrase requiring an
accepted refining ADR.

@stone16
stone16 merged commit 6236ff2 into main Aug 1, 2026
1 of 2 checks passed
@stone16
stone16 deleted the stone16/issue-137-frontmatter branch August 1, 2026 17:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: repo-wide frontmatter description-quality cleanup

1 participant