Seed os-backlog journeys from a ticket fixture so test setup leaves the map #1579
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#1579
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 os-backlog journeys show test setup as if it were the command. In
issue-edit, steps 1-60 of 98 are theissue-createcommand. Seven other journeys start with an 11-stepcreate_issuecall, andprojectsrunsconfig-writeas setup. Setup is 165 of 1,447 steps. Theissue-edittest also fails whenissue-createfails, so one defect breaks two tests.Nine journeys run on the
repo:tracker, but the project configs under~/devuse Forgejo or GitHub. os-backlog has no ticket record fixture. os-sdlc has the convention inplugins/os-sdlc/skills/lens-testing/references/record-fixtures.md.The
os-backlog session start wrapperjourney has 0 steps, because its test runshooks/session_start.rbin a separate process and the tracer records only in-process calls. The hook is live. Keep the hook and the test.Reproduce
n/a: test structure change, measured from
plugins/os-backlog/design/generated/journeys/*.c4.Approach
Behavior does not change. The tests change, and the journeys regenerate.
TicketFixturetoplugins/os-backlog/tests/support/. It follows the record-fixture rules: it returns a value and does no I/O.FakeForgejoClientwhere the existing fake can carry the test. Keep arepo:journey only where therepo:behavior is the subject.tests/issue_edit_cli_test.rb, move theuse_casetag to a Forgejo test that does not runissue-create.create_issuesetup in tagged journeys with the fixture.tests/close_retry_cli_test.rb, check the closed state without a secondissuescommand inside theuse_caseblock.use_casetag fromtest_wrapper_emits_context_in_a_git_project. Thesession-starttag still satisfiesuse_case_tag_coverage_test.rb.design/generatedand record the new setup count per journey.Required work:
TicketFixtureinplugins/os-backlog/tests/support/*.rbos-backlog session start wrapperinplugins/os-backlog/tests/session_start_test.rbRejected: Copy
TicketScenariofrom os-sdlc into os-backlog — it writes arepo:file, so the journeys stay on a tracker that no project uses.Acceptance criteria
issue-edit, then step 1 belongs to theissue-editcommand.issue-createraises an error, when theissue-edittagged test runs, then that test still passes.create_issuesetup today, then the setup steps no longer appear.Non-goals
Adding a
Ticketdomain object. Renaming commands. #1484 stays open: it refuses an empty view in the generator.Origin
DESIGN:plugins/os-sdlc/skills/lens-testing/references/record-fixtures.mdapplied to os-sdlc only (memory, #1019).VERDICT: CREATE
Resolution
Done: Tagged journeys start from TicketFixture on the Forgejo fake with no setup steps; repo: tests stay untagged; empty wrapper journey removed; total steps 1447 to 1106
Evidence: main
59187efa; fast-gate PASS 364 runs 0 failures; docs/crc/os-backlog/fast-batch-1579/Follow-ups: #1582 stops load-time calls from appearing in journeys (ticket-skeptic VERDICT: CREATE)