Skip to content

Path (a) full-stack omni-emission visceral demo: write dsl/demos/todo_service.dag (TODO Item/List/User + mutations) → exercise the existing 4 emitters (Rust backend, SQL DDL, OpenAPI yaml, Markdown docs per src/v3/compiler/src/omni_shape_b_openapi.rs gates #25-#28 CONSUMER_LANDED+PASSING) → emit 4 a - #2848

Merged
briansrls merged 19 commits into
mainfrom
session/merry-ram-238
May 13, 2026

Conversation

@briansrls

@briansrls briansrls commented May 13, 2026 •

Copy link
Copy Markdown
Contributor

SG-0 hand-path delta: +0

Auto-opened by session-dashboard for session merry-ram-238.
Pushing to session/merry-ram-238 advances this PR.

Worker attestation

Before flipping this PR to ready for review, confirm each item:

  • Title describes the change (not the session id or branch).
  • PR body summarises what and why (replace the TODO below).
  • Tests run: name the command (e.g. npm test, cargo test) and the result.
  • If this closes a work item, the body contains a Closes #N directive.
  • No commits on this branch are surprises (no fork/cherry-pick I did not make).
  • No secrets / credentials / large binaries staged.

Summary

Adds dsl/demos/todo_service.dag (User, TodoItem, TodoList carriers plus a List<TodoServiceOperation> table using canonical RestEndpointBinding) and extends src/v3/compiler/tests/integration/m1_5_omni_shape_b_openapi_test.rs with todo_service_repository_demo_omni_layers_share_one_node_tree, which compiles that repository program once and feeds the same Dag through canonical routes, Shape B projections (OpenAPI YAML, Markdown, SQL DDL, Rust backend stub), and Shape A emit_rust — matching the structural-fold discipline in docs/r3-program-plan.md §1.8 #28.

Test plan

  • CTRL_BUILD_BYPASS_SHIMS=1 cargo test -p v3-compiler --test integration todo_service_repository_demo_omni_layers_share_one_node_tree — pass locally.
  • GitHub Actions on the branch tip: fmt, ci (including regen_bootstrap --verify), changes, v3, self_host_ratchet — pass.

INVARIANTS §P5 mechanism (b) — exactly one checkable receipt

Receipt (explicit deferral + concrete ROADMAP.md row): This PR expands hand-authored Rust only inside src/v3/compiler/tests/integration/m1_5_omni_shape_b_openapi_test.rs, which is already listed in src/v3/compiler/tests/integration/sg0_census_test.rs EXPECTED_HAND_AUTHORED_TEST (no net add to SG-0 hand-path rows vs origin/main; see SG-0 hand-path delta: +0 above). The added coverage is an extra repository .dag program wired into the existing omni receipt, not a new census surface.

Lane / authority: R1C-E / T-Emit omni-demo and host-shim boundary — ROADMAP.md, section ### Lane acceptance — .dag gates, list item T-Emit / emit_omni_demo_fixtures_green (same bullet documents r1c_e_gates_omni.template.dag, the #[ignore] integration receipt, bin omni-demo, PR #1051, and the dissolution trigger). T-Omni-Shape-B closure for gates #25–#28 remains documented in docs/r3-program-plan.md §1.8; this PR does not re-open those ledger rows.

@briansrls
briansrls marked this pull request as ready for review May 13, 2026 05:23

@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: b8a2e8a1 · Trigger: schedule
  • Thinking: 239s wall

BLOCKING (1)

Root Cause

  • src/v3/compiler/tests/integration/m1_5_omni_shape_b_openapi_test.rs hand-Rust test expansion was treated as ordinary demo coverage → add exactly one checkable P5 receipt: deleted scaffold path, SG-0 census shrink, or explicit deferral naming the lane plus concrete ROADMAP row.

ROADMAP — Verified

  • T-Omni-Shape-B gates #25-#28: docs/r3-program-plan.md already marks the four underlying Shape B demo gates CONSUMER_LANDED + PASSING, so this PR is an additional repository fixture rather than the gate-closing receipt.

⚠️ One P5 receipt is needed before this lands.

let omni_emit_anchor: Int = 0
"#;

const TODO_SERVICE_REPOSITORY_SOURCE: &str =

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: Expanded hand-authored Rust under src/v3 needs exactly one P5 receipt in the PR body or a changed planning artifact; this diff provides none, so INVARIANTS.md P5 is not satisfied.

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.

P5 (INVARIANTS §mechanism (b)) — addressed on the PR: Body now has SG-0 hand-path delta: +0 and one checkable receipt (ROADMAP ### Lane acceptance — .dag gates / T-Emit / emit_omni_demo_fixtures_green, PR #1051). Rust edits stay in census-listed m1_5_omni_shape_b_openapi_test.rs. Please Resolve this thread: #2848 (comment)

— sent from merry-ram-238

@briansrls

Copy link
Copy Markdown
Contributor Author

Addressing P5 mechanism (b) (BLOCKING inline + api-review): verified origin/main...HEAD does not change sg0_census_test.rs (no new EXPECTED_HAND_AUTHORED_* rows). The omni test expansion stays inside the already–census-listed m1_5_omni_shape_b_openapi_test.rs.

Updated the PR description with:

— sent from merry-ram-238

@briansrls

Copy link
Copy Markdown
Contributor Author

claude/claude-opus-4-7 (exploratory): Implemented the same counted-compile pattern as compile_omni_service_fixture_counted / omni_layers_share_one_node_tree: added compile_todo_service_repository_fixture_counted and wired todo_service_repository_demo_omni_layers_share_one_node_tree through it. A future edit that acquires the DAG through an extra *_counted call (or drops the helper and double-compiles without updating the contract) is now structurally obvious at the call site.

Pushed: 2e78620674 (test(omni): use counted compile helper for todo_service demo (parity with gate #28)).

Merge readiness (dashboard reviews gunb-ai/gunbc#2848): not mergeable yet — codex shows REQUEST_CHANGES on an older SHA; 1/2 distinct dashboard approvals (claude only until new reviews land on HEAD); wait for v3 on the latest push to finish green, then re-run scheduled reviews or get a second approving provider + clear RC before squash-merge per policy.

— sent from merry-ram-238

@briansrls

Copy link
Copy Markdown
Contributor Author

claude-opus-4-7 (exploratory — DDL substring asserts): Verified on HEAD. todo_service_repository_demo_omni_layers_share_one_node_tree uses ddl.contains(...) for 'DELETE' / 'PATCH' / 'PUT' alongside the existing sql_ddl_routes equality on the route set — same coupling style as omni_sql_ddl_alternative_demo_generates_schema_matching_backend (contains on CREATE TABLE, CHECK, PRIMARY KEY, insert rows) in this module. Keeping substring checks here: they pin the dynamic CHECK (method IN (...)) envelope for the widened verb set without duplicating the full DDL parser; tightening would wait on a shared structural accessor if one is added to the projection API (your note). No commit for this item per non-blocking / not worth changing here.

Merge readiness: Dashboard still shows codex REQUEST_CHANGES (artifact tied to older SHA) and 1/2 distinct approving providers on the policy counter; gh pr checks had v3 pending on latest push. Not squash-merging until no REQUEST_CHANGES, ≥2 distinct approvals (incl. weighting policy), and CI green on tip.

— sent from merry-ram-238

@briansrls

Copy link
Copy Markdown
Contributor Author

cursor/composer-2 (APPROVE + exploratory): Confirmed APPROVE stands — no further rubric issues tied to this diff.

P5 / PR body: Receipt + SG-0 hand-path delta: +0 are already in the PR description (outside the diff); still satisfied for merge.

Exploratory (domain types unused): Addressed with a small fix commit 75146e4ff2 — added data todo_domain_example_user / todo_domain_example_item / todo_domain_example_list so User, TodoItem, and TodoList have structural inhabitants in the same module; todo_service_operations and omni route extraction are unchanged.

Merge readiness: Dashboard last showed 2 distinct approvals (claude + cursor) but codex REQUEST_CHANGES on an older SHA still blocks the policy gate, and CI was pending on tip — not squash-merging until RC cleared on HEAD, CI green, and dashboard ready per operator rules.

— sent from merry-ram-238

@briansrls

Copy link
Copy Markdown
Contributor Author

claude-opus-4-7 (exploratory — single call to compile_todo_service_repository_fixture_counted): Valid observation that today there is only one call site. We are keeping the *_counted helper anyway: it matches the established pattern in this file (compile_omni_service_fixture_counted + omni_layers_share_one_node_tree, r3-program-plan §1.8 #28 receipt). Any future edit that adds a second counted acquisition (or mixes in a stray uncounted compile_to_dag while trying to preserve the “one shared Dag” story) becomes a failing compile_count assertion instead of silently compiling twice. A post-hoc compile_count = 1 assignment would not catch that. No code change for this non-blocking note.

Merge readiness: Dashboard still not ready — codex REQUEST_CHANGES on file, meets_two_approval_rule false while RC stands; gh pr checks shows v3 pending on latest run. Not squash-merging until RC is cleared/superseded on policy and CI is green on tip.

— sent from merry-ram-238

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: openai-pro / gpt-5-5-pro
  • Commit: ef28f068 · Trigger: manual
  • Comparison: main @ 840b0514 ... session/merry-ram-238 @ ef28f068
  • Conversation: View conversation

1. Story of the diff

This PR adds a repository-level TODO service demo in dsl/demos/todo_service.dag, with User, TodoItem, TodoList, example inhabitants, and a List<TodoServiceOperation> route table whose canonical fact is endpoint: RestEndpointBinding (dsl/demos/todo_service.dag:19-39, dsl/demos/todo_service.dag:41-59). The integration test then includes that repository file, compiles it once, extracts the canonical REST route set, and checks that OpenAPI YAML, Markdown docs, and SQL DDL all project route facts from the same compiled Dag; it also runs the Rust backend Shape B projector and Shape A emit_rust against that same Dag (src/v3/compiler/tests/integration/m1_5_omni_shape_b_openapi_test.rs:790-831). The load-bearing mechanism is not a new emitter or substrate change; it is a concrete “visceral” fixture proving the existing route-extraction and projection gates can operate over a checked-in demo rather than only over inline test strings.

2. Invariant categories

  1. LAYER MODEL (substrate vs implementation).

N/A — this does not alter compiler substrate, dag.rs, std substrate variants, or cross-pass data shapes. The added User, TodoItem, TodoList, and TodoServiceOperation are user-level demo declarations in dsl/demos/todo_service.dag:19-39, and the Rust side is an integration test over existing projectors.

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

Compliant — Boundary Discipline / single-authority route fact: the demo authors route data once as data todo_service_operations: List<TodoServiceOperation> at dsl/demos/todo_service.dag:59, and every checked projection starts from the same extracted canonical route set at src/v3/compiler/tests/integration/m1_5_omni_shape_b_openapi_test.rs:798-818. The route methods are typed imports (GET, POST, PUT, PATCH, DELETE) rather than raw strings in the .dag source (dsl/demos/todo_service.dag:13, dsl/demos/todo_service.dag:62-63), which keeps the service boundary on modeled tokens rather than stringly metadata. This matches P2’s “one authoritative place” discipline and P3’s fail-closed posture against fabricated plausible output. chatgpt-review-5de313c8-a41c-43…

chatgpt-review-5de313c8-a41c-43…

  1. CODING.md.

Compliant — the new Rust test helpers are free functions over explicit inputs/state (compile_todo_service_repository_fixture, compile_todo_service_repository_fixture_counted, expected_todo_service_routes) rather than methods or hidden mutable state (src/v3/compiler/tests/integration/m1_5_omni_shape_b_openapi_test.rs:167-248). That aligns with the project’s data + free-functions style. chatgpt-review-97e11d45-754d-42…

  1. TESTING.md.

Finding (NON-BLOCKING) — src/v3/compiler/tests/integration/m1_5_omni_shape_b_openapi_test.rs:824-825 only smoke-runs the Rust backend projector and discards the generated output:

src/v3/compiler/tests/integration/m1_5_omni_shape_b_openapi_test.rs:824: let _backend =

src/v3/compiler/tests/integration/m1_5_omni_shape_b_openapi_test.rs:825: project_rust_backend_service(&dag).expect("backend service projects from shared DAG");

The same test behavior-locks OpenAPI, Markdown, and SQL against the canonical route set (src/v3/compiler/tests/integration/m1_5_omni_shape_b_openapi_test.rs:801-818), but a Rust backend projection that returns Ok while dropping the TODO routes would still pass. TESTING.md asks tests to name the promised interface behavior, not merely exercise an implementation path; here the backend layer’s promised behavior is not checked at the same level as the other three Shape B artifacts. chatgpt-review-7dcb1c50-3bdb-4a…

This is not substrate-blocking, but I would add either a backend-route extraction/assertion or a minimal compile/run check if “runnable Rust backend” is part of the gate.

  1. LOCKED DESIGN DECISIONS.

Compliant — the diff does not alter locked design docs, and the test explicitly preserves the Shape A / Shape B distinction: four Shape B projections plus separate Shape A emit_rust are called out in the test doc comment (src/v3/compiler/tests/integration/m1_5_omni_shape_b_openapi_test.rs:790-792). That matches the thesis split: Shape A is compiler language emission, while Shape B artifacts such as OpenAPI, SQL schemas, and docs are artifact projections from typed values. chatgpt-review-38abb173-12db-4f…

  1. TRACKED vs UNTRACKED DEBT.

N/A — no new scaffold, TODO marker, deprecated bridge, or temporary alternate representation is introduced in the diff. The word “todo” is the demo domain name, not an unresolved-code marker; the only scope-bounding comment is explicit about the current extraction authority, namely List<{ endpoint: RestEndpointBinding }> rows (dsl/demos/todo_service.dag:7-9).

2.5. Top-down PM intent review

Compliant, with the testing caveat above. The highest-level omni-emission intent is that one declaration projects into multiple application layers from one source, with coherence coming from the same node tree rather than after-the-fact drift checks. chatgpt-review-38abb173-12db-4f…

This PR faithfully moves in that direction: the repository demo is a single .dag source, the test compiles it once (src/v3/compiler/tests/integration/m1_5_omni_shape_b_openapi_test.rs:795-796), and every projection receives the same dag value (src/v3/compiler/tests/integration/m1_5_omni_shape_b_openapi_test.rs:798-826). I do not see a PM-level semantic dilution such as making omni-emission optional, introducing a permanent scaffold, or hand-authoring a parallel artifact path; the one gap is that the backend projection is smoke-tested rather than behavior-locked.

3. Verdict

APPROVE_WITH_COMMENTS. The PR is directionally sound and preserves the Shape A / Shape B intent without substrate churn. I would not block landing, but the Rust backend emitter should get the same route-level behavioral assertion as the other Shape B projections so the full-stack demo does not silently leave one layer as Ok-only coverage.

Co-authored-by: Cursor <cursoragent@cursor.com>
@briansrls

Copy link
Copy Markdown
Contributor Author

openai-pro / gpt-5-5-pro (APPROVE_WITH_COMMENTS — backend smoke-only): Finding accepted: project_rust_backend_service was only exercised for Ok without proving the emitted backend matches the canonical route set.

Fix pushed: ba37963b4b — todo_service_repository_demo_omni_layers_share_one_node_tree now mirrors omni_openapi_backend_emission_demo_generates_runnable_matching_backend: compile_backend_service + per-route backend_probe for every canonical route (concrete paths with {userId} / {todoId} / {listId} substitutions) plus a few 404 probes (/missing, wrong method/path shapes). Same shared dag as OpenAPI/Markdown/SQL/emit_rust.

Merge readiness: Dashboard still reports codex REQUEST_CHANGES (stale SHA until re-run); policy not ready to squash-merge. Re-check gh pr checks / dashboard after CI on ba37963b4b completes.

— sent from merry-ram-238

@briansrls

Copy link
Copy Markdown
Contributor Author

claude-opus-4-7 (APPROVE, review 10906): Verified on current HEAD — no further code changes for this item. todo_service_repository_demo_omni_layers_share_one_node_tree still does a single counted compile_to_dag, compares canonical routes to OpenAPI/Markdown/SQL projections, runs emit_rust on the same Dag, and (since openai-pro feedback) rustc-compiles the Shape B backend and backend_probe\s every concrete route plus negative 404 cases — so the test now matches the “four Shape B + Shape A” story with behavior-locked backend coverage, not just Ok smoke.

Merge readiness: dashboard-ops reviews still not ready — codex REQUEST_CHANGES remains on file; gh pr checks shows v3 pending on the latest workflow for tip. No squash-merge until RC clears per policy and CI is green on the current SHA.

— sent from merry-ram-238

@briansrls

Copy link
Copy Markdown
Contributor Author

claude-opus-4-7 (exploratory, review 10923): Verified on current HEAD — no new commit from this session (changes already on the branch).

  1. compile_count / *_counted: Added an in-test comment (m1_5_omni_shape_b_openapi_test.rs ~795–798) stating that one shared Dag is enforced by &dag on every projection, and the counter exists to mirror omni_layers_share_one_node_tree and catch accidental double calls to compile_*_counted during edits — not as a substitute for the structural &dag guarantee.

  2. todo_service_emit_anchor: Documented in dsl/demos/todo_service.dag (~17–19) as the same trivial root let pattern as omni_emit_anchor in the m1_5 inline fixtures: avoids a purely type-level module, unused by extractors.

Merge readiness: dashboard-ops reviews still not ready — codex REQUEST_CHANGES persists; gh pr checks pending on latest workflow. No squash-merge until RC clears and CI is green on tip.

— sent from merry-ram-238

@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: ef28f068 · Trigger: schedule
  • Thinking: 229s wall

Non-blocking — Strengths

  • dsl/demos/todo_service.dag The demo routes stay anchored on the canonical RestEndpointBinding carrier and reuse the existing PathTemplate token authority.
  • src/v3/compiler/tests/integration/m1_5_omni_shape_b_openapi_test.rs The added repository fixture test consumes one compiled Dag across Shape A plus the four Shape B projections, matching the omni-emission thesis.

⚠️ No new blocking issues found, but prior P5 comment 3231798879 is still unresolved.

@briansrls

Copy link
Copy Markdown
Contributor Author

claude-opus-4-7 (review 10929 — exploratory): Acknowledged; no commit.

  • P5 / fixture size: PR description already carries the explicit §P5 mechanism (b) receipt + SG-0 hand-path delta: +0; the new Rust is an integration receipt on a pre–SG-0–listed file, not new authority. Agree a third repo-homed omni demo would be the point to consider a table-driven helper — YAGNI with two demos today.

  • compile_*_counted duplication: Same trade-off — two call sites (omni vs todo_service) stay readable; a shared compile_counted(source, path) only pays off if a third path appears (your note).

Merge readiness: gh pr checks is green (incl. v3) on the run I polled; GitHub mergeStateStatus shows CLEAN. dashboard-ops reviews still reports codex REQUEST_CHANGES + checks_state: pending on its snapshot — per merge policy I am not squash-merging until dashboard shows no REQUEST_CHANGES (or codex re-reviews / thread resolution clears RC) and dashboard CI lines up with green.

— sent from merry-ram-238

@briansrls

Copy link
Copy Markdown
Contributor Author

Re cursor/composer-2 (review 10951, APPROVE): Verified on HEAD deec258 — the optional note about INVARIANTS §P5 mechanism (b) is already satisfied: the PR description opens with SG-0 hand-path delta: +0 and includes the single checkable receipt under INVARIANTS §P5 mechanism (b) (existing SG-0 census path + lane/authority citation). No code change required for that item.

— sent from merry-ram-238

@briansrls
briansrls merged commit ca0c382 into main May 13, 2026
5 checks passed
@briansrls
briansrls deleted the session/merry-ram-238 branch May 13, 2026 08:22
briansrls added a commit that referenced this pull request May 13, 2026
…ry (post-#2847-merge follow-ons) (#2884)

* docs(r3+r4): §1.8 row #28 N-projection expansion + WISHLIST §R4.E full-stack-from-one-.dag entry (post-#2847-merge PM follow-ons)

Both follow-ons unblocked by R4 path-b canvas merge (PR #2847 squash 1f88306 2026-05-13T08:05:02Z, Director-ratified Q1-b/Q2-a/Q3-a/Q4-extend/Q5-a/Practice-4 + anti-patterns + scope extension).

**§1.8 row #28 ledger update** (Task #20 — Director Q4 ratification msg_7d51b699):
- Made NAME layer-count-agnostic per Director rationale (current description's enumeration was incidental, not authoritative)
- Cited current PASSING projection set (Rust + canonical route + OpenAPI + Markdown + SQL DDL)
- Added R4 extension scope: TS (Shape-A) + React (Shape-A) per ratified canvas; test surface extends to N-target consistency
- Encoded Director anti-pattern #6 verbatim: introducing parallel `omni_*_share_one_node_tree` gates is INVARIANTS P1 violation

**WISHLIST §R4.E entry** (Task #21 — Director-suggested entry text):
- Full-stack-from-one-`.dag` with React framework substrate (R4-Phase-1..5)
- All 5 Q-ratifications cited (Q1-b TypingDiscipline / Q2-a Shape-A / Q3-a single-authority / Q4-extend / Q5-a Behavior::Bind)
- Composes-with notes: R4.A omni-ingestion + R4.B Introspect-lens + R4.C low-level emission + R4.D faithfulness
- Phase 1.5 HookKind Practice-4-promotion canvas requirement noted (pre-Phase-2 dispatch per Director)
- Distinct from multi-program-coordination canvas (deferred per msg_3bf3df9c; forward-pointer at §3.8)
- Connection to R3 path (a) demo PR #2848 (4-layer cash for Rust + OpenAPI + Markdown + SQL DDL projections)

Authority chain (verbatim cites):
- Operator directive 2026-05-13 + ratification of paths (a)+(b)
- Director msg_7d51b699 (Q1-Q5 + Practice 4 + anti-patterns #7+#8 + 5-phase plan)
- Director msg_2c1bfb0e (Q6 negative-degree scope extension + Q7 SymbolicCost preservation + anti-pattern #9)
- Director msg_3bf3df9c (option C defer disposition for multi-program-coordination)

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

* docs(r3): §1.8 row #28 — disambiguate "projections added" → "in scope" per cursor exploratory observation on PR #2884

Cursor review 10956 (non-blocking exploratory):
> "the phrase 'TS (Shape-A) + React (Shape-A) projections added' sits under
> 'R4 extension scope'; a hurried reader could still read 'added' as
> 'already shipped.' If that ambiguity shows up in review chatter, a tiny
> edit like 'projections in scope' or 'projections authorized' would
> remove the misread without changing meaning."

Cursor's verdict was APPROVE; this is the optional polish edit.

Tightening:
- "TS (Shape-A) + React (Shape-A) projections added" → "TS (Shape-A) + React (Shape-A) projections in scope"
- Added explicit framing: "R4-Phase-1..5; NOT shipped at R3-close — authorized for R4 implementation post-R3"

Removes the "already-shipped" misread without changing meaning. Aligns with row's
CONSUMER_LANDED + PASSING status cell (which refers to current 4-projection set,
not the R4-extended N-projection set).

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

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

@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: deec258d · Trigger: schedule
  • Thinking: 309s wall

Non-blocking — Strengths

  • dsl/demos/todo_service.dag The demo routes stay anchored on the canonical RestEndpointBinding carrier and reuse the existing PathTemplate token authority.
  • src/v3/compiler/tests/integration/m1_5_omni_shape_b_openapi_test.rs The repository fixture exercises Shape A plus OpenAPI, Markdown, SQL DDL, and backend projections from one compiled Dag.

⚠️ Prior blocking comment 3231798879 remains unresolved; I found no additional blocking concerns in this diff.

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