Skip to content

docs(deed): family-4 extension — [methodology] tabled; D4-1 comment-canon doctrine - #847

Merged
hyperpolymath merged 1 commit into
mainfrom
fix/837-family-4-methodology
Sep 17, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
fix/837-family-4-methodology

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Live recon catch while full-mode testing the translator: rsr AGENTIC.a2ml carries a [methodology] section absent from the recon instance, and its constraints/on-* protocol live entirely as a2ml COMMENTS.

  • [methodology] tabled: instructions-dir STRING, default-mode SYMBOL verbatim
  • D4-1 decision record: comment-carried constraints are identical template-boilerplate across the rsr fleet → derivable-from-canon — canon home is standards .machine_readable/agent_instructions/; deeds carry pointer fields only; canon-diff hash fails closed on divergence. Recorded so no translation PR silently drops load-bearing prose.

Refs #837.

…anon doctrine

rsr instance carries [methodology] fields (unobserved in the standards
recon) and moves constraints/on-* protocol via comments. Field table
extended; comment-carried blocks classified as identical template-canon
(derivable doctrine applied to prose): deeds carry pointer fields only;
canon-diff detection fails closed on divergence.

Refs #837
@coderabbitai

coderabbitai Bot commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

Next included review available in 57 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: b3e1d818-78f4-4f51-978a-7e04262d16fd

📥 Commits

Reviewing files that changed from the base of the PR and between 71d0b9f and de3f04b.

📒 Files selected for processing (1)
  • 1-formats/deed/mappings/agentic-neurosym-playbook-to-repo-deed.adoc

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.

@sonarqubecloud

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath merged commit 4c29ea1 into main Sep 17, 2026
24 of 30 checks passed
@hyperpolymath
hyperpolymath deleted the fix/837-family-4-methodology branch September 17, 2026 22:31
hyperpolymath added a commit that referenced this pull request Sep 17, 2026
…en translator (campaign #837) (#849)

The campaign's tooling half arrives alongside the merged spec half
(#840–#848). One property defines the lane: **nothing invalid ever
lands** — emission is gated by validation, and CI gates the repo.

## `deed_lint.py` — the validator

Stdlib-only, written against `spec/abnf/deed.anbf` v1.0.0 (current until
the canonical-file ruling):

- SPDX header required; exactly one form; full input consumed (trailing
content is an error)
- head=`estate-deed|repo-deed|estate-atlas-deed|praxis-deed`;
`:schema-version` STRING exactly once
- filename↔head dispatch with the exact-stem-first side condition
(`estate_chora.deed` can never parse as repo-deed; dots in stems
preserved — final-suffix split only)
- booleans ONLY `#t`/`#f`; bare `true/false/yes/no` rejected as values
(they lex as symbols — the grammar's note is enforced here as a
value-level semantic)
- `#u5"name"` literals (body is the RFC 4122 §4.3 NAME input)
- strings: exactly 4 escapes (`\" \\ \n \t`); `\r`/`\uXXXX` parse
errors; raw control bytes rejected
- separators SP/line-end/comment only — tabs invalid (K9-consistent);
bare CR rejected
- 14-case embedded corpus (`--self-test`) mirrored to
`fixtures/valid|invalid` + one REAL translated deed
(`rsr-template-repo_chora.deed`)

It has already caught two real things: my own mapping spec's `:present
true`/`#u5"<hex>"` errors (fixed in #841 before merge) and a
validator-side guard bug (empty clauses rejected against grammar).

## `a2ml_to_deed.py` — the translator

Implements the specs in `1-formats/deed/mappings/` — and ONLY those. It
cannot invent mappings:

- **P-1**: uuid re-derived via RFC 4122 §4.3 (URL namespace) and
compared to the instance — mismatch writes nothing. Oracle verified:
`uuid5(URL, "github.com/hyperpolymath/rsr-template-repo") ==
a5ea1382-a34c-5334-8a46-a2ebe904c810`
- **refuse-to-emit** without `--beholding-chora` (no invented
identifiers)
- booleans→`#t`/`#f`; enums→symbols against closed sets; slot doctrine
(`""`/`()`) for missing-but-tabled fields; SPDX passthrough
- untabled fields/sections FAIL CLOSED (P-2a) — live catches during
development: `[axis-3-audit-rules]` (#846), `[methodology]` (#847),
`[rsr-repo-skeleton]` (#848) → review → table extended → translate.
Exactly the frame's prescription
- **POST-CONDITION**: emitted text is linted; failure writes nothing

Modes: `full` (six instance files → one deed), per-family
(`clade|agentic|neurosym|playbook`, meta/ecosystem merge via full),
`state-scan` (family-3 classification report — the ruling's paperwork,
no translation), `scorecard-scan` (family-5 census + absolute-path leak
TSV).

## Findings delivered, not silently fixed

- standards' own `.machine_readable/CLADE.a2ml` **lacks `primary-name`**
— CLADE-006 territory; flagged, not patched (reported on #837)
- scorecard corpus census + leak TSV generated from the scanner (28
files here, 48 absolute-path leak lines — full list rides #837)

## CI

`deed-conformance.yml`: self-test → fixtures → lint every committed
`*.deed`, triggered on grammar/tools/deed changes. checkout pinned by
SHA, `persist-credentials: false`.

Refs #837; does not close it (campaign still open: conversion wave,
remaining rulings).
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