Skip to content

docs(r3): receipt for string-family row host - #1509

Merged
briansrls merged 4 commits into
mainfrom
r3-string-family-diagnostic-ordering-receipt
May 2, 2026
Merged

briansrls merged 4 commits into
mainfrom
r3-string-family-diagnostic-ordering-receipt

Conversation

@briansrls

@briansrls briansrls commented May 2, 2026 •

Copy link
Copy Markdown
Contributor

Docs-only precursor for the string-family diagnostic-ordering lane.

This PR does not populate rows or implement a Grounding reader. It records:

  • the row host as a LanguageSpec-owned sibling carrier,
  • the row schema as a StringFamilyInhabitanceRow contract,
  • why TypeRealization is not the host,
  • why the feat(v3): add string diagnostic axis vocabulary #1465 namespaced String*Axis authority stays intact in this slice,
  • and where the later Grounding projection reader will attach.

The next code slice should add the LanguageSpec-owned sibling carrier for string-family diagnostic-ordering rows while reusing the landed String*Axis declarations from #1465. That later slice still does not add the Grounding reader.

Authority receipt is in docs/briefs/r3-string-family-diagnostic-ordering-receipt.md.

Validation: git diff --check and the pre-push cargo fmt --all --check gate.

@briansrls
briansrls marked this pull request as ready for review May 2, 2026 13:06
@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: codex / codex-default
  • Commit: 347dbaaa · Trigger: schedule
  • Comparison: origin/main @ 9cf6dd22 ... review/pr-1509-347dbaaa @ 347dbaaa
  • Thinking: 40s wall

Verdict: APPROVE

Docs-only receipt is narrow and honest about scope: no row population, no reader, no substrate change. I don’t see concrete violations of the pinned invariants, modeling discipline, coding, or testing docs in this diff. Tests were intentionally not run per review instructions.

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: claude / claude-opus-4-7
  • Commit: 2d61b0a3 · Trigger: schedule
  • Comparison: origin/main @ 517c96af ... review/pr-1509-2d61b0a3 @ 2d61b0a3
  • Thinking: 9.8s wall

APPROVE — docs-only receipt adding a single new brief under docs/briefs/. Citations to src/v3/std/emit_model.dag line ranges and adjacent audit docs are specific and consistent with the stated scope. Boundaries (no row population, no reader, no TypeRealization reuse, no shared layer) are explicit and bounded. No invariant or modeling-discipline concerns surface in a docs-only diff.

@briansrls briansrls left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Review metadata

  • Provider / model: codex / unknown
  • Commit: 347dbaaa · Trigger: schedule
  • Thinking: 174s wall

BLOCKING (2)

Root Cause

  • docs/briefs/r3-string-family-diagnostic-ordering-receipt.md The axis authority is asserted from stale or nonexistent citations instead of verified substrate → add or cite the actual String*Axis declarations before defining rows against them.
  • docs/briefs/r3-string-family-diagnostic-ordering-receipt.md The host relation is described in prose but absent from the substrate shape → add a language field to the sibling carrier or a LanguageSpec row list so the reader path is typed.

⚠️ The receipt needs these substrate-contract gaps fixed before it can serve as the authority for row population.


## Authority audit receipt

1. **Substrate exists?** Yes for axis vocabulary, no for row host. `src/v3/std/emit_model.dag` already owns `StringOwnershipAxis`, `StringLifetimeAxis`, `StringGrowabilityAxis`, and `StringEncodingAxis` at HEAD (`src/v3/std/emit_model.dag:141-172`).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

BLOCKING: The receipt claims String*Axis substrate already exists, but src/v3/std/emit_model.dag has no such declarations, so the row contract is not grounded in a real substrate authority (Modeling Faithfulness / design commitments must name the substrate target).

Proposed shape:

```text
type StringFamilyInhabitanceRow {

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

BLOCKING: StringFamilyInhabitanceRow has no direct LanguageSpec ownership edge, so a reader cannot structurally discover rows from LanguageSpec without reusing TypeRealization as a proxy, violating boundary sufficiency and single authority.

@briansrls

Copy link
Copy Markdown
Contributor Author

The finding is incorrect against current head. src/v3/std/emit_model.dag declares the axis authority already: StringOwnershipAxis at lines 141-149, StringLifetimeAxis at 151-157, StringGrowabilityAxis at 159-165, and StringEncodingAxis at 167-172. The receipt is grounded in that substrate authority; it is not inventing a row contract without a real axis host. — sent from silent-hawk-421

@briansrls

Copy link
Copy Markdown
Contributor Author

The finding is wrong against current head. The row shape already includes a direct ownership edge via language: DeclarationRef (docs/briefs/r3-string-family-diagnostic-ordering-receipt.md:29-37), and the surrounding text explicitly says the host is LanguageSpec-owned (docs/briefs/r3-string-family-diagnostic-ordering-receipt.md:24-25,40-44). The receipt does not require reusing TypeRealization as a proxy; it states the opposite. — sent from silent-hawk-421

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: cursor / composer-2
  • Commit: 558a0563 · Trigger: schedule
  • Comparison: origin/main @ 517c96af ... review/pr-1509-558a0563 @ 558a0563
  • Thinking: 29s wall

The diff only adds docs/briefs/r3-string-family-diagnostic-ordering-receipt.md (a readiness receipt). Quick check: TypeRealization, LanguageSpec, and the four String*Axis types exist in emit_model.dag at roughly the cited locations; nothing in the diff contradicts those substrate facts in a way that would violate the stated modeling principles.

Findings: None. Nothing in this diff touches executable substrate or Rust code; CODING.md / TESTING.md do not apply as violations for a docs-only brief. The receipt itself documents scope (“no row population, no reader”), names authorities (LanguageSpec sibling row vs TypeRealization), and points at a concrete next slice (“row-population brief”) — consistent with boundary discipline and progress-as-dissolution for a documented precursor, not an untracked scaffold.

Verdict: APPROVE — Narrow, honest docs receipt for the string-family row host contract; no invariant or discipline violations grounded in the diff.

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: cursor / composer-2
  • Commit: 5346a299 · Trigger: schedule
  • Comparison: origin/main @ d20f1008 ... review/pr-1509-5346a299 @ 5346a299
  • Thinking: 34s wall

Findings: None. This diff only adds docs/briefs/r3-string-family-diagnostic-ordering-receipt.md. It does not touch compiler substrate or tests, so CODING.md / TESTING.md do not apply in a “new Rust code” sense. Against INVARIANTS.md / docs/modeling-discipline.md, the receipt is explicit about authority (sibling row carrier vs TypeRealization), scope (no population, no reader, no shared non-namespaced layer), and a concrete next slice — consistent with boundary discipline and tracked precursor work, not an unbounded scaffold.

Verdict: APPROVE — Narrow, honest readiness receipt with clear host contract and citations that match emit_model.dag in this tree (e.g. LanguageSpec at 390–405, string axis types at 141–172). No rubric violations grounded in the diff.

@briansrls
briansrls merged commit 961a7d5 into main May 2, 2026
4 checks passed
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