Skip to content

docs(r3): §1.8 row #62 status refinement — file-ingestion ratified shape (b) FileAttachment extending #53 per Director msg_09df44c6 - #2821

Merged
briansrls merged 4 commits into
mainfrom
docs/r3-row-62-ratified-shape-2026-05-13
May 13, 2026
Merged

briansrls merged 4 commits into
mainfrom
docs/r3-row-62-ratified-shape-2026-05-13

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

Summary

  • Updates §1.8 row Workflow capabilities next steps #62 (substrate_gap_file_ingestion_closed) status: DECLARED → DECLARED-with-ratified-shape-and-sub-canvas-pending
  • Records Director ratification of disposition (b) — workflow-substrate FileAttachment carrier extending gate Cursor/lane b workflow 2281 #53
  • Enumerates disqualified candidates (A/C/D), anti-patterns for post-ratification reviewers, sub-canvas queue, and include_str! audit at HEAD

Authority

  • Director ratification msg_09df44c6 (zesty-bear-812) on canvas PR docs(r3): gate #62 file-ingestion substrate-shape canvas #2820 (warm-wolf-698 / R3 Substrate Mgr)
  • docs/r3-program-plan.md §4.3 line 505 verbatim: "T-Workflow-As-Data file-ingestion substrate (workflow_substrate_carriers_landed extended to file-attachment)"
  • docs/r3-program-plan.md §1.8 row Cursor/lane b workflow 2281 #53 (parent gate for sibling-carrier extension)
  • Recursive feedback_substrate_shape_belongs_in_mgr_canvas for sub-canvas trigger

Director rationale (preserved on-ledger)

(b) wins on 5 axes:

  1. §4.3 verbatim authority — locked design names the closure path; (a) doesn't match
  2. Lane fit — gate Workflow capabilities next steps #62 is T-WAD; carrier extension is canonical pattern
  3. Sibling-carrier precedent — WorkflowSecret + CronExpression in Cursor/lane b workflow 2281 #53 establish the pattern
  4. Construction-first — model workflow concept, not compile-time intrinsic
  5. No parallel-authority risk — (a)+(b) coexistence violates §P1

Disqualified:

  • (a) compile-time read_utf8_file — P5-style intrinsic, doesn't match §4.3; re-introduces include_str! semantics under new syntax
  • (c) precedent-mirror — no precedent enumerated; §4.3 already names answer
  • (d) A+B bundle — structural parallel-authority

Cascade

  • PR substrate_gap_file_ingestion_closed #2819 (bright-otter-731 candidate-A draft) STAND DOWN per Director disposition (bright-otter-731 audit msg_e85224dc preserved as diagnostic-trail input)
  • Sub-canvas pending: Substrate Mgr authors FileAttachment carrier-shape canvas (type def + fields + workflow-context coupling)
  • Worker dispatch follows sub-shape ratification

Test plan

🤖 Generated with Claude Code

briansrls and others added 3 commits May 12, 2026 23:08
…APPROVE_WITH_COMMENTS)

cursor review #10531 (APPROVE_WITH_COMMENTS) caught 2 small fixes:

1. **:330 Origin field** — literal `Director'\''s` shell-escape artifact (leaked from heredoc authoring) → corrected to `Director's`. P1 documentation-faithfulness.

2. **:205 parenthetical** — "was 97; +6 T-WAD FULL R3 elevation" only sums to 103, not the headline 104. Added "+1 Miss-class dissolution 2026-05-12" so arithmetic reconciles: 97 + 6 + 1 = 104. P2 single-authority consistency.

Both small fixes; no scope change.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… predicate 64→70 across 6 files)

codex BLOCKING on merged PR #2804 (review 4276876807 @ 23:10:31Z):
"The row scopes the migration from a relayed count instead of deriving
it from its own terminal grep predicate → include every current Part A
match in the phase plan, or explicitly narrow the predicate and route
the excluded Lookup< sites to a separate gate. ⚠️ One blocking scope
gap in the new closure gate would leave the terminal predicate red
after the documented migration."

Verified at `7a7c19d3` HEAD: `git grep -nE "Lookup<" src/v3/lenses/
src/v3/std/` = 70 matches (NOT 64 as Director's relay msg_cefcbe05 had it):
- cost.dag: 25
- complexity.dag: 25
- infer_helpers.dag: 3 (incl. active `-> Lookup<DeclarationId>` :141)
- algebra.dag: 3 (incl. canonical `miss_symbolic_cost_lookup()` :225
  + `hit_symbolic_cost_lookup` :229)
- substrate.dag: 3
- lookup.dag: 11

Critical: `algebra.dag:225 miss_symbolic_cost_lookup()` is THE
constructor at the bind layer that emits the 15 Miss returns
Director's complexity-lens dump (msg_32a3775e) originally surfaced —
it being out-of-scope contradicted the row's own Origin statement.

Fixes:
1. Scope at HEAD: 64 → 70 across 6 files (was 4); added
   `algebra.dag` 3 + `infer_helpers.dag` 3.
2. Bundled-migration Phase 2 reframed as "monomorphized accessor
   sweep" (substrate 3 + algebra 3 + infer_helpers 3 = 9 sites; line
   anchors added).
3. Origin trailer: appended PR #2807 scope-correction note + codex
   BLOCKING #4276876807 attribution; flagged msg_cefcbe05 as superseded.

Part A terminal predicate unchanged; the migration plan now matches it.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…tified shape (b) FileAttachment carrier extending #53

Director ratification msg_09df44c6 on canvas PR #2820 + §4.3 line 505 verbatim authority. Disposition (b) wins per:
- §4.3 line 505 explicitly names "T-Workflow-As-Data file-ingestion substrate (workflow_substrate_carriers_landed extended to file-attachment)" as closure path
- Lane fit: gate #62 is T-WAD per §1.8; carrier extension is canonical T-WAD pattern
- Sibling-carrier precedent: WorkflowSecret + CronExpression in #53 establish the pattern
- Construction-first: model workflow concept, not compile-time intrinsic
- No parallel-authority: (a)+(b) coexistence violates §P1 single-authority

Status: DECLARED → DECLARED-with-ratified-shape-and-sub-canvas-pending. Sub-canvas (FileAttachment carrier-shape: type def + fields + workflow-context coupling) queued for Substrate Mgr per recursive feedback_substrate_shape_belongs_in_mgr_canvas. Worker dispatch follows sub-shape ratification.

PR #2819 STAND DOWN per Director disposition (msg_09df44c6); bright-otter-731 audit (msg_e85224dc) preserved as diagnostic-trail input.

Anti-patterns enumerated for post-ratification reviewers:
- Compile-time read_utf8_file-equivalent (Candidate A drift)
- FileAttachment landed without #53 sibling-carrier alignment
- Legacy include_str! bridges preserved alongside FileAttachment (§P5 atomic-migration violation)

include_str! audit at HEAD (Director-verified): no matches — gate is forward-looking, not retire-existing.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ctor sub-canvas disposition msg_61e302c6)

Director-ratified FileAttachment carrier-internals shape per msg_61e302c6 on PR #2820 sub-canvas (commit 4a96d33). Status: DECLARED-with-ratified-shape-and-sub-canvas-pending → DECLARED-with-ratified-shape-and-carrier-internals-ratified.

Refined-B-1 carrier (5-of-7 strict subset of #55 WorkflowObservationAnchor):
  FileAttachment {
    subject_node:    NodeId
    content_digest:  ContentHash
    producer_id:     WorkflowProducerId
    workflow_run_id: WorkflowRunId
    attached_at_ns:  Nanoseconds
  }

Drops observer_id + prover_id (timing-observation-specific epistemological roles; not applicable to file attachment).

Q1-Q6 dispositions verbatim from Director:
- Q1 carrier shape: Refined-B-1 (B-2 + B-3 disqualified)
- Q2 encoding field: ABSENT default; if needed use `Encoding` from `dsl/std/encoding.dag`
- Q3 `WorkflowAssetPath` branded nominal: NOT introduced (digest-only canonical)
- Q4 workflow-coupling: deferred to worker brief / consumer evidence (#55 List analogy)
- Q5 eager-vs-lazy: EAGER confirmed
- Q6 `AttachmentEncoding`: Practice-4 RED — dissolved to existing `Encoding` lattice

Director grep-verified at HEAD: #55 anchor structure at timing_lens.dag:98-106, 5 branded nominals at dsl/std/types.dag:324-331, dsl/std/encoding.dag exists with 6-variant `Encoding` BoundedLattice, no FileAttachment/AttachmentEncoding/WorkflowAssetPath at HEAD (no parallel-authority risk).

Anti-patterns extended from 3 (top-level) to 7 (sub-canvas additions):
- (4) AttachmentEncoding duplicating dsl/std/encoding.dag — Practice-4 RED dissolution
- (5) path field on FileAttachment — parallel-rep vs canonical digest
- (6) List<FileAttachment> on Job/Step preemptively — consumer-evidence-required
- (7) Carrier deviation from Refined-B-1 5-field structure — strict subset of #55

Cascade:
- Sub-canvas closure: carrier-internals ratified
- Worker brief authoring: 5-field carrier + sibling-alignment receipt + bootstrap ratchet test + existence-proof use case
- Sub-canvas-2 trigger (forward-looking): workflow blob-store substrate (content_digest -> bytes resolution); Substrate Mgr authors after Refined-B-1 lands; NOT blocking carrier-internals ratification

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: openai-pro / gpt-5-5-pro
  • Commit: 3fcd374e · Trigger: manual
  • Comparison: main @ 5bc6ad44 ... docs/r3-row-62-ratified-shape-2026-05-13 @ 3fcd374e
  • Conversation: View conversation

1. Story of the diff

This PR is a docs-only refinement of the R3 §1.8 program ledger in docs/r3-program-plan.md. It first fixes the ledger arithmetic so the 104 closure gates are explained as 97 + 6 T-WAD + 1 Miss-class dissolution at docs/r3-program-plan.md:207. It then turns gate #62 from a vague file-ingestion gap into an executable substrate direction: file ingestion is to be modeled as a workflow-substrate FileAttachment carrier extending gate #53, with exactly the ratified five fields and explicit rejected alternatives such as include_str!, AttachmentEncoding, WorkflowAssetPath, and premature List<FileAttachment> coupling at docs/r3-program-plan.md:290. Finally, it corrects gate #104’s Miss-dissolution scope after review: the substrate/testgen migration is now scoped to 70 Lookup<...> matches across six files, with explicit terminal grep predicates and a required collapse to Witness<C>::Violates { reason, at } at docs/r3-program-plan.md:332.

2. Invariant categories

  1. LAYER MODEL (substrate vs implementation).

Compliant — the diff does not mutate Dag or add implementation code, but where it defines future substrate work it names the carrier and exact substrate shape instead of leaving the worker to infer it: FileAttachment { subject_node: NodeId, content_digest: ContentHash, producer_id: WorkflowProducerId, workflow_run_id: WorkflowRunId, attached_at_ns: Nanoseconds } at docs/r3-program-plan.md:290.

  1. INVARIANTS.md + modeling-discipline.md.

Compliant — the diff actively protects modeling discipline: gate #62 rejects parallel or lossy shapes by forbidding path authority, an AttachmentEncoding coproduct, field deviations, and include_str!-style ingestion at docs/r3-program-plan.md:290; gate #104 removes the Lookup<C>::Miss parallel class by requiring collapse into Witness<C>::Violates { reason, at } and zero-match terminal predicates at docs/r3-program-plan.md:332.

  1. CODING.md.

N/A — this is markdown planning text only; it adds no Rust functions, APIs, helpers, methods, result shapes, or implementation naming surface.

  1. TESTING.md.

Compliant — no executable behavior changes, so no same-PR test is required, but the planning rows name the test obligations that must land with implementation: gate #62 requires a bootstrap ratchet test and existence-proof use case at docs/r3-program-plan.md:290, and gate #104 requires universal-coverage TestClaim rows plus grep-zero regression guards at docs/r3-program-plan.md:332.

  1. LOCKED DESIGN DECISIONS.

Compliant — the diff records ratified/locked decisions rather than diluting them: gate #62 preserves the Director-ratified FileAttachment shape and disqualified candidates at docs/r3-program-plan.md:290, and gate #104 preserves the locked Miss dissolution to Witness<C>::Violates while correcting the scope from 64 to 70 matches at docs/r3-program-plan.md:332.

  1. TRACKED vs UNTRACKED DEBT.

Compliant — the new follow-on work is bounded and tracked. Gate #62 names the follow-on blob-store trigger, the unresolved content_digest → bytes resolution question, strict field bounds, anti-patterns, and the next worker brief acceptance shape at docs/r3-program-plan.md:290; gate #104 bounds the migration with Part A/Part B phases, status progression, and terminal predicates at docs/r3-program-plan.md:332.

2.5. Top-down PM intent review

Compliant — the PR tightens the plan rather than changing its meaning. The count correction at docs/r3-program-plan.md:207 makes the R3 ledger internally coherent; the gate #62 refinement at docs/r3-program-plan.md:290 keeps file ingestion inside modeled workflow substrate instead of allowing hand-written compile-time file reads; and the gate #104 correction at docs/r3-program-plan.md:332 prevents a worker from executing an under-scoped 64-site Miss cleanup when the ratified scope is 70 sites across six files. I do not see a diff-cited mismatch between the PM-level direction and the edited plan.

3. Verdict

APPROVE

This is a docs-only authority refinement that makes the R3 work plan more precise, not looser. The substrate and test obligations it introduces are named, bounded, and tied to dissolution triggers; I did not find a diff-cited invariant violation.

@briansrls
briansrls merged commit e5563e4 into main May 13, 2026
5 checks passed
@briansrls
briansrls deleted the docs/r3-row-62-ratified-shape-2026-05-13 branch May 13, 2026 02:45
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