SPEC v0.5: M3 and M5 decisions (D-026 to D-034, D-040 to D-043), HANDOFF rewritten
Records the decisions proposed by M3 (503cee5) and M5 (c28c52b). M5's proposals D-030 to D-033 are renumbered D-040 to D-043; D-035 to D-039 are reserved for M4. Adds the D-027 clock-skew re-stamp rule, M5's contract requests for M8 (PLAN-M8, SPEC 11.3), the connect-info note for M4 (PLAN-M4), the picture size note (PLAN-M6), and updates prompts/README status. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TQd3pEP9UeN2uifbHknQ7B
This commit is contained in:
@@ -27,6 +27,8 @@ Implement the sync protocol (pull and push), the append-only audit log with its
|
||||
- `rotate-epoch` sets `meta.sync_epoch` to a new `lower(hex(randomblob(16)))`, exit 0 (§10.4, §14.1).
|
||||
- Environment variables only those of §10.4; the FCM endpoints are code constants, overridable only through code (constructor parameters) for the stub-server tests.
|
||||
|
||||
- From SPEC v0.5 (D-032): M3's rate limiter keys per-IP limits on `ConnectInfo<SocketAddr>`; M4 changes `serve` to run the router with `into_make_service_with_connect_info::<SocketAddr>()` (§11.3 note M4). Until then all clients share one IP bucket.
|
||||
|
||||
## 4. Owned paths
|
||||
From SPEC §14.7 (v0.3): `kvitt-server`: `src/api/sync.rs`, `src/tasks/**`, `src/sync/**`, `src/audit/**`, `src/push/**`, `src/scheduler/**`, `src/cli/rotate_epoch.rs`, `tests/sync_*.rs`, `tests/scheduler_*.rs`, `tests/push_*.rs` (owner M4, shells from M2a; after landing: "later server plans").
|
||||
Also from §14.7: M4 may add dependency lines to a crate's `Cargo.toml` (second to land resolves `Cargo.lock` on rebase) and one line per new module to `mod.rs` files it needs.
|
||||
|
||||
Reference in New Issue
Block a user