Repository navigation
Govern conflicts in the typed graph and preserve human decisions - #1131
Aschenbath wants to merge 4 commits into
Conversation
Signed-off-by: Nash Aschenbath <wwh86696@163.com>
WaylandYang
left a comment
There was a problem hiding this comment.
Thank you. This is the conflict cut of 0043 that #695 puts first, and the care shows: the structural gates before any automatic write, the decision and its undo committed together, and leaving 0107 free for #1097.
At 3,100 lines it is more than we can review as one change, and one part needs evidence first. Please split it along the seam it already has:
- The human path. Migration 0108, the writer shared by the conflict card and the Agent queue, and date editing at its stated precision. No model.
- The agent proposes. Batches, per-item parsing and proposals in the Agent queue, with a person accepting or overriding. No automatic writes.
- Automatic application and undo. With a run on the lease bench against a real model, reporting how often an applied action was right. Governance is on by default, so merging this turns it on for every base; we enabled it for duplicates only after measuring.
In each part, tests cover the behaviour that part introduces (the measure on #1126). For work of this size, please say so on the issue first, so we can agree the cuts before you write them. That applies to #1133 too, which I have not read yet.
Thanks again.
|
Thank you again for this work. Checking in on the split suggested on 10-09 (the human path first, then the agent's proposals): are you still planning to take it that way? Migration 0108 is long taken on |
Signed-off-by: Aschenbath <Aschenbath@users.noreply.github.com>
Signed-off-by: Aschenbath <Aschenbath@users.noreply.github.com>
…ally Signed-off-by: Aschenbath <Aschenbath@users.noreply.github.com>
Why
A person reviewing a temporal conflict needs to correct a successor's start or choose when its predecessor ended. The conflict card previously lacked the start correction, and graph changes, conflict settlement and the person's audit event could commit separately.
This PR is the human-path slice of issue #695, following ADR 0043. It adds the ordinary human decision path first. #695 still includes model proposals, automatic conflict decisions and their undo/measurement work, and the other review queues. This PR leaves issue #695 open. The governor continues to handle duplicates.
Refs #695, #725.
What changes
0117_a_person_can_retime_a_conflict.sqladdsretimed_newto the resolution vocabulary; the CLI schema count is 105. The existing ADR records this human-first split.The API, temporal writer, audit transaction, card and database regression belong together: exposing the new decision without its atomic settlement would leave a partially implemented human path. Model proposals remain a separate slice.
How it was checked
Validated code is committed as
3b5fafae5e193def266e9571b7138b3f54a3281f. The six existing ignored tests retain their normal workspace behavior.RUST_TEST_THREADS=1 target/test-env.sh cargo test --workspace: passed — 1646 passed, 0 failed, 6 ignored; exit 0. The wrapper setsUTOPIA_DATABASE_URL,UTOPIA_TEST_REQUIRE_DB=1andUTOPIA_TEST_REQUIRE_PDFTOTEXT=1, so database/PDF coverage is required. Full output:target/resume-human-conflict-workspace-final.log.cargo fmt --all --checkandcargo clippy --workspace --all-targets -- -D warningspassed again after fixing the audit fault-injection fixture. Previously completed web validation (target/resume-human-web-final.log,target/resume-human-web.log): production build and all 307 web tests (44 files).Before review
git commit -s)cargo fmt --all --check,cargo clippy --workspace --all-targets -- -D warningsandcargo test --workspacepassweb/:pnpm buildandpnpm testpasscrates/utopia-store/was tested withUTOPIA_DATABASE_URLsetdev, andCURRENT_SCHEMA_VERSIONequals the 105 migration files