Commit Graph
12 Commits
Author SHA1 Message Date
kyleandClaude Opus 5.5 c3be9d0f83 docs(spec,plan): decision G — quarantine on open, time from peers
The store opens before trusted time. Observations already in the log
are quarantined (not summarised, offered, believed or age-trimmed;
addressed ones report released) until LogStore::set_wall_clock runs the
downtime fold. Trusted time comes from the robot's RTC/GPS, else a
peer's observed_at + age_ms (smallest age wins), else the robot's own
fail-safe. Supersedes "don't open the store until trusted time".

Plan: Task 10 rewritten (quarantine, set_wall_clock, FoldReport,
derived marker wall time); new Task 10b (host trusted-time state
machine, time from peers, observed_at).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 01:53:55 -07:00
kyle 2d9d549815 docs(spec): amend decision G — plain wall time at open, derived marker wall time 2026-10-20 01:39:10 -07:00
kyleandClaude Opus 5.5 aedb8026d5 docs(spec): 1.0 decisions F (flush) and G (age across downtime)
CI / ci (push) Failing after 33s
- F: Store::flush(now) with a no-op default; Node::flush(now) replaces
  Node::store_mut. The caller's now anchors ages (fixes LogStore's stale
  clock marker, F18).
- G: age_ms is documented as a lower bound. Robots are assumed to have a
  trusted wall clock (RTC or GPS); LogStore adds power-off time on open
  from a wall-clock flush marker. Unknown downtime expires held addressed
  messages and floors held broadcasts' age at unknown_downtime_age_ms.
  Hosts set observed_at.
- AGENTS.md: specs and plans change only to record decisions Kyle has
  discussed and agreed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 01:14:37 -07:00
kyleandClaude Opus 5.5 a4cde40e85 docs: sweep after the fleet fixes; approve the 1.0 spec
- README: custody chain and receipts replace epidemic forwarding; Ack
  frame; running on a robot (host crates, current limits); security;
  crate layout, constants and reading list.
- AGENTS.md: current spec list, receipt constraints and review focus
  7-8, first_seq rule, constants, host crates and the ros2 gate.
- THREAT_MODEL.md: re-checked at 89041ea. F1, F2, F5, F17 fixed; F3
  (single configured peer) and F4 partly fixed; new F18 (no scheduled
  flush, stale clock marker).
- CHANGELOG: Unreleased section for the fleet milestone and fixes.
- tines-bt README: single-peer limit; manual BLE check not yet recorded.
- tines service rustdoc: oversized-frame behaviour, JSON tagging, clock.
- 1.0 spec: approved (2026-10-20), including §10 and the adversarial
  fuzz mode.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 01:03:08 -07:00
kyle 55cc7952bc docs: security assessment specs (fleet-fixes, host-hardening, 1.0 §10, threat model) 2026-10-19 12:02:33 -07:00
kyle 3b1a644b24 docs: tines-core 1.0 design spec (draft v4) 2026-10-18 23:47:54 -07:00
kyle e7fe26fc3c docs: fleet deployment v1 design spec (approved) 2026-10-18 07:12:20 -07:00
kyle 720835de2f docs: pin custody count bound (lifetime + max_count) in addressed-delivery spec 2026-10-18 01:19:40 -07:00
kyle 6c7b1ed492 docs: add addressed-delivery design spec (draft) 2026-10-18 01:14:57 -07:00
kyle 08f024766c Design: age-based time (RFC 9171 Bundle Age), seq in identity hash 2026-10-16 17:45:57 -07:00
kyle 76f5a6bc77 Design: settle reviewer questions (NodeId, clock, Addr, convergence, v1 scope) 2026-10-16 14:50:39 -07:00
kyle f73f9247ed Design doc: tines opportunistic shared memory 2026-10-16 14:43:28 -07:00