Repository navigation
feat(assurance): versioned assurance thread (KR-A01..A05 done; A06-A08 in progress) - #89
Merged
Merged
Conversation
…cripts/delegate-qwen38.sh) The planner and drawing agent can load the MBSE skills (confidence label preserved). Errands are delegated to the local Qwen3.8 via pi: read-only by default, </dev/null, preflight, timeout; pattern documented, AGENTS.md section 8b. The unit tests for mbse_skill() were drafted by Qwen3.8 and triaged: one mutant survived, test strengthened. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GgXQRGsprSZc2oXGNj9n8X
…runs on Qwen3.8 via pi Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GgXQRGsprSZc2oXGNj9n8X
… service, CLI, MCP tools (partial) Baseline (docs/assurance) of the brief's own 8 requirements and its source obligations, system elements, controls and cases; typed profile from ufo-types (PromptExecution/ufo-types#31). - KR-A01 ReqIF export now carries typed attributes (enumerations for the profile vocabularies, strings otherwise); reqif_roundtrip compares semantic content and reports unsupported content explicitly. Previously every attribute was silently dropped. - KR-A02 assurance_trace: links resolved against a named model revision; dangling reported. - KR-A03 assurance_view: satisfaction assertions vs verification results drawn apart. - KR-A04 verification_runner + evidence_store: results bound to model/implementation/ configuration revisions; zero tests run is an error; allowlisted argv, no shell. - KR-A05 change_service: propose/validate/commit with an expected base revision; a stale base is rejected, never rebased. Live finding: the OMG pilot server does not enforce previousCommit, so this service is the only guard. - audit_log (KR-A08 building block): hash-chained, append-only. - assurance_service + kr0ki-assurance CLI + just recipes; 10 MCP tools; mcp_surface (resources/prompts); skills/requirements-authoring (Agent Skills format) and SKILLS.md. Not finished (see PR): gateway wiring (KR-A06), audit calls, sandbox (KR-A07), /assurance routes, bridge resources/prompts, Playb00k. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GgXQRGsprSZc2oXGNj9n8X
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.
Draft: first working slice of the versioned assurance thread
source obligation -> requirement -> system element -> enforcing control -> verification case -> evidence,using kr0ki's own requirements (
docs/assurance/) as the example. Depends on PromptExecution/ufo-types#31 (this branch pins its commitdb8e22f; bump to the merge commit after it lands).Done and verified
reqif_roundtripcompares semantic content and reports unsupported contentassurance_traceresolves links against a named model revisionsysml-v2-parserassurance_view: satisfaction assertions (dashed) vs verification results (evidence nodes with result + freshness)verification_runner+evidence_store: results bound to model/implementation/configuration revisions; stale on any changecargo test); zero-tests-run is an error, not a passchange_service: expected-base-revision commit; stale base rejected, never rebasedAlso:
audit_log(hash-chained, 7 tests),AssuranceService+kr0ki-assuranceCLI +just assurance-*, 10 MCP tools inMcpTool,mcp_surface(resource templates + prompts),skills/requirements-authoring(Agent Skills format) +SKILLS.md.Checks run:
cargo fmt --check,cargo clippy --workspace --all-targets -- -D warnings,cargo test -p kr0ki-core -p kr0ki-server(core lib 306, server http 96, all assurance suites pass).Findings worth a look
previousCommit(observed live; recorded on every run oftests/assurance_a05_live.rs). The service's own check is the only guard and only covers writers going through it.100 USD + 100 EUR = 200 EUR); handled inufo-types, patches prepared for SysMD separately (not sent).reqif_exportis round-trip-grade, not shown to be ReqIF-XSD-valid (noted in the baseline obligation).TODO (not in this PR)
crates/kr0ki-server/src/gateway.rsis written (per-route grants, deny by default, audit write before the handler) but not compiled or wired intoapp.rs. It is committed as a marked draft and is not in the module tree.audit_logis built and tested (hash-chained), but not yet called from the gateway.assurance.rs): not written.gateway.rsexpects them and its route-consistency test will fail until they exist.mcp_surface.rsis written with tests; the bridge,AppStateandmain.rsare not wired.just assurance-verify).ToolGateway::AuditRecordersub-part (the brief's "audit service" isn't among the seven parts) andowner = kr0ki-maintainersplaceholder.ufo-typespin to the merge commit once feat(playbook): add a k8s-topology example, testable from the Gallery #31 lands.🤖 Generated with Claude Code
https://claude.ai/code/session_01GgXQRGsprSZc2oXGNj9n8X