row 264a r13 (#1769): BUILD.md writes M2's four edits before phase 4 reruns: the receive filter, delivery_same_session dropped from 3k-3l.sql and schema.sql, and store.mjs's SCHEMA_SHA256 set to the mutated schema; a kill counts only as a receive-test assertion; doc only (mos-1279, sage-2688, sage-2690, duckworth-0143, duckworth-0144)
This commit is contained in:
1 parent
2cc34aef87
commit
84f53540dd
1 file changed
+18
-2
@@ -201,11 +201,27 @@ Each runs on a copy of the candidate tree with one edit, and the named test must
|
||||
run's fence entirely, so the kill shows the refusal is tested, not that generations add a check.
|
||||
A mutant that puts back `h.holder_run !== s.run` survives by equivalence. That isn't a coverage
|
||||
gap.
|
||||
- M2. In `message.receive`, drop the `mt.session=?` filter (the session clause and its argument).
|
||||
Killed by sessions.test T1, where a1 would take the second session's message.
|
||||
- M2 (mos-1279, sage-2688, sage-2690). Four edits, and the restore sha check covers all four files:
|
||||
1. broker.mjs:5251, in `message.receive`: drop the `mt.session=?` filter (the session clause and
|
||||
its argument).
|
||||
2. 3k-3l.sql: drop the `delivery_same_session` trigger.
|
||||
3. schema.sql: drop the same trigger.
|
||||
4. store.mjs:16: set `SCHEMA_SHA256` to the sha256 of the mutated schema.sql, with the replace
|
||||
sessions.test:432 uses. store.mjs:94 checks schema.sql against it at import (duckworth-0144).
|
||||
`LEGACY_SHA256` stays. The chain check at :117 holds because both SQL files drop the trigger.
|
||||
Without edits 2-4, the trigger refuses #delivery's INSERT first. request() then returns
|
||||
storage-refused before any assertion runs. That happened at r13 (duckworth-0143).
|
||||
A kill counts only as an assertion in a test that exercises receive: sessions.test T1 :89, T7 :422,
|
||||
or another receive assertion the log names. A failure only at the trigger's own pin (:164-170)
|
||||
doesn't count, and neither does a thrown error. The killing test is expected to be T1, where a1
|
||||
would take the second session's message.
|
||||
- M3. In 3k-3l.sql, count every claim row for `generation` instead of `op='claim'` rows only.
|
||||
Killed by sessions.test T7, generations 1, 1, 1, 2, 2.
|
||||
|
||||
Phase 4 rerun on r13 (mos-1279, sage-2688). The r13 gate's phases 1-3 carry. M1-M4 rerun whole on
|
||||
2cc34aef8 plus this note, each under `timeout -k 10 300` (Run limits). Any survivor, throw or
|
||||
non-receive kill goes to Mos unplaced.
|
||||
|
||||
### Dry run
|
||||
|
||||
Before writing any node test, I ran 3j-3k.sql in an in-memory Python sqlite3 on a 3j fixture
|
||||
|
||||
Reference in new issue
Block a user