Repository navigation
ROADMAP slice-2 step-2: emit a section from the work-DAG model + §2 delete redundant box enum - #5508
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…r + witness Re-homed the consolidated, witness-verified slice-1 (orig bold-bee-822 #5489) onto the surviving session branch. Checkbox is DERIVED from PR merge-state (extdeps.github.pulls merged_at, the §3 authority); status_drifted = committed box ≠ derived. Discriminating witness green by execution. Host-fed gate edge + emit are follow-on slices. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…tion A blanket 'cited-PR-merged + box [ ] ⇒ drift' rule false-positives on partial-evidence lines (ROADMAP §0 rust-gate cites merged #5456, correctly [ ]) — a fail-closed-but-wrong gate (§5). Model now splits CompletesIff (derivable + gated) from HandChecked (honest un-derivable residue, never gated). Added the decisive non-tautology witness: a HandChecked line citing a merged PR while [ ] evaluates GREEN (RED under the blanket rule). Tightened the ROADMAP sub-line + recorded the boundary in plan §5. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Addresses the non-blocking review note (claude-opus-4-7): CheckboxState is a fieldless sum with working structural ==/!= (as code_change_workflow.dag already uses), so the hand-rolled equality was needless §2 redundancy. Witness still green by execution. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…DAG authority model Per parent (warm-lark-306): the slice-1 completes-iff binding IS the first row of the work-DAG authority model; slice-2 (emit(work_model, Markdown)) widens it rather than re-coining a parallel completion edge (§3). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…P line
A roadmap line = RoadmapNode { node: ProcessNodeId, line: RoadmapStatusEntry, carrier },
composing existing authorities (no re-coin, §2/§3): identity+deps from ctrl.process_algebra
decomposition (RoadmapParent = TopLevel|UnderParent), status from slice-1 RoadmapStatusEntry,
title+plan-doc carrier as host-fed presentation. Dangling-link wall via carrier_resolves.
Discriminating witness green by execution; perturbation-proven on the carrier wall + parent lookup.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
# Conflicts: # docs/plans/invert-hand-maintained.md
# Conflicts: # docs/plans/invert-hand-maintained.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Slice-2 step-2: emit a ROADMAP section from the work-DAG model
Third slice of inverting the hand-maintained ROADMAP (
docs/plans/invert-hand-maintained.md).Builds the roadmap-specific projection
emit(roadmap_work_model, Markdown)on top of theauthorities that already landed:
gunbc.roadmap_model(roadmap_model (slice-2 step 1): work-DAG authority model for a ROADMAP line #5498) — the work-DAG line model;gunbc.roadmap_status(Invert hand-maintained docs - generate ROADMAP from .dag authority plus drift-gate, starting with the PR-to-checkbox status slice #5491) — the PR→completion binding;std.markdown+extdeps.languages.markdown.serialize_markdown_source(Add Markdown as an emit medium: row-driven serialize_markdown_source (medium rows) #5501, deep-newt) — therow-driven Markdown medium.
gunbc.roadmap_emit.project_roadmap_section(title, nodes, edges, merged) -> MarkdownDocumentcomposesthese into an H2 section whose task-list items render each line's box. The checkbox is the
DONE-authority decision (plan §6.1): a
CompletesIffline's box is derived from the merged-PRset (the inversion — generated, never hand-toggled); a
HandCheckedline renders its authored box(the honest
DecodeFidelityresidue, §5). Children nest one indent level (fuel-bounded, §4).SCAFFOLD-marked: the dsl serializer fold on the v1 seed, in the same shape as
expected_ci_yml = serialize_yaml(project_workflow_to_yaml(…)). Dissolution trigger = the eventual v2Markdown
TargetModel(§4 one-grammar-both-ways), at which point the projection emits v2 Nodes.§2: deleted the redundant box enum (not just renamed it)
roadmap_statuspreviously modeled the box as a 2-variant enum (Done | Todo), which collided withstd.markdown.CheckboxState = Checked | Unchecked(two same-named types → the resolver drops bothconstructor sets). The enum was only ever consumed as a Bool by the projection, so it was a redundant
second representation. Deleted it (net concepts shrink > rename): completion is now a plain
Bool(RoadmapStatusEntry.claimed_done; predicateprs_all_merged),std.markdown.CheckboxStateis the project's sole checkbox type, and the Bool→glyph map lives in the emit layer
(
task_item_with) soroadmap_statusstays medium-agnostic. Deleted:CompletionState,derive_checkbox,checkbox_done, testcheckbox_is_done.claimed_doneis kept on the entry soslice-1's drift gate still works for
CompletesIfflines (it dissolves into the emit wall later, plan §7).Proof by execution
dsl/test/claim/roadmap_emit_test.dag(auto-enrolled in the CI floor) is discriminating: the H2heading renders, a
HandCheckedparent renders its authored box + plan-doc link, and aCompletesIffchild renders a derived
[x]when its PR is in the merged set /[ ]when not — flip the merged setand the box flips. All three roadmap witness suites (status / model / emit) run green.
🤖 Generated with Claude Code