Write an impact list¶
TL;DR
Before editing several traced items, run qmstrace impact ID… with their IDs. Review the
downstream work, origins and source limitations, then use the candidate line to prepare
the change request. Keep proposed new items explicit; a graph walk cannot invent them.
-
Identify the existing items the request would change. In the miniature service, for example:
-
Read the source notices before using the list. If a starting ID is unseen, correct it or make its source available and rerun. The whole request stops until every start is visible. A readable accepted request can confirm a reservation; the command still needs a declared item before it can traverse its links or include it in a candidate line.
-
Review the combined output:
impact — working-tree analysis, this repo only starting items: REQ-SVC-01 — A call carries a key · requirement · docs/req/service-srs.md:12 REQ-SVC-02 — Records survive a restart · requirement · docs/req/service-srs.md:21 baselines: judged from reachable local tags — remote-tag completeness NOT VERIFIED; qmstrace never fetches baselines: no matching reachable local tag — nothing frozen locally change requests: NOT VERIFIED — ../ledger/change-requests is unavailable; fresh citations are verified at the ledger's import downstream — grouped by item type: design element (2): DSN-SVC-01 — Key check · design element · docs/design/service-design.md:8 DSN-SVC-02 — Record store · design element · docs/design/service-design.md:13 · also Assumes DSN-SVC-01 component (2): src/service/keys.py · component src/service/store.py · component automated test (4): tests/integration/test_store.py::test_a_record_survives_a_restart · automated test, integration · also verifies DSN-SVC-02 tests/integration/test_store.py::test_a_restart_loses_no_accepted_record · automated test, integration tests/unit/test_keys.py::TestTheKeyCheck::test_it_runs_before_any_handler · automated test, unit tests/unit/test_keys.py::test_a_call_without_a_valid_key_is_refused · automated test, unit upstream origins — of the starting items: AGR-1 · origin clause, in the agreement AGR-2 · origin clause, in the agreement AGR-3 · origin clause, in the agreement candidate for review — configured baseline types, not a claim of edits or frozen state: Impacts: DSN-SVC-01, DSN-SVC-02, REQ-SVC-01, REQ-SVC-02 starts: 2 · downstream: 2 design elements, 2 components, 4 automated tests · upstream origins: 3 — this repo only -
Inspect the downstream designs, components and tests to decide which need edits and which need review only. Inspect the listed origins to decide whether the proposed change also requires a change to the agreement. The command's boundary is this repo. For a change that spans repos, run
qmstrace ledger impactwith the same IDs in the ledger: it walks every repo of the project. -
Use the candidate
Impacts:line as the starting point for the change request's list. Review it against the proposed edits; record review-only work in the impact analysis. Explicitly name proposed new items and any new agreement clause. The traversal cannot infer future content, and printing this line does not approve the change request. -
Follow the project's change-request acceptance process before editing frozen work. After the accepted edits, run check and review the changed trace links.
For the filtering rules and exit codes, see impact.