Skip to content

feat(schemas): merge the substance from the parallel schema set - #9

Merged
RevenuePuzzles merged 1 commit into
mainfrom
claude/schema-enrichment
Sep 4, 2026
Merged

feat(schemas): merge the substance from the parallel schema set#9
RevenuePuzzles merged 1 commit into
mainfrom
claude/schema-enrichment

Conversation

@RevenuePuzzles

Copy link
Copy Markdown
Contributor

What this PR does

An archive arrived described as schemas missing from the repo. Five of its six YAML files already existed here in a different shape, so it is not a gap to fill — it is a fork of the same standard. This takes the substance from it additively, without touching an ID or any key aux-audit reads, and adds the one file that genuinely was absent.

Why the files could not simply be dropped in

Tested on a scratch copy before touching anything:

34/34 aux-audit tests failed
pattern coverage fell 12/12 → 5/12
incoming repo
IDs H01 / T01 aux.H01 / aux.T01
list key trust_stages stages
gap fields heuristic, severity heuristic_ref, severity_default, trust_stage
agent-spec JSON Schema draft 2020-12 bespoke descriptive format
fix patterns dissent-surface, scope-boundary, version-diff, memory-editor, source-citation, calibration-cue user-aligned-objective, memory-policy-scoping, behavioral-contract, confidence-cues, …

The last row is the one that matters. Seven gaps named fix patterns with no folder in this repo, because both sides invented names for the same fixes. That is a vocabulary decision, not a merge conflict, so nothing here touches it — see Out of scope.

What is taken

Added to the existing files. No ID changed, no key aux-audit reads changed.

  • aux-heuristics.yamltest on all ten: the sentence a reviewer checks a product against, which the repo's version never had. Plus mechanisms, trajectory, spectrum, note and high_failure_frequency where the source carried them.
  • trust-gap-taxonomy.yamldetection on all twelve. The taxonomy said what breaks and how to fix it; it never said how to find it. That was the real hole.
  • trust-architecture.yaml — autonomy levels L1–L5, the ~40% trust budget with its hidden-spend sources, the consequence cap mapping heat band → autonomy ceiling, and the enforcement rule that a prompt is a request, a tool boundary is a control. stages is untouched; a comment says so, next to the block.
  • brain-spec.schema.yaml — new. No collision, and the one file the site declared that genuinely was not here.

Relational fields (related_patterns, related_gaps, related_schema) were dropped deliberately — they point into the other ID space, which is precisely the part that conflicts.

Linked Issue

None. No IDs introduced or renamed, so CONTRIBUTING's debate requirement does not apply. The vocabulary conflict below will need one.

Type

  • New pattern
  • New gap
  • Teardown
  • Framework edit (must include rationale, ID migration note if renamed, updated examples)
  • Schema fix
  • Doc fix / typo / link
  • Other

No renames, so no migration note applies.

Contribution bar — checklist

  • I've read CONTRIBUTING.md.
  • If this introduces or renames an ID, I opened a debate Issue first. — none introduced or renamed.
  • If this adds a pattern, it has a diagram, a runnable example, and an anti-pattern. — n/a.
  • If this adds a gap, it has a reproducible scenario and references a heuristic or trust stage. — n/a; the twelve existing gaps gain a detection field.
  • CI passes (schema validation, link check). — verified locally: 34/34 aux-audit tests still pass after the enrichment, yamllint clean with zero warnings, check:schemas clean, check-coverage.py 12/12, all relative links resolve.
  • No emoji in code or schemas.
  • Short sentences. Named things over adjectives.

Out of scope — four things this leaves open

  1. The fix-pattern vocabulary. dissent-surface vs user-aligned-objective, scope-boundary vs memory-policy-scoping, and four more. Two names for the same fix. Needs a debate Issue and a decision on which is canon; the seven pattern folders, their diagrams and check-coverage.py follow from it.
  2. trust-contract.yaml. The incoming file is a pattern catalogue — 6 patterns, a 24-entry catalog, required patterns per autonomy mode. The repo's file is a single example contract. Different documents wearing the same filename. The catalogue looks like it wants to be its own file.
  3. memory-policy.yaml vs memory-policy.schema.yaml. Same split: incoming is a policy vocabulary (classes, retention, user rights, provenance), the repo's is a schema for writing one. The site declares memory-policy.yaml, so this is also a naming mismatch of the same kind already fixed for agent-spec.schema.yaml.
  4. agent-spec.schema.yaml as real JSON Schema. The incoming version is draft 2020-12 and is arguably better than the bespoke format here. Swapping it means rewriting spec.ts and its tests — a genuine improvement, but its own piece of work, not a drop-in. The archive's validate.py and example-agent-spec.yaml are tied to that shape and are held back with it.

🤖 Generated with Claude Code

https://claude.ai/code/session_01MhpqWEvwKp7NrmJfdXYq4M


Generated by Claude Code

The archive was described as files missing from the repo. Five of its six
YAML files already existed here, in a different shape, so dropping them in
was not an option:

  34/34 aux-audit tests failed
  pattern coverage fell 12/12 -> 5/12

The two versions are a fork of the same standard, not one standard split
in half:

  ids            H01 / T01              vs  aux.H01 / aux.T01
  list key       trust_stages           vs  stages
  gap fields     heuristic, severity    vs  heuristic_ref, severity_default
  fix patterns   dissent-surface,       vs  user-aligned-objective,
                 scope-boundary,            memory-policy-scoping,
                 version-diff, ...          behavioral-contract, ...

The last row is the one that matters. Seven gaps named fix patterns that
have no folder here, because both sides invented names for the same fixes.
That is a vocabulary decision, not a merge conflict, so nothing in this
commit touches it.

What is taken is the substance, added to the existing files without
touching an id or any key aux-audit reads:

- aux-heuristics: `test` on all ten — the sentence a reviewer checks
  against — plus mechanisms, trajectory, spectrum, note and
  high_failure_frequency where the source had them
- trust-gap-taxonomy: `detection` on all twelve. The taxonomy said what
  breaks and how to fix it; it never said how to find it
- trust-architecture: autonomy levels L1-L5, the ~40% trust budget with
  its hidden-spend sources, the consequence cap mapping heat band to
  autonomy ceiling, and the enforcement rule that a prompt is a request
  while a tool boundary is a control. The stages block is untouched
- brain-spec.schema.yaml: new, no collision, and the one file the site
  declared that genuinely was not here

Relational fields (related_patterns, related_gaps, related_schema) were
dropped on purpose — they point into the other ID space, which is exactly
the part that conflicts.

brain-spec is JSON Schema draft 2020-12 while agent-spec.schema.yaml is a
bespoke descriptive format. Its header says so rather than leaving a
reader to trip over it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MhpqWEvwKp7NrmJfdXYq4M
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.

2 participants