Tag five os-me journey tests with use_case and record the operations.md proof #1392
Labels
No labels
P0
P1
P2
P3
bug
category/code-change
category/cross-repo
category/eval-run
category/investigation
category/no-test-target
category/owner-ruling
category/prose-artifact
category/recurring-chore
category/structure
category/umbrella
crc-refactor
create
delete
enhancement
filed-by/agent
filed-by/user
frozen
lint-rule
needs-info
needs-triage
next
plugin/cc-architect
plugin/os
plugin/os-adr
plugin/os-aidd-lint
plugin/os-backlog
plugin/os-context
plugin/os-doc-hygiene
plugin/os-sdlc
plugin/os-vault
project/cc-os
ready-for-agent
ready-for-human
recurring
review
rule-proposal
update
waiting
wayfinder:grilling
wayfinder:map
wayfinder:map
wayfinder:research
wayfinder:task
wayfinder:task
wontfix
worklist/deviations
worklist/lint-rule
worklist/new-implement-build
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jared/cc-os#1392
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The journey tracer (#1327) draws a journey only for a test that carries a
use_caseblock. os-me has no such test yet, so the os-me site has no journey views. The proof that traced journeys matchdocs/decision-system/operations.mdalso needs these tests.Reproduce
n/a: feature.
Approach
Split from #1327 because one implementation run covers one target (see the pipeline defect ticket filed with this one). Depends on #1327: the tracer, recorder and Writer must exist first.
A journey test enters where the user enters (the CLI controller or entry object that
bin/calls), uses real collaborators inside the block, and maps to one named use case in the decision-system docs. One tagged test per user goal. The five: route a judgment row; offer a reversible move for a high-cost row; climb the evidence ladder until the stop rule; one extraction run; report calibration by band. A journey with no in-process test that meets the conditions gets a new one. A draft from implementation 165 exists (shim plus a 109-lineuse_case_journeys_test.rb); the implementer may start from it.Required work:
UseCaseshim toplugins/os-me/test/test_helper.rb— check: presentdef use_case(_name) = yieldinplugins/os-me/test/test_helper.rbuse_caseblock — check: presentuse_case("route a judgment row")inplugins/os-me/test/**/*.rbOrchestrator work: record the comparison of the five traced journeys with operations.md in
docs/system-design-format/proof/journeys-vs-operations.mdafter the run merges (a docs check cannot run in the gate).Acceptance criteria
use_casetests pass.bin/system-model build plugins/os-me, when it finishes, thenplugins/os-me/design/generated/journeys/holds five dynamic views andlikec4 validateaccepts the model.Owner sketch
Origin
verdict:error; split to keep one target per runVERDICT: CREATE
Sequencing: the first journeys run outside os-me, on simple, often-used entry points: #1394 (handoff complete, plugins/os), then #1395 (os-backlog comment). This ticket follows them. A dry run proved the tracer works on plugins/os with no tracer change. This ticket's
--target os-mewording is wrong:system-modeltakes a project root path (bin/system-model build plugins/os-me).Work started on branch ticket-1392 via /os-sdlc:implement (session 47f54f99), target os-me. The proof-file item moved to Orchestrator work; it is written by hand after merge.
Resolution
Done: Five use_case-tagged Minitest tests in plugins/os-me/test/use_case_journeys_test.rb, each named after a decision-system operation, green in the normal suite (411 runs). system-model build plugins/os-me writes five views under plugins/os-me/design/generated/journeys/ and likec4 validate passes. Tracer now clears the generator's bundler variables (BUNDLE_GEMFILE, BUNDLE_LOCKFILE, BUNDLE_BIN_PATH, BUNDLER_SETUP, BUNDLER_VERSION) and the bundler/setup RUBYOPT preload, so a target with its own Gemfile loads its own gems in the trace subprocess; pinned by one test. Proof file docs/system-design-format/proof/journeys-vs-operations.md compares the journeys with docs/decision-system/operations.md (17 departures recorded).
Evidence: Hand-finished after implementation 192 ended verdict:error at behavior-verifier (filed as #1428). Feature commit
b68e53ae, merged to mainec6c4988. os-sdlc suite 2782 runs 0 failures; os-me suite 411 runs 0 failures; rubocop clean on the two os-sdlc files (os-me has no lint config); contract-auditor read-only audit PASS.Follow-ups: Three auditor GAPs went through ticket-skeptic, all DROP under the depth-1 rule, noted here: (1) Tracer#run_tests still ignores the runner exit status, so a broken target bundle records zero journeys silently; (2) the evidence-ladder climb loop exists only in the test, so its journey shows a path no production object owns; (3) the only object answering supports? for StakeReducer is a test Struct, so the offer-a-reversible-move view is empty. Filed: #1428 (behavior-verifier errors on a test-path-only diff).