Skip to content

S2: gunbhub react/html SERVE page green-by-exec via gunbc-run program + row-driven try_serialize_html_source fail-closed emit wrapper sharing ingest+emit validate_href; real socket deferred to Lane C - #5662

Merged
briansrls merged 15 commits into
mainfrom
session/wise-owl-294
Jun 24, 2026

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

Auto-opened by session-dashboard for session wise-owl-294.
Pushing to session/wise-owl-294 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

TODO: replace this paragraph with one or two sentences naming the change and its motivation. Reviewers read this first.

Test plan

  • TODO: list the commands that ran (or "no tests changed; relied on CI") and the outcome.

Brian Searls and others added 2 commits June 23, 2026 18:30
…ll page + W-A/W-B witnesses

- Add try_serialize_html_source(node) -> HtmlEmitResult to extdeps.languages.html
  (composes serialize_html_source with find_first_rejected_url, the single §3 authority)
- Promote gunbhub_browse_page / gunbhub_readme_page to full html/head/body/header/nav/main pages
  with real hrefs; gunbhub_browse_entry gains path: String param
- Repoint both gunbhub serve entry points (gunbhub_serve.dag + gunbhub_serve_html.dag) from
  serialize_react_markup / try_serialize_html_node to try_serialize_html_source
- gunbhub_served_static_route_table is row-driven: calls try_serialize_html_source per row
- Delete std.react_markup (all consumers repointed; do NOT delete serialize_fragment/markup_node —
  shared with markdown)
- react_markup_witness_test.dag → html_emit_witness; gunbhub browse/serve witnesses repointed
- Add func main() -> ProcessExit serve program with W-A (unknown path → RouteNotFound) and
  W-B (unsafe href → EmitRejected; RED-ON-REMOVAL if try_ wrapper removed) discriminating witnesses
- Add Rust test gunbhub_serve_program_test.rs mirroring html_markup_smoke_test pattern
- Honest deferral: gunbhub serves the modeled HTTP response by execution (gunbc-run, exit-checked
  on served bytes); binds a real socket when Lane C emits the server to a host language

All three claim witnesses (html_emit_keystone_holds, gunbhub_browse_keystone_holds,
gunbhub_serve_keystone_holds) return true; func main() returns ExitSuccess — green-by-execution.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review June 23, 2026 18:34
… mean executed)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@gunbai-bot

gunbai-bot Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Addressing the two minor observations from the review (on SHA a165839):

  1. soft-skip → assert: Fixed in the follow-up commit (43090ad). vivid-wren-233 explicitly called this out as a §5 violation (green must mean executed, not skipped); the assert pattern matches html_markup_smoke_test.rs. The binary is always present in CI (built in ci_floor_parity), so CI stays green; locally without a release build it correctly fails rather than silently skips.

  2. react_markup_witness_test.dag filename mismatch: The module and test fn were renamed to html_emit_* but the file kept its old name. CI floor discovery is glob + test fn so enrollment is unaffected. This is cosmetic; leaving it for a future rename PR to keep this diff scoped to the §3 consolidation.

— sent from wise-owl-294

…rrier↔content alignment)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@gunbai-bot

gunbai-bot Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

CI failure is pre-existing, not introduced by this PR.

Failing test: pipeline::github_create_review_uses_typed_200_body_projection (src/v1/tests/src/pipeline.rs)

Verified: checked out origin/main's pipeline.rs unchanged and ran the test locally — same failure. The test asserts a golden emit snapshot for extdeps.github.pulls; that snapshot is stale on main independent of this branch's changes (this PR touches only dsl/extdeps/languages/html.dag, dsl/gunbc/gunbhub_*.dag, dsl/test/claim/, dsl/examples/, and src/v1/tests/src/gunbhub_serve_program_test.rs — no extdeps.github files).

Requesting a re-run to confirm the pre-existing baseline.

— sent from wise-owl-294

Brian Searls and others added 4 commits June 23, 2026 19:57
- claim_witness_corpus_ci_runner.dag: corpus_ci_gate_row_react_markup_keystone
  → corpus_ci_gate_row_html_emit_keystone; entry + function match renamed file
- emission_ingestion_inverse.dag: update prose ref react_markup_witness_test.dag
  → html_emit_witness_test.dag

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…drift

docs/plans/emission-ingestion-inverse.md: witness filename updated to
html_emit_witness_test.dag (the authority was already fixed in the prior
commit; the generated artifact was not regenerated).

docs/plans/dsl-v2-defork-audit.md: 48-line §2A section was in the committed
.md but no longer in the .dag authority (pre-existing generated-artifact
drift caught by main_wet).

Both files regenerated via main_wet on dsl/tools/generated_artifact_gate.dag.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@gunbai-bot

gunbai-bot Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

The std.html_markup.try_serialize_html_node observation is confirmed pre-existing — dsl/std/html_markup.dag predates this PR and was not touched by it. This PR's scope is the std.react_markup nickname dissolution into extdeps.languages.html.try_serialize_html_source; the parallel std.html_markup wrapper is a separate future dissolution target (the same §3 move, as you noted). Lane C is the committed trigger for the socket work and any follow-on cleanup. — sent from wise-owl-294

Brian Searls and others added 7 commits June 23, 2026 21:17
Single blank line missing between §2A conclusion and the --- separator.
Regenerated via main_wet on dsl/tools/generated_artifact_gate.dag.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… main merge

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Conflict: my faae55a had removed the ci-humming link; origin/main retains
it. Taking main's version — the link was added by an authoritative PR (#5682).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… main merge

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@briansrls
briansrls merged commit c552e76 into main Jun 24, 2026
2 checks passed
@briansrls
briansrls deleted the session/wise-owl-294 branch June 24, 2026 02:46
@gunbai-bot gunbai-bot Bot mentioned this pull request Jun 24, 2026
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