Skip to content

Split the RFC 0006 accepted set into focused child RFCs (6.1.1) - #697

Draft
leynos wants to merge 9 commits into
mainfrom
6-1-1-split-rfc-0006-set-into-focused-child-rfcs-and-task
Draft

leynos wants to merge 9 commits into
mainfrom
6-1-1-split-rfc-0006-set-into-focused-child-rfcs-and-task

Conversation

@leynos

@leynos leynos commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Summary

Roadmap task 6.1.1 asks for the accepted capability set in
RFC 0006
to be split into focused child RFCs and accompanying roadmap tasks, so that
every accepted capability is covered by exactly one RFC and every deferred or
rejected candidate by none.

This pull request adds the ExecPlan, and amends roadmap task 6.1.1 to the
wording the plan implements. No child RFC is written; the plan is
approval-gated.

Plan:
docs/execplans/6-1-1-split-rfc-0006-set-into-focused-child-rfcs-and-task.md

What the plan proposes

  • Eight child RFCs, 0013 to 0020, one per roadmap phase-6 capability step
    6.2 to 6.9. The roadmap already partitions RFC 0006 sections 8.1 to 8.10
    completely and disjointly, and it cuts on the purity seam where section
    14's delivery slices do not: slice 5 bundles pure lexical path helpers with
    filesystem-observing predicates, while the roadmap keeps them apart. Step 6.1
    gets no child RFC — it owns shared machinery, not a capability.
  • RFC 0006 section 8 stays intact and normative. Child RFCs are additive,
    matching the convention RFCs 0009 to 0011 already use for RFC 0001. This
    reverses the first draft, which migrated the per-helper contracts out.
  • Each child carries a five-column registry naming every helper in its
    group with namespace, registration kind, purity class and manifest-query
    availability, plus a discharge of the cross-cutting contract for its own
    helpers. Section 6.1 requires a purity label per helper and gives only an
    aggregate; no such table exists anywhere in the repository today. That is
    the substantive product of this task.
  • The success criterion becomes executable, derived from RFC 0006's own
    section 7 disposition tables rather than hardcoded, so the forbidden set
    tightens automatically when section 7 gains a row.

Roadmap task 6.1.1, amended

The tracked task said "focused child issues", with success measured as
"exactly one open child issue". It now says child RFCs and accompanying
roadmap tasks, and records that delivery is tracked through the roadmap
checkboxes in steps 6.2 to 6.9 rather than through separate issues, so progress
stays in committed documentation.

Two consequences worth a reviewer's attention:

  • The word open was doing real work — an issue closes when its capability
    lands, and an RFC never closes. That burn-down is preserved by the roadmap
    checkboxes, which already decompose every capability group into tasks.
  • The criterion now reads "exactly one child RFC and by at least one
    accompanying roadmap task". Requiring exactly one task would be false today:
    product is already named by both 6.4.2 and 6.4.5.

A new obligation COV-6 checks the roadmap half mechanically — every accepted
helper must be named by at least one task under the step owning its child RFC.
Verified before writing it that all 60 helpers already are.

RFC 0006 says "child issue" in seven further places; correcting those is
EP-M1 work rather than part of this pull request.

Design review

A six-lens expert panel reviewed the first draft. It verified the partition —
all 57 helpers, none lost, duplicated or misassigned — and rejected most of the
machinery around it. The revision is recorded in the plan's Revision note and
Decision log. The findings that changed the design most:

  • The first draft's motivating premise was false. The roadmap already carries
    See RFC 0006 §8.N deep links on all 51 phase-6 task and step bullets, so
    reaching the combine contract costs about 80 lines today, not 2132.
  • Migrating section 8 would have stranded 39 roadmap task citations on stubs,
    with no link gate in the repository to notice.
  • Heading-based coverage parsing is unworkable: basename and dirname have
    no heading at all, three headings name two helpers each, three are prose, and
    RFC 0006's own sections 10, 11 and 15 carry backticked helper names in
    non-normative headings.
  • The handwritten forbidden list had already omitted sixteen names, including
    is_file, quote and fileglob — evidence for deriving it instead.

Defects found in RFC 0006

Recorded for correction, none of which changes a disposition:

  • Section 8.1 says "All six helpers in this group are pure" and specifies five.
  • Section 8.6 says every helper in the group is "pure and lexical", but
    expandvars sits in that group and the same section calls it the one
    environment-observing helper in the RFC.
  • The number-allocation table still claims no RFC has been merged to main,
    and omits 0007 to 0012.
  • Sections 14 and 17 say "child issues" in seven places.

Review focus

  1. The partition table, and the two divisions in particular: expandvars
    to RFC 0018 rather than 0017, and the abs test to RFC 0017 rather than
    0018. Both follow the roadmap and are supported by RFC 0006 section 8.7.
  2. Decision D3 — additive children rather than migration.
  3. Whether eight RFC numbers is proportionate. Numbers cannot be renumbered
    after publication, and this repository has a measured collision base rate of
    three (adr-003, adr-004, adr-014 are all duplicated). The plan
    allocates lazily and offers an EP-M1-only fallback in
    Alternatives considered.

Notes

  • Documentation-only apart from one new test binary. No helper, registration,
    locale key, flag, configuration field or dependency changes.
  • No disposition is changed and none of RFC 0006's seven open questions is
    resolved; each is carried into its owning child, unresolved.
  • make check-fmt, make markdownlint and make nixie pass on this branch;
    make lint, make typecheck and make test passed on the rebased state.
  • The plan is explicit that the semantic adequacy of the contract discharges is
    reviewer-checked, not test-checked, and must not be overclaimed.

References

🤖 Generated with Claude Code

@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

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

@sourcery-ai

sourcery-ai Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Reviewer's Guide

This documentation-only PR adds an approval-gated ExecPlan for partitioning RFC 0006’s accepted capabilities into eight additive child RFCs, with per-helper registries and a source-derived coverage test planned to enforce exact ownership and exclusion of deferred or forbidden candidates. It also records the partition rationale, RFC 0006 corrections, roadmap/index updates, implementation milestones, validation strategy, risks, and a reversible fallback; no implementation or runtime behaviour is included.

Entity relationship diagram for RFC capability ownership

erDiagram
    RFC_0006_DISPOSITION ||--o{ CHILD_RFC_REGISTRY : derives
    CHILD_RFC_REGISTRY }o--|| CHILD_RFC : owned_by
    RFC_0006_DISPOSITION {
        string helper_name
        string disposition
    }
    CHILD_RFC_REGISTRY {
        string helper
        string namespace
        string registration
        string purity_class
        string manifest_query
    }
    CHILD_RFC {
        string rfc_number
        string roadmap_step
        string status
    }
Loading

Flow diagram for the planned RFC coverage validation

flowchart TD
    Start[Read RFC 0006 disposition tables]
    Accepted[Derive accepted helper set]
    Forbidden[Derive deferred and forbidden set]
    Map[Read section 14 coverage map]
    Registries[Read child RFC section 5.1 registries]
    Checks[Run coverage and conformance checks]
    Outcome{Partition valid?}
    Pass[Proceed with child RFC milestone]
    Stop[Stop and escalate]
    Start --> Accepted
    Start --> Forbidden
    Start --> Map
    Accepted --> Checks
    Forbidden --> Checks
    Map --> Checks
    Registries --> Checks
    Checks --> Outcome
    Outcome -->|yes| Pass
    Outcome -->|no| Stop
Loading

File-Level Changes

Change Details Files
Adds an approval-gated execution plan for splitting RFC 0006’s accepted helper set into eight additive child RFCs aligned with roadmap steps 6.2–6.9.
  • Defines the 57-helper partition, including the purity-seam assignments for expandvars and abs, and excludes shared machinery and deferred or rejected candidates.
  • Keeps RFC 0006 section 8 normative and specifies child RFCs 0013–0020 as focused conformance records rather than migrated contracts.
  • Introduces five-column per-helper registries covering namespace, registration kind, purity, and manifest-query availability.
  • Plans updates to RFC 0006, the roadmap, and the RFC index, including corrections to documented count, purity, numbering, and child-issue wording defects.
  • Records decision rationale, alternatives, risks, approval gates, rollback strategy, and milestones for auditing, implementation, and reconciliation.
docs/execplans/6-1-1-split-rfc-0006-set-into-focused-child-rfcs-and-task.md
Specifies a mechanically checked documentation coverage invariant without implementing it in this pull request.
  • Plans a new Rust integration-test binary that derives accepted and forbidden sets from RFC 0006 disposition tables rather than hardcoding inventories.
  • Defines checks for unique ownership, forbidden candidates, namespace and purity totals, coverage-map progress, inter-document links, and child contract-section structure.
  • Documents parser constraints, seeded-fault validation, expected intermediate outputs, and the semantic adequacy gap that remains reviewer-checked.
docs/execplans/6-1-1-split-rfc-0006-set-into-focused-child-rfcs-and-task.md
Captures the review-driven revision from the rejected first draft and establishes explicit approval and scope controls.
  • Replaces the false navigation-based motivation with missing per-helper contract registries and mechanical bijection checking.
  • Rejects heading-based parsing and handwritten forbidden lists in favour of table-anchored, source-derived validation.
  • Adds an EP-M1-only fallback and a hard go/no-go after the first child RFC to test whether eight numbered RFCs are proportionate.
  • Constrains the work to documentation plus one test binary, with no runtime, dependency, registration, or disposition changes.
docs/execplans/6-1-1-split-rfc-0006-set-into-focused-child-rfcs-and-task.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

codescene-access[bot]

This comment was marked as outdated.

leynos and others added 2 commits September 8, 2026 17:18
Adds the execution plan for roadmap task 6.1.1, which splits the accepted
capability set in RFC 0006 into nine focused child RFCs aligned one-to-one
with roadmap phase-6 steps 6.1 to 6.9.

The plan makes the roadmap's success criterion executable: a new contract
test asserts that every accepted helper is specified by exactly one RFC,
that no deferred or rejected candidate is specified by any, and that the
totals agree with RFC 0006 table 11.

It also records a deliberate divergence from the tracked roadmap text,
which currently says "child issues" where the commissioned task asks for
child RFCs and accompanying roadmap tasks.

Nothing is implemented; the plan awaits approval.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
A six-lens review verified the partition — all 57 helpers, none lost,
duplicated, or misassigned — and rejected most of the machinery around it.

The plan no longer migrates RFC 0006 section 8 into the children. The
repository's convention is additive, migration would strand 39 roadmap
citations with no link gate to notice, and two capability groups split
across two milestones would leave genuinely incoherent intermediate
states. The Purpose section is rewritten because its original premise was
false: the roadmap already deep-links every phase-6 task to its RFC 0006
section, so reaching a helper contract costs about 80 lines today.

The coverage test is now anchored on tables and derived from RFC 0006's
own section 7 rather than on headings and hardcoded constants. Heading
anchoring cannot see basename or dirname, miscounts three compound
headings, and false-positives on the parent's own sections 10, 11 and 15;
the handwritten forbidden list had already omitted sixteen names.

Section 5 drops from eleven mandatory prose clauses to five substantive
ones with an anti-vacuity rule, a ninth child RFC for step 6.1 is dropped
as empty, numbers are allocated lazily against a measured collision rate
of three, and a hard go/no-go follows the first completed child.

Records two further RFC 0006 defects and corrects several factual errors:
issues #596 and #594 are closed, the naive section 8 heading count is 58,
and make doc-coverage does not measure integration tests.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@leynos
leynos force-pushed the 6-1-1-split-rfc-0006-set-into-focused-child-rfcs-and-task branch from 7e3da29 to 578a705 Compare September 8, 2026 15:20
codescene-access[bot]

This comment was marked as outdated.

codescene-access[bot]

This comment was marked as outdated.

codescene-access[bot]

This comment was marked as outdated.

Rewrites task 6.1.1 from "focused child issues" to "focused child RFCs and
accompanying roadmap tasks", and records that delivery is tracked through
the roadmap checkboxes in steps 6.2 to 6.9 rather than through separate
issues, so progress stays in committed documentation.

The success criterion now reads "exactly one child RFC and by at least one
accompanying roadmap task". Requiring exactly one task would have been
false on the existing roadmap: `product` is already named by both 6.4.2
and 6.4.5, so only the RFC count is exactly one.

The execplan's Scope divergence section is retired for Scope: settled,
which keeps the reasoning on the record without presenting it as an open
question, and D8 is updated. The burn-down that the old word "open"
provided is preserved by the roadmap checkboxes rather than lost.

Adds obligation COV-6, which checks the roadmap half of the criterion
mechanically: every accepted helper must be named by at least one task
under the step owning its child RFC. Verified before writing it that all
60 helpers already are, so COV-6 is green on the current roadmap.

RFC 0006's seven "child issue" phrases remain EP-M1 work.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
codescene-access[bot]

This comment was marked as outdated.

@codescene-access codescene-access 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.

No quality gates enabled for this code.

@leynos leynos changed the title Plan: Split the RFC 0006 accepted set into focused child RFCs (6.1.1) Split the RFC 0006 accepted set into focused child RFCs (6.1.1) Sep 10, 2026
leynos and others added 4 commits September 11, 2026 02:05
`EP-M0` re-derived every count in the plan mechanically from RFC 0006's own
section 7 tables. Every derived quantity agrees with the plan except one: the
forbidden set is not 34 names under any derivation. 34 reconciles only as a
*row* count (50 reject rows less the 22 classed "already provides", plus 6
deferred rows); a name count gives 44 or 46, and the plan's own "exactly 34
members" assertion is mutually inconsistent with its `is_file` membership
claim. That inconsistency, not the number, is what made the class-based
method untenable.

The reviewer resolved the stop condition by choosing `D10`: the deny set is
the complement of the accepted set — every surveyed reject or defer name that
is not an accepted Netsuke name — giving 71 names. This needs no parsing of
RFC 0006's note column and no normative edit to the survey. Table 11's
22/10/18 class split stays derived and is asserted as a separate witness, so
`D5` rule 3 remains exercised.

Also corrects three smaller defects found while auditing: `D5` rule 2 claimed
all three rename rows are rejected when `hash`'s row reads "Accept as
`text_hash`"; `COV-3`'s purity aggregate is now scoped to `New` rows, since
the three optioned rows include the filesystem-observing `glob`; and `COV-2`
is restated in complement form with its non-vacuity assertions.

The seven section 16 open questions, the dispositions, and section 8's
per-helper contracts are untouched, per the plan's constraints.

Co-Authored-By: Claude Code <noreply@anthropic.com>
`EP-M0` recorded a rule that was believed to reproduce table 11's 22
already-provides / 10 redundant-alias / 18 on-principle split over the 50
reject rows: alias if the resolution cell contains "alias" or cites section
10.2, else exists if it begins "Exists" or names a provider in backticks, else
principle. Re-deriving it before writing the parser gives 8 alias / 24 exists /
18 principle.

The principle third is right, and the premise that every principle row is
backtick-free holds. The error is the 32-row remainder, which splits 8/24
against the table's 10/22. The difference is exactly the two rename rows
`win_splitdrive` and `fileglob`, which section 7.8 says are "registered under a
Netsuke name rather than the surveyed one" and which table 11 therefore counts
as aliases while the rule counts them as exists. Recovering 22/10/18 needs those
two special-cased out of *exists* while `now` -- also a reject row naming an
existing helper in backticked call form -- stays inside it, with nothing in the
document to distinguish them. RFC 0006 states no rule assigning a reject row to
a class, and section 10 groups only some of them.

So the split is not derivable and is no longer asserted anywhere. `COV-2` now
asserts the directly parseable totals (55 accept rows, 6 defer rows, 50 reject
rows, 111 entries) plus that table 11's three class counts sum to the derived
reject-row count -- a real consistency check on the table without claiming a
derivation that does not exist. Amended in place: `D10`'s tail, `COV-2`'s
closing note, the audit table's last row, the `Surprises` bullet that recorded
the rule as working, and the closing narrative. Adding a discriminating column
to section 7 remains the remedy if the split is ever wanted as a contract.

Co-Authored-By: Claude Code <noreply@anthropic.com>
Adds tests/rfc_stdlib_coverage_tests.rs and its twelve supporting modules:
seven checks, one per obligation COV-1 to COV-6 plus CONF-1, each derived
from RFC 0006 section 7, section 14.13's coverage map, the child registries,
the roadmap, and the link graph. Three checks are vacuously green until a
child RFC exists; their non-vacuity comes from seeded-fault controls recorded
in the ExecPlan, and a COV-4 control that deletes the map table shows the
parser fails rather than reporting a vacuous zero.

Lands ADR-021 for the child-RFC convention, adds RFC 0006 section 14.13's
coverage map as its table 16, corrects two section 8 group preambles, and
repoints roadmap 6.1.1 at the child RFCs.

The coverage map's caption was first written as table 12, which collides with
the existing table 12; nothing parses captions, so only review caught it.

Regenerates typos.toml from the refreshed shared dictionary. The branch
predates typos-config-builder, so the committed file carries the two
hand-written exceptions main has since replaced with generated ones; the
regeneration is what makes spelling-config's `git diff --exit-code` step
pass. The branch is 29 ahead and 5 behind main; a rebase will take main's
version of both typos files.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Ten findings from the first review pass on the EP-M1 commit, two of them
duplicates and two competing remediations of the same location.

The substantive one is the clause-discharge heading. It was specified as
`### 5.6. Clause discharge`, which collides with the template's own 5.6,
"Type and error contract" -- the same title RFC 0006 clause 6.6 carries. A
table row reading `6.6` under a heading reading "Type and error contract"
implies the two are the same thing. The subsection loses its number rather
than gaining a rival: it is now unnumbered `### Clause discharge`, closing
section 5 after the eleven clause subsections it resolves. `TABLE_HEADING`
and a match on the heading directly above the table replace the
`starts_with("5.6.")` scan, so a table under one of the clause subsections
cannot be mistaken for the discharge table.

The rest:

- `Section::whole` drops its unused `file` argument; every caller holds the
  `&str` it read the text from and takes diagnostics from that.
- `registries::parse_all` takes the numbers the coverage map reserves rather
  than matching every RFC file numbered 0013 or later. The corpus is
  open-ended, and the map is where the reservation is recorded.
- `links::resolve` returns `Option<String>`, reporting a traversal that
  climbs above the repository root instead of dropping the surplus `..`
  segments and returning a path that looks ordinary.
- `checks.rs` imports `Context`, so the COV-4 child-link resolution compiles
  and reports the root-escaping link rather than panicking on it.
- `section_ref` trims trailing dots: a sentence-final `§8.9.` would otherwise
  parse as section `8.9.`, a section that does not exist.
- `roadmap::step_of` is extracted from `parse`, keeping the range latch,
  the phase-6 numbering check, and the bullet handling apart.
- ADR-021's `## Decision Drivers` becomes `## Decision drivers`, matching the
  three other ADRs that have the heading.

The template in the execplan gains the discharge table's exact placement, so
the eight child RFCs are not written against an ambiguity, and the clause
discharge notes in the plan record the amendment.

Gates: focused coverage suite 7/7; clippy clean on the target.
codescene-access[bot]

This comment was marked as outdated.

codescene-access[bot]

This comment was marked as outdated.

Four review findings, two of them latent defects rather than style.

The parser was fence-blind. A fenced `#` line read as a heading, which ended
the enclosing subsection and dropped every helper specified below it: seeding
one into RFC 0006 section 8.9 failed six of the seven checks and blamed two
helpers rather than the code block. Every child RFC this plan writes carries
example fences in section 5, so the fault was one document edit from being
live. Three scans shared the root cause and now consult one `Fences` cursor,
extracted with the rest of the Markdown lexical layer into `markdown.rs`; the
module split also keeps every module under Whitaker's 400-line cap.

The purity aggregate did not apply the `New`-row scoping its own comment
described. Section 6.1's 52/4/1 counts the 57 proposed helpers, while the
registries carry all 60 accepted ones, so filtering on purity alone yields
54/5/1 and would have failed a correct document at EP-M11. The filter now
lives in `new_with_purity` rather than at the call site.

The remaining two: `clauses.rs` quoted RFC 0006 section 6 with the obsolete
`child issue` term, and RFC 0006 table 1 recorded the RFC's `Status` in a
column whose every other row records a merge state. The merge claim was
accurate — the row now states the merge like its neighbours, with a sentence
under the table separating the two facts.

Whitaker's `conditional_max_n_branches` then rejected the fence guard at three
branches, where Clippy had passed it. The guard's conditions became two named
predicates rather than being flattened, so the "closing fence carries no info
string" rule survives; eleven scratch probes over the CommonMark cases confirm
it. Both documents were re-canonicalised with a scoped mdtablefix, since
`make fmt` cannot be pointed at one file.

The fence control's before/after transcripts and all four findings are
recorded in the ExecPlan, which also now lists six controls rather than five.

Co-Authored-By: Claude Code <noreply@anthropic.com>
@leynos
leynos force-pushed the 6-1-1-split-rfc-0006-set-into-focused-child-rfcs-and-task branch from 0549571 to 33baf1a Compare September 19, 2026 10:18
codescene-access[bot]

This comment was marked as outdated.

Three lint-clippy errors in the extracted Markdown lexical layer, and two
contradictions between the plan's child-RFC skeleton and the parser EP-M1
shipped.

markdown.rs: backtick `CommonMark` at the two sites clippy names, and make
`is_closing_run` a `const fn`. The second cascaded — a `const` callee makes
its caller eligible in the same run — so `Delimiter::closes` needed it too.
The cascade stops at `mark`, which takes `&mut self` and calls the non-const
`Delimiter::opening`. Confirmed with a targeted clippy on the single test
target rather than a second full gate cycle.

The skeleton EP-M2 is told to "copy literally" failed the parser in two
independent places, both of them hard failures on the first row read:

- the registry heading read `### 5.1. Purity and manifest-query registry`
  where `REGISTRY_HEADING` matches `### 5.1. Registry`; and
- the manifest-query cell vocabulary was `Available`/`Stub` where
  `check_manifest_query` accepts `yes`/`no`.

Neither was caught at EP-M1 because no child RFC exists yet, so every check
that reads a registry is vacuously green — the template was prose the parser
had never been pointed at, and the first failure would have landed at EP-M3,
after the go/no-go had been spent on a document written to the wrong
contract. The template gave way in both cases because the parser already
agrees with the parent document: RFC 0006 table 2's own column is headed
"Available in manifest queries" with cells `Yes`/`No`, and `### 5.1. Registry`
matches section 14.13's "carries the group's registry". Each site now carries
a note naming the constant that reads it.

Co-Authored-By: Claude Code <noreply@anthropic.com>

@codescene-access codescene-access 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.

Gates Failed
Enforce advisory code health rules (4 files with String Heavy Function Arguments)

Our agent can fix these. Install it.

Gates Passed
5 Quality Gates Passed

Reason for failure
Enforce advisory code health rules Violations Code Health Impact
mod.rs 1 advisory rule 9.69 Suppress
registries.rs 1 advisory rule 9.69 Suppress
section7.rs 1 advisory rule 9.69 Suppress
markdown.rs 1 advisory rule 9.69 Suppress

See analysis details in CodeScene

Quality Gate Profile: Pay Down Tech Debt
Install CodeScene MCP: safeguard and uplift AI-generated code. Catch issues early with our IDE extension and CLI tool.

leynos pushed a commit that referenced this pull request Sep 19, 2026
RFC 0013 to 0020 are reserved by the 6.1.1 child-RFC split plan
(PR #697) for the Ansible stdlib filter RFCs, which puts this set in
collision at 0013 to 0017. Nothing above RFC 0012 is merged, and the
style guide forbids renumbering after publication, so resolve the
overlap now by moving this set above #697's ceiling.

Rename the five files and update every reference in the two documents
that cite them. The change is a pure number substitution: each file is
byte-identical to its predecessor once the digits are normalised back.

Gates: make fmt (no-op), check-fmt, markdownlint and nixie all pass.

Co-Authored-By: Claude Code <noreply@anthropic.com>
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.

1 participant