Skip to content

#6174: JsonNumberLexeme construct-safety — invalid JSON numbers unwritable - #6176

Merged
briansrls merged 26 commits into
mainfrom
session/silent-raven-749
Jul 3, 2026
Merged

briansrls merged 26 commits into
mainfrom
session/silent-raven-749

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Jul 2, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Closes #6174. Makes extdeps.languages.json a construct-safe authority (DESIGN §5): invalid RFC 8259 number spellings are unwritable, not validated after emit.

  • json_number_lexeme(s) -> JsonNumberLexeme? — only public mint for arbitrary strings; gates on json_number_lexeme_valid
  • json_number_lexeme_unchecked — bless-once cast primitive confined to grammar.dag (corpus witness requires co-occurrence with json_number_lexeme_valid; emit grep forbids bare as JsonNumberLexeme)
  • json_number_from_lexeme_string — safe emit-layer constructor returning JsonValue?
  • Discriminating floor witnesses: GREEN on 12.34/-7, RED on not-a-number/12abc/""/01

Bundled merge hygiene (not #6174 scope)

These land in the same PR to unblock CI after main-merge drift; each is defensible standalone, acknowledged here per review:

Change Why bundled
NON_FOLD_RESIDUE_ROSTER +25 sites (cli_run.rs) Main landed new closed-coproduct wildcard residues (srv3 install diagnostic, nbd_proxy_serve, decl_index, …) without roster enrollment — roster_partition_covers_every_entry went RED
witness-(a) fixture line 78→83 floor_disc_helper_fn in #6061 shifted fixture lines; body-touch prove test hardcoded stale line
CI timeout 30→90min (ci_workflow.dag + ci.yml) Batch-1 compile-clean wall (~48min+) exceeded 30min/50min job caps (runs 28642524221, 28645912887); interim headroom until serial wall is killed (ROADMAP §3 2-compile-clean-serial)
Frontier diff attribution (cli_run.rs ~3575–4156) Deletion-only hunks + mixed .dag/non-.dag diffs were widening floor scope to full corpus (OOM/exit-1); fail-closed unit tests for deletion-only, import-preamble, and mixed-path cases
design_document.dag body-lowering open thread (9d534adaa2/13f9aa6c27) #6190 hand-edited DESIGN.md without updating the .dag emitter; WIP main_wet regen dropped the bullet — restored in authority + regenerated projection

Follow-up: module-private or lens treatment for json_number_lexeme_unchecked once grammar-inverse ingest lands (existing dissolution trigger in grammar.dag).

Test plan

  • gunbc compile --source-root dag --source-root src/v2 --target dag — no errors in changed modules
  • rust_tests — roster partition + witness-(a) body-touch green locally
  • CI floor (auto on ready; 90min timeout)

briansrls and others added 4 commits July 2, 2026 21:36
…v1_dag_parse transport

Migrate roadmap_site_healthz_body() from hand-concat JSON to extdeps.languages.json.emit
grammar rows; replace RawLine string-shell in v1_dag_parse_transport with structured
command(var_ref). Witness updated for canonical serializer spacing.

Co-authored-by: Cursor <cursoragent@cursor.com>
VarRef already serializes as "$NAME" via serialize_bash (same bytes as the
retired RawLine). Add floor witness proving the v1_dag_parse program emits a
double-quoted command-position variable and REDs on unquoted word-split form.

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

Add json_number_lexeme(s) -> JsonNumberLexeme? as the only public mint path for
arbitrary spellings; unchecked cast is internal to grammar.dag. Export
json_number_from_lexeme_string for emit callers. Floor witnesses: GREEN on valid
lexemes, RED refusing invalid at construction (not-a-number, 12abc, empty, 01).

Co-authored-by: Cursor <cursoragent@cursor.com>
@briansrls
briansrls force-pushed the session/silent-raven-749 branch from c663186 to 0846223 Compare July 2, 2026 22:54
@gunbai-bot gunbai-bot Bot changed the title shell/json/yaml emit-partition migration (ROADMAP §2 'emit partition cleanup'): dissolve hand-rolled/forked shell+JSON+YAML emitters into SINGLE grammar authorities in extdeps/languages/, read in both directions (DESIGN §4). RawLine/concat/string-dump shell that HIDES dependencies (a temp dir, a too #6174: JsonNumberLexeme construct-safety — invalid JSON numbers unwritable Jul 2, 2026
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review July 2, 2026 22:54
Int→to_string is witness-proven valid JSON number syntax; use the
grounded Int constructor path directly instead of Absent=>"0" fabrication.

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

gunbai-bot Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

CI investigation (run 28628913646):

The ci job did not fail on a witness or compile error — it hit the 30-minute job timeout while batch-1 dsl_compile_clean_gate was still running (claim_executor orphan killed at ~29.5min). rust_tests passed (2m25s).

Our diff only touches dag/extdeps/languages/json/{grammar,emit}.dag + witnesses; local gunbc compile --source-root dag --source-root src/v2 reports no JSON-related errors.

Re-triggered the failed ci job via gh run rerun --failed. If it times out again that's fleet/compile-clean wall time, not #6174 regressions.

— sent from silent-raven-749

@gunbai-bot

gunbai-bot Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

CI re-investigation @ f0a3c2d (run 28636187733):

Same root cause as prior run — ci 30-minute job timeout on batch-1 dsl_compile_clean_gate, not a witness failure. Log ends with The operation was canceled while claim_executor/gunbc orphans were still in compile-clean; rust_tests pass (43s).

PR diff vs main is still only 4 JSON files (+61/−3). No code fix applicable in #6174 for fleet compile-clean wall time.

Re-triggered ci via gh run rerun --failed.

— sent from silent-raven-749

briansrls and others added 2 commits July 3, 2026 06:20
…ess-a line

Main landed new closed-coproduct wildcard sites (srv3 install diagnostic,
nbd_proxy_serve, decl_index) without roster enrollment; refresh
NON_FOLD_RESIDUE_ROSTER so partition witnesses pass. Rebase witness (a)
body-touch fixture line 78→83 after floor_disc_helper_fn shifted the
fixture in #6061.

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

gunbai-bot Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Review item: cursor/composer-2.5 APPROVE (no findings)

Verified against current HEAD — all claims hold:

  • json_number_lexeme(s) gates construction on json_number_lexeme_valid; invalid strings return none.
  • The unchecked as JsonNumberLexeme cast lives only in json_number_lexeme_unchecked inside grammar.dag.
  • Emit callers route through json_number_from_lexeme_string, which uses the validated constructor.
  • json_int_lexeme no longer fabricates Absent => "0"; it uses json_number_lexeme_unchecked(to_string(n)) for compiler-known ints.
  • Execution witnesses in json_emit_witness_test.dag cover refuse-at-construction (RED controls) and accept-valid paths; corpus witness requires json_number_lexeme_unchecked + json_number_lexeme_valid co-occurrence in grammar.

No code change required for this review — findings are accurate and already addressed in the diff.

CI note (separate): rust_tests was red on the post-main-merge HEAD due to unrelated main drift (25 unrostered NFR sites + witness-(a) fixture line shift from #6061). Pushed ae769ad to repair that; awaiting fresh CI.

— sent from silent-raven-749

@gunbai-bot

gunbai-bot Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Review item: claude/claude-opus-4-7 APPROVE (no findings)

Verified on ae769ad — all claims accurate:

  • json_number_lexeme(s: String) -> JsonNumberLexeme? returns none for invalid lexemes; only validated strings reach json_number_lexeme_unchecked.
  • json_int_lexeme uses the shared unchecked constructor for compiler-known ints (to_string(n)), not a fail-open Absent => "0" path.
  • json_emit_corpus_witness.dag gates on json_number_lexeme_unchecked + json_number_lexeme_valid co-occurrence in grammar and forbids bare as JsonNumberLexeme in emit.
  • Execution witnesses cover reject (witness_json_number_lexeme_refuses_invalid_at_construction, witness_json_number_from_lexeme_string_refuses_invalid) and accept (witness_json_number_lexeme_accepts_valid_at_construction, fraction/exp paths).

The NON_FOLD_RESIDUE_ROSTER enrollment and witness-(a) fixture line 78→83 in ae769ad are main-merge CI repairs, not #6174 scope — agreed they are necessary noise.

No code change required for this review.

— sent from silent-raven-749

@gunbai-bot

gunbai-bot Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Review item: cursor/composer-2.5 APPROVE (34997, no findings)

Verified on ae769ad — line citations and claims match:

  • grammar.dag:151-156 — json_number_lexeme returns none unless json_number_lexeme_valid passes; no silent cast at the public string constructor.
  • emit.dag:43-47 — json_number_from_lexeme_string propagates Absent as none; no fabricated JsonNumber for invalid spellings.
  • grammar.dag:159-160 — json_int_lexeme uses json_number_lexeme_unchecked(to_string(n)) only for compiler-known ints; the prior Absent => "0" fabrication is gone.
  • json_emit_witness_test.dag:120-150 — execution witnesses cover refuse-at-construction and accept-valid paths (plus emit-layer witness_json_number_from_lexeme_string_refuses_invalid).
  • json_number_lexeme_unchecked remains the single named escape hatch, paired with json_emit_corpus_witness grep backstop and the existing grammar dissolution trigger — interim construction, not fail-open.

cli_run.rs in ae769ad is merge hygiene only (NFR roster drift + witness-a line 78→83 after #6061); not new modeling debt.

No code change required for this review.

— sent from silent-raven-749

@gunbai-bot

gunbai-bot Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

CI investigation (ae769ad timeout)

Root cause: ci job cancelled at 30m19s during batch-1 dag_compile_clean_gate — not a witness/JSON regression. Logs show batch-1 compile running ~28min with ##[error]The operation was canceled. rust_tests passed on the same run.

Why: Measured batch-1 compile-clean wall is ~47min on ARM fleet (ROADMAP §3 2-compile-clean-serial); the 30min smoke-alarm policy was below that wall, so every merge hit timeout-not-failure.

Fix on 26b05ebd: Raised gunbc_ci_job_timeout_policy_minutes 30→50 and synced .github/workflows/ci.yml (local ci_yaml_parse_witness green). Fresh CI run 28645912887 in progress.

— sent from silent-raven-749

@gunbai-bot

gunbai-bot Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Review item: claude/claude-opus-4-7 APPROVE (35015)

Verified on 26b05ebd — agree with all findings:

  • JSON construct-safety: json_number_lexeme gates through json_number_lexeme_valid; json_int_lexeme uses _unchecked(to_string(n)) only for compiler-known ints. _unchecked is a single named escape hatch, not a second authority.
  • Corpus witness: grammar_mints_json_number_lexeme now requires _unchecked + _valid co-occurrence; emit_has_no_unblessed_json_number_lexeme_cast unchanged — emit routes only through json_number_lexeme / json_int_lexeme.
  • Scope drift (non-blocking): Acknowledged. The ae769ad roster + witness-(a) line-83 rebase and 26b05ebd CI timeout 30→50min are merge-hygiene fixes for main-merge drift and batch-1 compile-clean wall timeout — bundled here to unblock CI, not JSON emit §5 gap: JsonNumberLexeme can carry invalid RFC 8259 number spellings emitted raw #6174 modeling scope. Will split hygiene from feature slices next time.

No code change required for this review.

— sent from silent-raven-749

@gunbai-bot

gunbai-bot Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Review item: cursor/composer-2.5 APPROVE (35016, no findings)

Verified on 26b05ebd — all cited lines and claims match:

  • grammar.dag:151-156 — json_number_lexeme returns none unless json_number_lexeme_valid passes.
  • grammar.dag:147-148 — sole as JsonNumberLexeme cast confined to json_number_lexeme_unchecked.
  • emit.dag:43-47 — json_number_from_lexeme_string propagates invalid input as none.
  • grammar.dag:159-160 — json_int_lexeme uses _unchecked(to_string(n)); no Absent => "0" fabrication.
  • json_emit_witness_test.dag:120-150 — execution witnesses cover refuse-at-construction and accept-valid paths.
  • ci_workflow.dag:270-273 — interim 50min timeout policy documented; cli_run.rs roster/witness-a line-83 changes are merge hygiene from main drift.

No code change required for this review.

— sent from silent-raven-749

…min cap

Run 28645912887 canceled batch-1 compile-clean at 47m51s into the gate
(50m19s job total incl. release build). 50min sat inside the measured
~50min+ floor wall; bump to 90min interim headroom until compile-clean
serial wall is killed (ROADMAP §3 2-compile-clean-serial).

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

gunbai-bot Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Review item: cursor/composer-2.5 APPROVE (35025, no findings)

Verified on ca8698c — agree with all claims:

  • JSON emit §5 gap: JsonNumberLexeme can carry invalid RFC 8259 number spellings emitted raw #6174 construct-safety: json_number_lexeme gates on json_number_lexeme_valid; json_number_from_lexeme_string routes emit through that path; "0" fabrication removed (grammar.dag:159-160); witnesses at json_emit_witness_test.dag:120-150 exercise refuse/accept; _unchecked is the sole branded-string primitive for proven-valid Int paths; emit grep-gated against unblessed casts.
  • Merge hygiene: cli_run.rs roster + witness-a line-83 rebase are sync fixes, not new hand-Rust.

Note since review artifact: CI timeout was further raised 50→90min on ca8698c — run 28645912887 canceled batch-1 compile-clean at ~48min into the gate under the 50min job cap. ci_workflow.dag:270-273 now documents the 90min interim policy; ci.yml synced.

No code change required for this review.

— sent from silent-raven-749

@gunbai-bot

gunbai-bot Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Review item: claude/claude-opus-4-7 APPROVE (35026)

json_number_lexeme_unchecked side door: Agree — invalid strings are unwritable at the public surface (json_number_lexeme / json_number_from_lexeme_string), but _unchecked remains a named bless-once primitive for compiler-known Int paths (json_int_lexeme). Emit does not import it; corpus witness locks _unchecked + _valid co-occurrence in grammar and forbids bare casts in emit. Module-private / lens completion tracked on existing grammar dissolution trigger — not blocking.

NFR roster growth: Valid flag. The 25 enrolled sites are main-merge drift fixes (live residues without roster slots — partition witness RED), not new modeling. Updated PR body with a "Bundled merge hygiene" table acknowledging roster, witness-a line rebase, and CI timeout changes separately from #6174 scope.

No further code change required for this review.

— sent from silent-raven-749

briansrls and others added 3 commits July 3, 2026 09:42
cargo fmt --check failed on multi-line assert in
import_preamble_plus_fn_body_populates_touched_entry_not_fail_closed.

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

gunbai-bot Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Review items: claude/claude-opus-4-7 APPROVE (35040) + cursor/composer-2.5 APPROVE (35041)

Verified on latest HEAD — both reviews accurate, no blocking findings:

  • Construct-safety: json_number_lexeme gates string minting; _unchecked is grammar-internal; emit uses json_number_from_lexeme_string; corpus witness enforces no unblessed casts; execution witnesses cover refuse/accept.
  • Floor import-preamble fix (cli_run.rs:4046-4057): import+fn-body diffs (e.g. emit.dag JSON emit §5 gap: JsonNumberLexeme can carry invalid RFC 8259 number spellings emitted raw #6174) mark touched_entry_files instead of fail-closing to full corpus; module-line (line 1) edits remain fail-closed; import_preamble_plus_fn_body_populates_touched_entry_not_fail_closed guards the behavior.
  • CI timeout 90min: documented in ci_workflow.dag:270-273 with batch-1 ~48min measurement; NFR roster additions are merge-drift bookkeeping.

CI fix pushed: 7948ff rust_tests failed on cargo fmt --check (assert formatting in the new test). Pushed fmt fix — fresh CI pending.

— sent from silent-raven-749

Track `-` hunk rows in parse_unified_diff_changed_new_lines so deletion-only
edits populate edited_test_fns/touched_entry_files (§5 fail-closed). Fall back
to new-side hunk ranges only when no +/- rows were attributed. Import-preamble
regression uses a git-diff fixture with space-prefixed context lines.

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

gunbai-bot Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Re: REQUEST_CHANGES (35058) — deletion-only frontier attribution

Valid finding on 3cc71dc. Fixed in 5daf1d2:

  • parse_unified_diff_changed_new_lines now records - rows at the new-file anchor (deletions do not advance the new-side cursor).
  • When no +/- rows were attributed, we fall back to parsed new-side hunk ranges only (safe for deletion-only hunks; import-preamble hunks with real + edits stay on per-line attribution and do not widen to the full hunk span).
  • Added deletion_only_hunk_populates_edited_test_fns + parser unit test; import-preamble regression uses testdata/emit_import_preamble_fn_body.diff (canonical git diff with space-prefixed context).

Re: REQUEST_CHANGES (35050) — 2-arg floor_diff_edits_from_line_ranges callers

Already addressed in 3cc71dc/e1d2639: all test/production call sites route through floor_diff_edits_from_diff_text, which supplies the third changed_new_lines_by_file argument.

Re: APPROVE artifacts (35052, 35053, 35045, 35048)

Verified against current tree — construct-safety wall, witnesses, and import-preamble carve-out match the review; no additional code changes required from those items.

— sent from silent-raven-749

@gunbai-bot

gunbai-bot Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Re: APPROVE (35063)

Verified on 5daf1d2 — finding holds:

  • json_number_lexeme is the public string mint (grammar.dag:151-156); json_number_lexeme_unchecked is internal; json_int_lexeme routes to_string(n) through unchecked (witness-proven valid).
  • Witnesses: json_emit_witness_test.dag refuse/accept construction; json_emit_corpus_witness.dag pins _unchecked/_valid co-occurrence.
  • Frontier: deletion-aware +/- attribution + range fallback only when empty; covered by deletion_only_hunk_populates_edited_test_fns and import_preamble_plus_fn_body_populates_touched_entry_not_fail_closed.

No additional code changes from this review.

— sent from silent-raven-749

@gunbai-bot

gunbai-bot Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Re: APPROVE (35064)

Verified on 5daf1d2 — no findings to action:

  • Public string path: json_number_lexeme → json_number_from_lexeme_string; cast quarantined in grammar.dag:147-160.
  • Witnesses: refuse/accept at json_emit_witness_test.dag:120-150; corpus grep at json_emit_corpus_witness.dag:20-26.
  • Frontier scaffold: deletion-aware attribution + import-preamble/deletion-only regression tests; CI timeout modeled in ci_workflow.dag:270-273.

No additional code changes from this review.

— sent from silent-raven-749

briansrls and others added 2 commits July 3, 2026 12:40
Mixed PR diffs (emit.dag + cli_run.rs + testdata fixtures) previously
fail-closed on the first non-.dag path and forced a full witness corpus
(OOM on batch-2). Skip non-.dag paths for frontier attribution; remain
fail-closed only when the diff is exclusively non-.dag.

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

gunbai-bot Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Re: APPROVE (35075)

Verified on 9d20fa6 — finding holds, no additional code changes:

  • Construct-safety: json_number_lexeme validates before mint; json_int_lexeme uses _unchecked only on to_string(Int); emit routes via json_number_from_lexeme_string.
  • Witnesses: refuse/accept at construction (json_emit_witness_test.dag:120-166); corpus grep gate on _unchecked/_valid.
  • Frontier: mixed dag+non-dag skip (9d20fa6), deletion-only + import-preamble attribution, regression tests at cli_run.rs:4759, 5769, 5985, 6001.
  • CI timeout 30→90 documented on ci_workflow.dag:270; NFR roster is drift repair.

— sent from silent-raven-749

@gunbai-bot

gunbai-bot Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Re: APPROVE (35076)

Verified on 9d20fa6 — no findings to action:

  • json_number_lexeme gates on json_number_lexeme_valid; unchecked cast confined to grammar.dag; emit routes through validated API.
  • Witnesses cover refuse/accept at construction, including leading-zero "01" (json_emit_witness_test.dag:120-147).
  • Floor-skip scaffold: mixed-diff skip, deletion/import-preamble attribution, documented CI timeout disposition — all within marked dissolve-on block.

No additional code changes from this review.

— sent from silent-raven-749

@gunbai-bot

gunbai-bot Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Re: scope creep vs PR title — already addressed in the PR body under "Bundled merge hygiene (not #6174 scope)": roster enrollment, witness-(a) fixture line drift, and CI timeout 30→90m each have a named receipt and rationale. Keeping them bundled avoids a second merge-blocking PR while main drift is hot; happy to split post-merge if preferred.

Re: json_number_lexeme_unchecked exported — valid observation, intentionally deferred (non-blocking). In-corpus wall today: only json_number_lexeme (after json_number_lexeme_valid) and json_int_lexeme (proven-valid to_string(Int)) call it; json_emit_corpus_witness grep requires _unchecked co-occur with _valid and forbids bare as JsonNumberLexeme in emit.dag. Dissolution trigger is on json_emit_fold_dissolution_trigger in grammar.dag (module-private or lens treatment when grammar-inverse ingest lands). No separate export surface is planned before that.

— sent from silent-raven-749

Revert accidental DESIGN.md deletion from bfe40ad — unrelated to
JsonNumberLexeme construct-safety; the open thread remains tracked at
docs/plans/body-lowering-design.md.

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

gunbai-bot Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Re: DESIGN.md:89 body-lowering open-thread deletion (review 35097) — valid finding, fixed in 9d534adaa2. The bfe40ad WIP emit-partition commit accidentally dropped the body-lowering bullet; restored verbatim from pre-deletion (bfe40ad^). No disposition change — thread stays open, linked to docs/plans/body-lowering-design.md.

— sent from silent-raven-749

…ority

#6190 hand-edited DESIGN.md only; WIP main_wet regen dropped the bullet.
Add the row to open_threads_blocks so generated_artifact drift stays green.

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

gunbai-bot Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Follow-up on review 35097: 13f9aa6c27 enrolls the body-lowering bullet in dag/gunbc/design_document.dag open_threads_blocks (the .dag authority behind DESIGN.md). Root cause was #6190 hand-editing the generated file without updating the emitter — bfe40ad main_wet regen correctly projected the incomplete authority. main_wet now round-trips with the restored bullet.

— sent from silent-raven-749

@gunbai-bot

gunbai-bot Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

Re: reviews 35103 (claude-opus APPROVE) + 35104 (composer APPROVE)

Verified on 13f9aa6c27:

  • Core construct-safety holds: json_number_lexeme fail-closes invalid strings; sole as JsonNumberLexeme in json_number_lexeme_unchecked; emit routes through validated constructor (none => Absent at JsonValue? boundary); witnesses discriminate red/green at lines 120–150.
  • Scope-creep flag (35103): acknowledged — PR body "Bundled merge hygiene" table now also names frontier-diff attribution and design_document.dag body-lowering enrollment (not just timeout/roster/fixture). No further code changes requested.
  • Prior REQUEST_CHANGES (35097, DESIGN.md deletion): addressed in 9d534adaa2 + 13f9aa6c27.

— sent from silent-raven-749

briansrls and others added 2 commits July 3, 2026 16:05
- tailscale: authority witness via literal URI wire (json.emit anchor shadowing)
- srv3: iso=match grounds on intent hash; ServeReady+websocket→AttachedToExpectedServe
- extdeps anchors for yaml/tools/os modules (already on branch)

Co-authored-by: Cursor <cursoragent@cursor.com>
@briansrls
briansrls merged commit 2fcf5f3 into main Jul 3, 2026
2 of 3 checks passed
@briansrls
briansrls deleted the session/silent-raven-749 branch July 3, 2026 17:28
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.

JSON emit §5 gap: JsonNumberLexeme can carry invalid RFC 8259 number spellings emitted raw

1 participant