Commit Graph

  • e12cc5810e docs(events): say why each mechanism is here, after a scope review (BUG-2736) xarmian 2026-08-22 19:45:59 +00:00
  • 417776ce9b fix(events): recover when the generation counter goes backwards and stays (BUG-2736) xarmian 2026-08-22 19:40:31 +00:00
  • 736a8c48f7 docs: thirteen claims about code that had moved under them (BUG-2736) xarmian 2026-08-22 19:28:17 +00:00
  • d393126d80 test(events): close the gaps a tests-as-production-code pass found (BUG-2736) xarmian 2026-08-22 19:14:54 +00:00
  • c3d485d136 fix(events): make the ID space's epoch a monotonic generation (BUG-2736) xarmian 2026-08-22 19:02:33 +00:00
  • 94cc2492fc fix(events): a phase-1 counter restart must not leave a live epoch behind (BUG-2736) xarmian 2026-08-22 18:47:18 +00:00
  • a9544a57ba test(events): repair the resume tests the base guard made vacuous (BUG-2736) xarmian 2026-08-22 18:41:10 +00:00
  • 4a6a748c85 feat(events): identify the shared Redis ID space, behind a two-phase flip (BUG-2736) xarmian 2026-08-22 18:31:02 +00:00
  • c017ad359d fix(events): give each in-memory bus incarnation its own ID space (BUG-2736) xarmian 2026-08-22 18:14:45 +00:00
  • bc422d0e31 Merge pull request #1177 from PerpetualSoftware/fix/events-resume-coverage xarmian 2026-08-22 13:43:19 -04:00
  • 86b0f7508f docs(server): name the subscribe-then-replay window where it lives (BUG-2730) xarmian 2026-08-22 17:23:55 +00:00
  • f2a037e393 docs: nine claims about other people's code that I had not checked (BUG-2731) xarmian 2026-08-22 17:09:29 +00:00
  • 3c6b412b0f refactor(events): let go-redis own the redial, and record what neither form detects (BUG-2731) xarmian 2026-08-22 14:50:12 +00:00
  • 5cbeb52784 docs(events): three claims the split left describing code that is gone (BUG-2731) xarmian 2026-08-22 14:33:23 +00:00
  • 8ef40691b9 test(events): correct an arrangement the split made vacuous (BUG-2731) xarmian 2026-08-22 14:27:59 +00:00
  • b4989aa2f0 fix(server): retire a cursor we just refused, and stop trusting one we cannot read (BUG-2731) xarmian 2026-08-22 14:24:12 +00:00
  • 3ba5dcc836 feat(events): report unservable resumes and coverage resets (BUG-2731) xarmian 2026-08-22 14:23:56 +00:00
  • 9f88e94832 fix(events): a resume must not be answered from coverage we never had (BUG-2731) xarmian 2026-08-22 14:23:40 +00:00
  • 4f0cd65ca3 Merge pull request #1176 from PerpetualSoftware/fix/redis-operability xarmian 2026-08-22 02:09:20 -04:00
  • d6e153a583 fix(test): the new config test needed a writable HOME (Nix CI) xarmian 2026-08-22 05:44:32 +00:00
  • bb003dd6bb fix: five claims the final comment-truth round found (BUG-2724, BUG-2726) xarmian 2026-08-22 05:21:01 +00:00
  • 461c5a3e3d refactor: prune the claim surface, and turn one prose claim into a test xarmian 2026-08-22 05:09:29 +00:00
  • 35e564298b fix: seven more prose claims, one real metric gap, and a flaky test of my own (codex round 17) xarmian 2026-08-22 05:00:18 +00:00
  • 2fa1316853 fix: three claims round 15's corrections got wrong or missed (codex round 16) xarmian 2026-08-22 04:43:14 +00:00
  • 7c8ed3c815 fix: nine false or overstated claims in this diff's own prose (codex round 15) xarmian 2026-08-22 04:35:57 +00:00
  • 9d54f24626 fix(server,cli): the half of round 12's fix I missed (BUG-2726) xarmian 2026-08-22 04:18:18 +00:00
  • 3e3170e915 fix(server,cli,docs): the consumer contract, per codex round 12 (BUG-2726) xarmian 2026-08-22 04:10:06 +00:00
  • a167005654 fix(server): register the stream gauge per metrics instance, and drop the comments the last refactor falsified (BUG-2726) xarmian 2026-08-22 04:01:33 +00:00
  • a51320c861 refactor(metrics,server): make pad_stream_connections_active a scrape-time collector (BUG-2726) xarmian 2026-08-22 03:55:14 +00:00
  • 7e20e29754 fix(server): two defects codex round 10 found INSIDE round 9's fixes (BUG-2726, BUG-2727) xarmian 2026-08-22 03:51:27 +00:00
  • 640c5a02a1 fix(watchevents,server): four concurrency findings from codex round 9 (BUG-2727, BUG-2726) xarmian 2026-08-22 03:43:15 +00:00
  • 44efef5970 refactor(events): remove the dead global-limit parameter from SubscribeIfAllowed (BUG-2726) xarmian 2026-08-22 03:20:47 +00:00
  • ec70f13608 refactor: act on codex round 8's scope review (BUG-2727) xarmian 2026-08-22 03:16:07 +00:00
  • 9a94398bc2 fix(server): restore the readiness route I broke, and stop the tests bypassing it (BUG-2727) xarmian 2026-08-22 03:08:50 +00:00
  • a790810bd6 docs: close the cross-artifact gaps codex round 6 found (BUG-2724, BUG-2726, BUG-2727) xarmian 2026-08-22 02:45:53 +00:00
  • c10f1200c1 test: close the coverage gaps codex round 5 enumerated (BUG-2724, BUG-2726, BUG-2727) xarmian 2026-08-22 02:38:39 +00:00
  • 9afedbe1a0 fix(server,metrics,watchevents): seven codex round-4 findings — operator and next-author angle (BUG-2727, BUG-2724) xarmian 2026-08-22 02:28:50 +00:00
  • c03a4851bd fix(server,redisns): two codex round-3 findings — DoS via legacy tokens, blank namespace (BUG-2724, BUG-2726) xarmian 2026-08-22 02:15:50 +00:00
  • 03518466ab fix(server,metrics,docs): five codex round-2 findings (BUG-2724, BUG-2726) xarmian 2026-08-22 02:05:01 +00:00
  • 2b33184ef1 fix(metrics,watchevents,server): three codex round-1 findings (BUG-2727) xarmian 2026-08-22 01:55:59 +00:00
  • bc6ee294c9 test(events): assert WHERE the namespaced bus publishes, not only where it subscribes xarmian 2026-08-22 01:43:08 +00:00
  • 0877b260c1 feat(redis): namespace every Redis keyspace from one shared config value (BUG-2724) xarmian 2026-08-22 01:41:31 +00:00
  • 720b792176 feat(server,config): bound the watch-events stream, with one budget across both SSE endpoints (BUG-2726) xarmian 2026-08-22 01:31:33 +00:00
  • a061c17298 test(server): pin the Redis health prober and presence failure reporting (BUG-2727) xarmian 2026-08-22 01:23:59 +00:00
  • 8dea9abca3 feat(watchevents,metrics): operational observability for the Redis notification bus (BUG-2727) xarmian 2026-08-22 01:21:50 +00:00
  • ea139272ce fix(server,watchevents): shared session presence + honest push acceptance (BUG-2698, BUG-2699) (#1175) xarmian 2026-08-21 20:43:20 -04:00
  • 0c14890b19 docs: add Community section to README (r/getpad + social) (#1174) xarmian 2026-08-20 23:49:17 -04:00
  • 6a37512227 feat(server): outbox drain — webhooks delivered from the choke point (TASK-2714) (#1173) xarmian 2026-08-20 23:33:26 -04:00
  • 2ed6e71ad3 feat(store): transactional event outbox — the SPEC-3 choke point (TASK-2658) (#1172) xarmian 2026-08-20 19:07:59 -04:00
  • 402f79e016 feat(store,server,web): collection kernel traits — de-hardcode conventions/playbooks slugs (TASK-2657, BUG-2702) (#1171) xarmian 2026-08-20 13:26:05 -04:00
  • 937b4242dd fix(watchevents): make the subscribe/replay overlap test deterministic (BUG-2707) (#1170) xarmian 2026-08-20 12:54:47 -04:00
  • 6e7d34c6d1 fix(mcp): accept a fields object on pad_item create/update; reject undeclared input keys (#1066) (#1159) David Barkhausen 2026-08-20 07:54:21 -04:00
  • 5784d907c0 feat(cli): PAD_TOKEN environment override for stored credentials (#879) (#1160) David Barkhausen 2026-08-20 07:54:13 -04:00
  • 25c7cd20f5 feat(watchevents): Redis-backed bus so watch notifications cross instances (BUG-2651) (#1167) xarmian 2026-08-20 02:54:53 -04:00
  • 449ac109e9 fix(server,mcp,cli): refuse system-metadata keys in fields_patch + retry-hostile error code (BUG-2627 part 2, BUG-2675) (#1166) xarmian 2026-08-19 23:17:24 -04:00
  • de96cce900 fix(items,server,web): reserved metadata survives a move; referential metadata travels only within its context (BUG-2674) (#1165) xarmian 2026-08-19 16:53:03 -04:00
  • 6a2910d45a fix(models): refuse an append that would destroy an unreadable structured field (BUG-2627, part 3) (#1164) xarmian 2026-08-19 13:26:55 -04:00
  • d24df55670 refactor(web): delete unmounted components carrying real logic (TASK-2632) (#1163) xarmian 2026-08-19 11:39:39 -04:00
  • bc68b84848 fix(cli,mcp): send raw collection slug so an alias can't shadow a real collection (BUG-2630) (#1162) xarmian 2026-08-19 08:13:29 -04:00
  • b62c6692c8 ci: stabilize two required gates that go red with no code involvement (BUG-2645 opt 1, BUG-2568 opt 1) (#1158) xarmian 2026-08-18 18:06:32 -04:00
  • e36be90f05 fix(web): order-and-merge contract for the localIndex cache — tombstones, durable retag overlay, equal-seq merge (PLAN-2636 unit 2, BUG-2633/2634/2635) (#1157) xarmian 2026-08-18 17:42:29 -04:00
  • b759898d5b test(web): fake-indexeddb harness for the localIndex persistence layer (PLAN-2636 unit 1) (#1156) xarmian 2026-08-18 15:20:13 -04:00
  • 7680919dbd fix(store): re-stamp attachment refs on item/document restore so a racing GC claim is refused (BUG-2629) (#1155) xarmian 2026-08-18 14:43:13 -04:00
  • b5f0cd3963 feat(web,server): render embedded image attachments on share pages via a variants-only byte endpoint (BUG-2389 2b, TASK-2637) (#1153) xarmian 2026-08-18 12:26:00 -04:00
  • 22c5a858a1 fix(server): stop counting disabled conventions as completed work (#1152) 杨成锴 2026-08-18 22:44:50 +08:00
  • 482815aa58 feat(web): composer + quick actions target armed sessions with honest counts (PLAN-2613 S4, TASK-2619) (#1151) xarmian 2026-08-18 01:07:35 -04:00
  • 052c971785 feat(plugin): consent-gated push monitor + tri-state arm/disarm + envelope (PLAN-2613 S3, TASK-2618) (#1150) xarmian 2026-08-18 00:24:19 -04:00
  • e40df6b31c feat(cli): pad session arm/disarm/status + consent config resolution (PLAN-2613 S2, TASK-2617) (#1149) xarmian 2026-08-17 22:44:31 -04:00
  • 2322fb273f fix(web): give the IDB write path the seq guard RAM already had (BUG-2609) (#1148) xarmian 2026-08-17 21:10:17 -04:00
  • 625cab9984 fix: bound item history and stop resolving bodies nobody reads (BUG-2608) (#1147) xarmian 2026-08-17 19:02:53 -04:00
  • 50a442d048 fix(server): resolve collection slugs against the workspace's real collections (BUG-2578) (#1146) xarmian 2026-08-17 16:34:46 -04:00
  • 2c8ddffcb0 fix(store): cover documents and comment bodies in the attachment reference walks (BUG-2614, BUG-2615) (#1145) xarmian 2026-08-17 14:26:09 -04:00
  • 6f16003199 fix: surface implementation notes + decision log in the item timeline (BUG-2301) (#1144) xarmian 2026-08-17 12:58:09 -04:00
  • 8798de7e99 docs: correct the onboard playbook's mode vocabulary in CLAUDE.md (#1142) xarmian 2026-08-17 10:21:42 -04:00
  • aa1a4f9d8c fix(store): workspace-scope the orphaned-variant GC's parent check (BUG-2622) (#1143) xarmian 2026-08-17 10:21:20 -04:00
  • a963e68395 docs(skills): de-assume the slash-command surface + route onboard shortcut through the canonical playbook (BUG-2573/2574/2575) (#1139) xarmian 2026-08-17 09:51:38 -04:00
  • 08dfbdb318 fix(server): rowless-blob GC sweep — reclaim blobs no attachments row references (BUG-2406) (#1137) xarmian 2026-08-17 09:03:44 -04:00
  • 31075d996a fix(store): route cross-workspace copy's lock-held reads through the copy transaction (BUG-2409) (#1136) xarmian 2026-08-17 08:16:02 -04:00
  • cc26288794 fix(web): share pages render attachment refs as honest placeholders (BUG-2389) (#1135) xarmian 2026-08-17 05:19:25 -04:00
  • e0c5792ce9 fix(store): attachment delete vs thumbnail derivation race — atomic cascade, locked conditional insert, orphaned-variant GC class (BUG-2388) (#1134) xarmian 2026-08-17 04:21:32 -04:00
  • 2e4f3d5dc2 fix(server): refuse a PATCH carrying both a fields hierarchy key and top-level parent_id (BUG-2594) (#1133) xarmian 2026-08-17 03:42:08 -04:00
  • 2521e3e1c7 fix(web): portal the pane action-bar menus — anchored panels clipped against the pane's scroll container (BUG-2610) (#1132) xarmian 2026-08-17 03:24:24 -04:00
  • fbea9484d6 fix(web): source-identity guards on the SSE non-sync listeners (BUG-2611) (#1131) xarmian 2026-08-17 02:07:07 -04:00
  • d68474f775 feat(server): armed-session declaration + push delivery filter (PLAN-2613 S1, TASK-2616) (#1130) xarmian 2026-08-17 01:59:02 -04:00
  • 8cdeeb166b fix(store): orphan GC claim protocol — writer reference stamps + conditional row-first deletes (BUG-2415) (#1129) xarmian 2026-08-17 01:33:18 -04:00
  • 54526c5b33 fix(web): route ItemDetail collection writes through a semantic adopt gate (BUG-2602) (#1128) xarmian 2026-08-17 00:27:34 -04:00
  • 904878522a fix(web): heal collection renames missed by SSE — sync-pass route reconcile + localIndex retag (BUG-2601) (#1127) xarmian 2026-08-16 20:52:32 -04:00
  • f0cbcb5df4 fix(mcp): route backlinks/history/report over HTTP transport + catalog↔route parity test (BUG-2304) (#1126) xarmian 2026-08-16 19:18:16 -04:00
  • f756e853fe fix(oauth): keep zero-workspace consent authorizable via the wildcard path (BUG-2303) (#1124) xarmian 2026-08-16 18:25:23 -04:00
  • 94441b4eb2 chore(nix): bump package version to 0.14.0 ahead of the release tag v0.14.0-rc.1 v0.14.0 xarmian 2026-08-16 20:26:51 +00:00
  • cada8777e7 fix(web): full-page pane host gets its own navigate-away handling (BUG-2178) (#1123) xarmian 2026-08-16 15:12:21 -04:00
  • 900b0c428a fix(mcp): summary-shaped item list on the HTTP transport (BUG-2305) (#1122) xarmian 2026-08-16 14:17:30 -04:00
  • 727cd80927 fix(mcp): explicit tool annotations from catalog write-shape knowledge (BUG-2302) (#1121) xarmian 2026-08-16 13:49:00 -04:00
  • aa33dc407e fix(server): serve RFC 9728 PRM at path-aware well-known (BUG-2266) (#1120) xarmian 2026-08-16 12:33:12 -04:00
  • 9c155ac185 fix(cli): gate promptAndBootstrap on canPromptForConfig() (BUG-2597) (#1119) xarmian 2026-08-16 00:00:48 -04:00
  • d843752091 docs: worktree web-tooling rules in CLAUDE.md; fix vitest.config.ts's dangling pointer (TASK-2590) (#1118) xarmian 2026-08-15 23:16:14 -04:00
  • 3098a1f569 fix(web): search Enter go-to accepts full refs like TASK-1345 (BUG-2128) (#1117) xarmian 2026-08-15 22:22:58 -04:00
  • 4a2c4c1a39 fix(cli): suppress pad agent install's dangling (Y/n) prompt in non-interactive contexts (BUG-2593) (#1116) xarmian 2026-08-15 22:04:00 -04:00
  • 2580c2c8bb fix(cli): gate pad init's Step-4 login on canPromptForConfig() (BUG-2592) (#1115) xarmian 2026-08-15 21:33:38 -04:00
  • 1882206bce docs(plugin): push-targeting etiquette + assignment-is-watch-only wording; plugin 0.2.0 (TASK-2591) (#1114) xarmian 2026-08-15 20:57:50 -04:00