[ADR-016/045] Request execution modes + presentation envelope (cluster-13)#384
Merged
ohdearquant merged 1 commit intoMay 25, 2026
Conversation
…luster-13)
Implements 8 ADR-alignment findings from cluster-13:
- khive-request: add ExecutionMode (Single/Parallel/Chain), ArgValue enum
with PrevRef variant, chain pipe-syntax parsing with $prev substitution,
MixedSeparators and PrevRefOutsideChain error variants
- khive-runtime: new presentation module (ADR-045) with Agent/Verbose/Human
modes — UUID shortening, timestamp compaction, empty-field dropping,
lifecycle-null preservation, score truncation (3 sig figs)
- khive-runtime: AmbiguousPrefix { prefix, matches: Vec<Uuid> } error variant
in resolve_prefix path (ADR-016 CRIT-4)
- khive-mcp: server handles Chain mode with sequential dispatch, $prev
substitution against canonical pre-presentation result, abort-on-failure
with aborted count in summary envelope; presentation/presentation_per_op
fields in RequestParams; apply_presentation_to_result skips error envelopes
- Tests: integration.rs and contract_test.py use presentation=verbose so
scripted callers receive full canonical UUIDs (ADR-045 migration policy)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This was referenced May 25, 2026
6 tasks
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.
Summary
Implements cluster-13 (8 ADR-alignment findings: 4 CRIT + 4 MAJ) against ADR-016 and ADR-045:
khive-request— pipe-syntax chain parsing (op1 | op2),ArgValue::PrevReffor$prevsubstitution,MixedSeparatorsandPrevRefOutsideChainDSL error variantskhive-runtime— full ADR-045 Agent/Verbose/Human modes: UUID 36→8-char prefix, ISO-8601 timestamp compaction (relative < 24h / minute-truncated), empty-field dropping, lifecycle-null preservation, 3-sig-fig score truncation; 14 unit testsAmbiguousPrefix { prefix, matches: Vec<Uuid> }inRuntimeErrorfor UUID prefix resolution (CRIT-4)$prevresolved against canonical pre-presentation result, abort-on-failure withabortedcount in summary envelope;presentation/presentation_per_opfields inRequestParamsintegration.rsok_oneandcontract_test.py_request_rawpasspresentation: "verbose"so scripted callers get full canonical UUIDs per ADR-045 migration policyTest plan
cargo check --workspace— passescargo clippy --workspace --all-targets -- -D warnings— passescargo fmt --all -- --check— passescargo test --workspace— 342 unit/integration tests passdeno test(docs/) — 397 tests passpython3 tests/smoke_test.py— all verb smoke tests pass (KG + GTD + memory)python3 tests/contract_test.py— all contract tests passRUSTC_WRAPPER= make ci— CI Passed🤖 Generated with Claude Code