Repository navigation
T14 — Names follow the id, end to end - #2821
Conversation
A stopped box named dev keeps its id and name, a new dev starts beside it, and a rename of either moves only that box's name. The name resolves to the running box at each step, and the daemon log names the id of each renamed box.
|
Important Review skippedBot user detected. To trigger a single review, invoke the
|
|
Approved: every review thread resolved at @mitodrummer resolved the last thread, which releases the approval this review had withheld. Nothing to do. |
There was a problem hiding this comment.
arch-review: PASS · the full ruling
The change adds one test and no product code. The test checks that a stopped dev keeps its name and id and that a new dev reuses the name with an id of its own. It also checks that the name resolves to the running box, as architecture.md line 389 says. It checks that a rename moves only the name, as line 486 says. The plan asks for one span over stop, start and rename. The test does not check that span, and the design does not require it.
Ruled at 286bd57 against gominimal/arch@8640f85e193d by claude-opus-5-5.
A bare substring of the new name also matched the old_name key.
There was a problem hiding this comment.
arch-review: PASS · the full ruling
The compare makes the log check in the test stricter. It now matches the new_name field and not a bare name that the old_name key also contains. The test still proves architecture.md line 389 and line 486. The PASS on 286bd57 stands for this head.
Ruled at 383eae6 against gominimal/arch@8640f85e193d by claude-opus-5-5.
|
Round 1 of 10 on the runtime's review findings, pushed as
Verify Review threads the coder judged:
A person can run the test and see a box named dev stop, a new dev start, and each rename keep its id. Only the running box answers to the name, and the daemon log names each id with its exact new name. Notes from the agent: Revise round 1: the log check now matches the new_name field (new_name="old"), not a bare substring. |
There was a problem hiding this comment.
minimal-review — approved
Verdict APPROVE — every review thread is resolved; @mitodrummer closed the last one. The review of 383eae69251b withheld this approval on the threads open then. Posted as a comment: the App cannot approve its own pull request; the check and the label carry it.
There was a problem hiding this comment.
Reviewed at 383eae6. The end-to-end test proves S3's story through the manager. A stopped dev keeps its name and id, a new dev starts with its own id, a rename moves only that box's name (and starts nothing), the name always answers to the running box, the listing shows both ids under their new names, and the daemon log names each renamed id with its new_name field.
T14 — Names follow the id, end to end
slice: S3
kind: integration
covers: none
size: S
est: 40 code, 120 tests
executor: agent
difficulty: routine
model: light
diagnostics: daemon log names both ids throughout
observability: one span covers stop, start and rename
layers:
- slice:
- crates/minimald/src/box_manager/tests.rs: tests
test: cargo nextest run -p minimald stopped_dev_and_new_dev_keep_ids_through_rename
produces: none
consumes: none
proof: stop a box named dev, start a new dev, rename either, and see each keep its id while only the running one answers to the name.
depends on:
- blocked by #2396
- blocked by #2400
- blocked by #2397
- blocked by #2758
- blocked by #2762
Proof
The test stopped_dev_and_new_dev_keep_ids_through_rename stops a box named dev and starts a new dev beside it. Then it renames the stopped one to old and the running one to web. After each step, each box keeps its own id, the name dev resolves only to the running box, and the listing shows the same two ids under their new names.
Notes from the agent: Only the test file changed. The behaviour was already on the branch, and the test passed on its first run. The test stops the box by a write to its record, as set_record_state does in the other tests here. It does not call a stop RPC. The test renames each box through its actor, as the RenameSession RPC does. Diagnostics: the test asserts that the daemon log line 'renamed a box' names the id and the new name of each renamed box. Observability ('one span covers stop, start and rename') is not asserted. The rename logs on the actor task, so a span that the test opens does not reach that log line. A span in product code is outside this task's layers. cargo clippy -p minimald --all-targets is clean.
Tests
cargo nextest run -p minimald stopped_dev_and_new_dev_keep_ids_through_renameVerify
min task run agent-verifypassed ([tasks.verify]).Closes #2403