Skip to content

docs(deed): family-4 completion — PLAYBOOK [rsr-repo-skeleton] tabled - #848

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

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

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Last un-tabled surface found by fail-closed full-mode testing: rsr PLAYBOOK carries [rsr-repo-skeleton] with four real fields (skeleton-version, last-updated, authority-allowlist, enforcement-workflow) plus a comment inventory of required-root files. Fields tabled; inventory falls under D4-1 (identical template-canon across the rsr fleet; canon-diff fails closed on divergence).

With this, every family surface the translator has encountered round-trips cleanly: full six-instance translation of rsr-template-repo and standards passes the validator post-condition.

Refs #837.

…fields

rsr PLAYBOOK carries four real fields (skeleton-version, last-updated,
authority-allowlist, enforcement-workflow) plus a comment inventory of
required-root files. Fields tabled; inventory classified under D4-1
(identical template-canon, canon-diff 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 22 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: d492fb35-7a91-45ca-af4d-308f939a93bc

📥 Commits

Reviewing files that changed from the base of the PR and between 4e0e123 and 0c7867e.

📒 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 408d3a6 into main Sep 17, 2026
23 of 29 checks passed
@hyperpolymath
hyperpolymath deleted the fix/837-family-4-skeleton branch September 17, 2026 22:53
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