dev03 · open a session
A sub-flow of A developer's workflow. Entered from dev02 · clarify what the story means, carrying story.id. Exits to dev04 · pull the working branch, carrying a cursor, the state of the trees and — where the project keeps a series — an opening reading.
dev03-1 read the cursor Proven
As a developer returning to work I want the cursor to say where the last session stopped and why, so that I pick up where I left off.
The tests that cite it (5)
tests/test_sessions.py::test_a_cursor_holding_a_command_is_read_as_a_sentence_and_never_run— passed, ungroundedtests/test_sessions.py::test_an_absent_cursor_is_an_answer_rather_than_a_guess— passed, ungroundedtests/test_sessions.py::test_a_session_opens_from_the_cursor_the_last_one_left— passed, groundedtests/test_sessions.py::test_with_no_cursor_both_causes_are_named_and_neither_is_guessed— passed, groundedtests/test_sessions.py::test_a_cursor_is_still_data_when_the_tool_reads_it_for_real— passed, grounded
Requirements (5)
- dev03-1-ur1the cursor carries what is next, where it is specified, and the one line that cannot be re-derived by reading
- dev03-1-ur2an absent cursor is reported with both its causes — a first session, and a session that did not close — and reconstructed from neither
- dev03-1-ur3
cursor.next_tasknames astory.id
- dev03-1-nfr1the cursor is read as data and never executed
- dev03-1-nfr2a field of the cursor this version of plumb does not recognise is kept exactly as it was when the cursor is next written
dev03-2 check the code base is as expected Proven
As a developer opening a session I want to know whether the trees match what the last session left, so that I start from a known state.
The tests that cite it (2)
tests/test_sessions.py::test_the_ground_names_which_tree_is_dirty— passed, ungroundedtests/test_sessions.py::test_start_briefs_over_a_dirty_tree_and_wrap_up_refuses_it— passed, grounded
Requirements (3)
- dev03-2-ur1the code base is checked against what the last session expected, so the cursor is read first
- dev03-2-ur2a declared tree that is not a repository is skipped rather than failed on
- dev03-2-nfr1opening reports; the gate is held at the close
dev03-3 take the opening position in the series Unproven
As a developer whose project keeps a series I want this session's starting position in it recorded, so that the close reports exactly my session's stretch of the history and nothing around it.
the citations that passed reached nothing wired — what ran was the implementation on its own, which is not evidence the story holds where it is used
The tests that cite it (2)
tests/test_sessions.py::test_a_reading_records_what_a_run_found_and_never_a_verdict— passed, ungroundedtests/test_sessions.py::test_the_reading_is_kept_out_of_the_repository_it_measures— passed, ungrounded
Requirements (5)
- dev03-3-ur1the reading records what the board found, with the version and the moment that found it
- dev03-3-sr1the reading lives outside the repository and never travels
- dev03-3-nfr1nothing derives a status from a stored reading
- dev03-3-nfr2a project that declares no series skips this step, and nothing downstream may come to depend on it
- dev03-3-u1whether a reading taken by another version of plumb is refused, or read and flagged, is undecided