Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
749837a
docs: add implementation plan for tabs-snapshot-defects
codex Jul 25, 2026
b673039
docs: add implementation plan for hidden-pane-rebind
codex Jul 25, 2026
3a98e75
docs: add implementation plan for createrequestid-stabilization
codex Jul 25, 2026
19387ef
docs: add implementation plan for freshclaude-restart-parity
danshapiro Jul 25, 2026
08dbc7b
docs: harden tabs-snapshot-defects plan from load-bearing validation
danshapiro Jul 25, 2026
9df251a
docs(plan): apply load-bearing validation findings to hidden-pane-reb…
danshapiro Jul 25, 2026
eeae51e
docs: fix two executable defects in tabs-snapshot-defects plan (fresh…
danshapiro Jul 26, 2026
e7f505b
docs(plan): harden freshclaude-restart-parity plan per load-bearing v…
danshapiro Jul 26, 2026
a284f21
docs(plan): harden createrequestid-stabilization plan against validat…
danshapiro Jul 26, 2026
d5d2459
docs(plan): make Task 6 e2e assertions discriminating and fix broken …
danshapiro Jul 26, 2026
ff352ed
docs(plan): fix fresheyes iteration-1 blocking issues in freshclaude-…
danshapiro Jul 26, 2026
a6019e0
docs(plan): fix two executable defects found by independent review
danshapiro Jul 26, 2026
5194dd7
refactor(ws): extract device-cap eviction into tabs_persist_retention…
danshapiro Jul 26, 2026
26ccf70
feat(ws): persist_generation returns honest PersistOutcome; oversize …
danshapiro Jul 26, 2026
0c6163c
docs(plan): fix unachievable Task 1 baseline check and vacuous Task 5…
danshapiro Jul 26, 2026
2cbf237
docs(plan): fix fresheyes iteration-2 blocking issue — make Task 8 e2…
danshapiro Jul 26, 2026
39d6c7c
fix(ws): exempt corrupt device dirs from snapshot cap eviction
danshapiro Jul 26, 2026
ff3f1c8
docs(plan): move Task 4 test-module registration off the 1000-line-ca…
danshapiro Jul 26, 2026
2d7291e
feat(ws): surface persistence outcome on tabs.sync.ack (persisted/per…
danshapiro Jul 26, 2026
af5b40b
docs(plan): fix fresheyes iteration-3 blocking issue — summarize() no…
danshapiro Jul 26, 2026
e0abfe3
feat(client): add RebindQueue to pace hidden-pane rebinds
danshapiro Jul 26, 2026
8b139a1
feat(freshagent): record claude cliSessionId in a durable-id index
danshapiro Jul 26, 2026
ba24ea0
feat(freshagent): claude transcript locator (claude_home + find_trans…
danshapiro Jul 26, 2026
bcff5a6
fix(freshagent): claude_snapshot module is pub(crate) per plan
danshapiro Jul 26, 2026
58aa8f7
fix(client): hydrate inherits previous createRequestId instead of re-…
danshapiro Jul 26, 2026
32b36ce
fix(client): hidden fresh-agent panes re-attach on reconnect, hydrati…
danshapiro Jul 26, 2026
6f325ee
feat(client): persist createRequestId in tab-registry pane snapshots
danshapiro Jul 26, 2026
d570856
feat(freshagent): claude transcript parser + snapshot JSON builder wi…
danshapiro Jul 26, 2026
a1fb61c
fix(client): hidden fresh-agent panes create/re-create via paced rebi…
danshapiro Jul 26, 2026
575f23c
test: pin rust claude snapshot golden against the strict zod contract
danshapiro Jul 26, 2026
90b340e
feat(freshagent): REST pane-create ingress mints and stamps createReq…
danshapiro Jul 26, 2026
bdb8119
test(ws): lock snapshot read/write tolerance for pane createRequestId
danshapiro Jul 26, 2026
41331ce
feat(freshagent): serve claude/kilroy snapshots from the transcript s…
danshapiro Jul 26, 2026
d3daaed
fix(client): hidden terminal panes attach via background hydration af…
danshapiro Jul 26, 2026
fc12af7
feat(server): snapshot restore carries createRequestId into pane crea…
danshapiro Jul 26, 2026
5cd7899
feat(freshagent): resume untracked claude sessions on attach (lost-fr…
danshapiro Jul 26, 2026
42071e0
test(e2e): hidden-pane rebind across abrupt restart without reveal
danshapiro Jul 26, 2026
207d7a7
test(e2e): createRequestId survives reload and is server-minted for R…
danshapiro Jul 26, 2026
a6224c9
test(e2e): fake claude sidecar gains resume continuity, transcripts, …
danshapiro Jul 26, 2026
cd66dd1
docs(port): log EDEV-08 createRequestId broadcast divergence + invent…
danshapiro Jul 26, 2026
5f86a48
fix(client): harden hidden-pane rebind queue against flapping reconne…
danshapiro Jul 26, 2026
525d97c
test(e2e): freshclaude restart parity spec (attach-resume, history, s…
danshapiro Jul 26, 2026
9dc032b
test(e2e): update freshclaude + ruler wall pin reasons -- P0.2 server…
danshapiro Jul 26, 2026
6851173
docs: add implementation plan for pane-identity-ledger
danshapiro Jul 25, 2026
8f96d62
docs(plan): harden pane-identity-ledger plan from load-bearing valida…
danshapiro Jul 26, 2026
7338231
docs(plan): fix two compile-blocking defects found by fresh-eyes review
danshapiro Jul 26, 2026
219b7f1
docs(plan): fix two blocking defects from fresh-eyes review iteration 2
danshapiro Jul 26, 2026
8ad550f
feat(ws): pane-identity ledger core - binding rows, atomic per-row wr…
danshapiro Jul 26, 2026
b0adca7
feat(ws): ledger supersession - retire-never-defend with pinned write…
danshapiro Jul 26, 2026
1c0316a
feat(ws): ledger pending markers - pinned binding-first resolution, c…
danshapiro Jul 26, 2026
f445789
feat(ws): ledger boot scan - per-row quarantine, stale-marker sweep, …
danshapiro Jul 26, 2026
acc94de
fix(ws): ledger scan/GC failure paths log loudly instead of silently …
danshapiro Jul 26, 2026
ed3486f
feat(server): construct pane ledger, boot scan + periodic GC, WsState…
danshapiro Jul 26, 2026
9d444cf
fix(server): transcript-absent probe defers on per-entry read errors,…
danshapiro Jul 26, 2026
27091d6
refactor(ws): split ledger boot-scan/GC internals into pane_ledger_sc…
danshapiro Jul 26, 2026
20ca7ff
feat(ws): ledger write triggers - binding at create, pending marker a…
danshapiro Jul 26, 2026
6927d85
test(ws): ledger-write-failure-surfaces-live - degraded frame at fail…
danshapiro Jul 26, 2026
40e5708
feat(ws): codex candidate adoption writes the ledger binding + resolv…
danshapiro Jul 26, 2026
58459fe
feat(ws): opencode/amplifier locator resolution writes the ledger; pi…
danshapiro Jul 26, 2026
07f2528
feat(ws): inventory sessionRef stamping falls back to ledger bound ro…
danshapiro Jul 26, 2026
5916fe9
feat(server): ever_observed consults the pane ledger - deleted-while-…
danshapiro Jul 26, 2026
aac2867
feat(ws): claude restore ladder gains the durable-ledger rung (P1.8 r…
danshapiro Jul 26, 2026
f774924
test(e2e): SIGKILL durability walls for the pane-identity ledger
danshapiro Jul 26, 2026
33d3c7c
fix(freshagent): snapshot cannot-check is 500 not lost; refresh stale…
danshapiro Jul 26, 2026
3b217f4
fix(ws): periodic GC releases the index lock between row writes
danshapiro Jul 26, 2026
f138f49
fix(ws): marker-delete failure after a durable binding write no longe…
danshapiro Jul 26, 2026
286e2e5
fix(ws): deliver direct connection messages before queued output frames
danshapiro Jul 26, 2026
a18dd4c
feat(protocol): add optional persisted/persistReason to tabs.sync.ack…
danshapiro Jul 26, 2026
73bb68c
fix(ws): deterministic device-id discovery via verify-all-agree
danshapiro Jul 26, 2026
7ba726f
test(ws): pin persist-lock poison recovery and empty-push ack shape
danshapiro Jul 26, 2026
5394e73
test(client): pin tabs.sync.ack tolerance of persisted/persistReason …
danshapiro Jul 26, 2026
9c51163
style(ws): rustfmt the new tabs-persist and terminal tests
danshapiro Jul 26, 2026
2459f84
style(ws): appease clippy nonminimal_bool in device-id discovery
danshapiro Jul 26, 2026
2ecba1d
Merge branch 'fix/ws-attach-ready-ordering' into integration/waveA-pr…
danshapiro Jul 26, 2026
915c778
Merge branch 'feat/createrequestid-stabilization' into integration/wa…
danshapiro Jul 26, 2026
4fb2fe5
Merge branch 'fix/tabs-snapshot-defects' into integration/waveA-prefl…
danshapiro Jul 26, 2026
9bfa685
Merge branch 'feat/pane-identity-ledger' into integration/waveA-prefl…
danshapiro Jul 26, 2026
7cb4066
fix: complete playwright.config.ts union merge (A1 + A3 rust-only spe…
danshapiro Jul 26, 2026
b7acaca
Merge branch 'feat/freshclaude-restart-parity' into integration/waveA…
danshapiro Jul 26, 2026
07e3106
Merge branch 'fix/hidden-pane-rebind' into integration/waveA-preflight
danshapiro Jul 26, 2026
e5cf38f
fix: A1 test helper ignores A6's must_use PersistOutcome (cross-lane …
danshapiro Jul 26, 2026
ef446db
fix: seed layout in A4 hidden-rebind test to satisfy #534 attach gate
danshapiro Jul 26, 2026
43b3dab
fix: A4 hidden fresh-agent e2e adopts A2's resume-in-place contract (…
danshapiro Jul 26, 2026
4e9d0dd
test(e2e): wave-A cross-lane interaction proofs (A1xA3 ledger-join co…
danshapiro Jul 26, 2026
a1f2313
test(ws): pin A6xA1 seam - createRequestId pane payloads persist with…
danshapiro Jul 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions crates/freshell-freshagent/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -89,3 +89,4 @@ tower = { version = "0.5", features = ["util"] }
# to assert lifecycle events fire, without depending on the global subscriber
# `freshell-server` owns.
tracing-subscriber = "0.3"
tempfile = "3"
645 changes: 616 additions & 29 deletions crates/freshell-freshagent/src/claude.rs

Large diffs are not rendered by default.

Loading
Loading