Repository navigation
docs: statechart harmonization plan + PM hooks design - #272
Conversation
…269) Inlines the revision module from ufo-types (rev 5f8d018) into ledgrrr-revision-io so the `features = ["revision"]` dependency is no longer needed. Bumps the workspace ufo-types pin to rev 1846e6f which adds multi_model.rs (MockModelClient, MultiModelConfig, MultiModelVerifier) required by issue #218. Breaking changes in ufo-types 1846e6f handled: - Relation::FeatureTyping removed: drop from revision.rs validate(), native.rs emit() match arm, and all test fixtures/assertions - ElementKind::VerificationCaseUsage/VerificationCaseDefinition removed: update native.rs supported_element() / native_feature(), update fixture JSON elements (changed to part_usage / requirement_definition) - Update revision path in durable_store.rs, durable_index.rs, book doc test, and all sysml-adapter source/test files from ufo_types::revision:: to ledgrrr_revision_io::revision:: All tests: PASS (64 tests across ledgrrr-revision-io + ledgrrr-sysml-adapter) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- docs/statechart-harmonization.md: survey of lazily vs alternatives, inventory of SurfaceChart (b00t-iface), ProcessChart (kr0ki), HsmChart (ledgerr-mcp), ufo-types SCXML export; unification plan with one runtime (lazily::statechart) + SCXML as interchange/export only; Phase 5 unblock path for issue #268; visual tooling notes. - docs/pm-hooks-design.md: PM hooks architecture — action-string → PmHookEvent mapping, PmHookHandler trait, three built-in handlers (logging/SSE/task-status), MCP task_status tool, SSE frame shape, integration points in TurboLedgerService, design invariants. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adversarial Review: docs(msft-agent-gov-ledgrrr): update SPEC.md status to Phase 3 completeProvider: sm3lly/neo-coder | Generated: 2026-10-13T13:12Z 🟢 AdvocateApproach AssessmentThe PR is a doc-only status update to Strong Points
Evidence
Recommended to Merge If...
🔴 ChallengerConcernsPhase 2/3 completion claims are unverified against actual code. The PR marks 8 tasks as "✅ done" but the test plan is only two checkboxes —
"Local workaround" for Gap 9 is hand-wavy. The spec says "Upstream No mention of breaking changes or migration. Phase 2 includes "API rename (non-breaking)" but Phase 3 introduces Missing Coverage
Alternative ApproachesInstead of marking everything as "done" in one PR, consider:
Blocking IssuesNone are strictly blocking, but I'd hold merging until:
|
Adversarial Review: docs: statechart harmonization plan + PM hooks designProvider: sm3lly/neo-coder | Generated: 2026-10-15T17:51Z 🟢 AdvocateApproach AssessmentThe PR solves a real architectural fragmentation problem: three divergent statechart implementations (SurfaceChart, ProcessChart, HsmChart) and an SCXML export path in ufo-types. The approach — survey, inventory, then converge on The PM hooks design is also well-scoped: synchronous, infallible, derived-state handlers that never write back to the statechart. This keeps the statechart as the single source of truth and avoids circular update loops. Strong Points
Evidence
Recommended to Merge If...
🔴 ChallengerConcerns
Missing Coverage
Alternative Approaches
Blocking Issues
|
Summary
docs/statechart-harmonization.md: survey oflazilyvs alternatives; inventory of all three live chart implementations (SurfaceChart in b00t-iface PR feat(b00t-iface): SurfaceChart — lazily ThreadSafeStateChart live execution layer #267, ProcessChart in kr0ki-core PR feat(kr0ki-core): SysML-v2 ActionUsage/Succession → lazily StateChart (issue #259 phase 4) #265, HsmChart in ledgerr-mcp PR feat(http-transport): replace tiny_http with axum/SSE Streamable HTTP (#227) #264) plus ufo-types' SCXML export; unified runtime plan (lazily as executor, scxml crate as interchange-only); Phase 5 unblock path for issue feat(statechart): Phase 5 — ufo-types DecisionNode/ForkNode/JoinNode extension for process chart completion #268; visual tooling notes.docs/pm-hooks-design.md: complete PM hooks architecture —PmHookEventenum,PmHookHandlertrait, action-string-to-event mapping table, three built-in handlers (logging/SSE/task-status),task_statusMCP tool spec, SSE frame shape,TurboLedgerServiceintegration points, design invariants (PM state is derived, hooks are synchronous and infallible, no handler writes back to the statechart).Closes the stop-hook requirement for the statechart survey and PM hooks design documents.
Test plan
PmHookEvent/PmHookHandlertracked indocs/pm-hooks-design.md§ Open Work (separate PR)🤖 Generated with Claude Code