-
813bc46640
docs(examples): add the CMS proof-of-concept dogfooding artifact
main
MechaCat02
2026-07-19 20:15:29 +02:00
-
5682be366c
fix(cms-poc): remediate findings surfaced by the CMS proof-of-concept
MechaCat02
2026-07-19 20:15:17 +02:00
-
dbdd398d90
feat(email): native SMTP-listener ingress (A3)
MechaCat02
2026-07-16 21:01:46 +02:00
-
0dd03af0c6
feat(interceptors): hook set_if (CAS) + pic interceptors ls (§9.4 M12)
MechaCat02
2026-07-16 20:44:42 +02:00
-
ef16d48a8c
feat(interceptors): extend before/after hooks to docs/files/queue/pubsub/http (§9.4 M7-M11)
MechaCat02
2026-07-16 20:37:18 +02:00
-
faf04174c4
perf(interceptors): per-execution resolve cache (§9.4 M6)
MechaCat02
2026-07-16 20:22:11 +02:00
-
8b70d52d43
feat(interceptors): per-interceptor wall-clock timeout (§9.4 M5)
MechaCat02
2026-07-16 20:18:03 +02:00
-
5592f1c97e
feat(interceptors): KV after-hooks + before-hook data transform (§9.4 M3+M4)
MechaCat02
2026-07-16 19:55:44 +02:00
-
be0c618672
feat(interceptors): ordered before-chains + cycle guard + ctx plumbing (§9.4 M1+M2)
MechaCat02
2026-07-15 22:54:51 +02:00
-
eae2ee08f1
feat(triggers): shared dead-letter trigger fan-out (B2)
MechaCat02
2026-07-15 22:20:24 +02:00
-
6b2dcd41a6
feat(metrics): per-app observability dashboard over execution_logs (A2)
MechaCat02
2026-07-15 21:42:18 +02:00
-
35345e62de
feat(cli): pic pull --group round-trips a group node
MechaCat02
2026-07-15 21:19:59 +02:00
-
e4a58dc140
feat(cli): per-app docs admin read (pic docs ls/get --app)
MechaCat02
2026-07-15 20:53:11 +02:00
-
8fc78cd07f
docs: correct the stale 'per-app email secret deferred' note
MechaCat02
2026-07-15 20:31:10 +02:00
-
80fbf2e642
test: give three no-teeth assertions their teeth
MechaCat02
2026-07-15 20:13:12 +02:00
-
8e68f3a1cb
test(crypto): pin the dev-mode acknowledgement gate
MechaCat02
2026-07-15 20:13:12 +02:00
-
4bf518c86f
test(executor): pin the emission budget through the real pubsub SDK
MechaCat02
2026-07-15 20:13:00 +02:00
-
a09c346e83
test(dispatcher): pin trigger_depth ceiling in the async outbox path
MechaCat02
2026-07-15 20:13:00 +02:00
-
789325b6db
test(authz): pin the editor role-floor on group pubsub + queue write caps
MechaCat02
2026-07-15 20:13:00 +02:00
-
977abc25d0
test(quota): pin docs ceiling, group docs byte race, and files disk-ordering rollback
MechaCat02
2026-07-15 20:12:45 +02:00
-
345db4a076
test: close the DB-suite hermeticity + vacuous-skip gaps
MechaCat02
2026-07-15 19:39:13 +02:00
-
2445074c87
test(cli): pin the group-create RBAC denial as HTTP 403
MechaCat02
2026-07-15 19:38:51 +02:00
-
77397e4cb3
test(auth): pin the admin-session absolute-TTL cap
MechaCat02
2026-07-15 19:38:51 +02:00
-
27bda66be6
test(services): pin that the per-value byte caps reject before authz
MechaCat02
2026-07-15 19:38:51 +02:00
-
a7fb7ea23c
test(sdk): give the isolation and retry-negative tests teeth
MechaCat02
2026-07-15 19:38:31 +02:00
-
95d6b95272
feat(executor): expose ctx.trigger_depth and pin the invoke depth bump
MechaCat02
2026-07-15 19:38:31 +02:00
-
36272c8dac
test(groups): pin the anon + isolation gates on the queue and pubsub services
MechaCat02
2026-07-15 07:27:53 +02:00
-
73c634ae0d
test(groups): pin the shared-collection isolation boundary against real SQL
MechaCat02
2026-07-15 07:27:53 +02:00
-
612074af04
test: give the DDL and global-count suites their own database
MechaCat02
2026-07-15 07:27:35 +02:00
-
b5ce4cec01
ci: run the DB-backed tests that CI was silently skipping
MechaCat02
2026-07-15 07:27:21 +02:00
-
251d7fe3dd
test(e2e): give each dispatcher test its own database
MechaCat02
2026-07-14 21:40:27 +02:00
-
8f35050499
fix(groups): don't let with_events silently downgrade a transactional writer
MechaCat02
2026-07-14 21:12:01 +02:00
-
1fc4080800
fix(outbox): never resurrect a synchronous row on reclaim
MechaCat02
2026-07-14 21:12:01 +02:00
-
fa79b4ee45
fix(files): check the quota BEFORE the destructive blob write
MechaCat02
2026-07-14 21:11:49 +02:00
-
735b2daedf
docs(users): warn against wiring a users trigger to the non-transactional emit
MechaCat02
2026-07-14 20:47:58 +02:00
-
c859c9aab2
fix(outbox): reclaim stale claims — a crash mid-dispatch stranded events forever
MechaCat02
2026-07-14 20:38:29 +02:00
-
966b209d2e
feat(quota): add per-app storage ceilings
MechaCat02
2026-07-14 20:32:32 +02:00
-
3de75fe4a8
docs: record the transactional-outbox write-path invariant
MechaCat02
2026-07-14 20:14:45 +02:00
-
80a0d31cd2
fix(files): make file writes transactional and close a quota bypass
MechaCat02
2026-07-14 20:09:03 +02:00
-
58bf0ab3ec
fix(docs): make docs writes transactional and the group quota a bound
MechaCat02
2026-07-14 19:45:26 +02:00
-
b086713e3d
fix(quota): make the per-group ceiling a bound, not a hint
MechaCat02
2026-07-14 19:37:11 +02:00
-
01e4e5a8f5
fix(kv): commit a write and its trigger fan-out in one transaction
MechaCat02
2026-07-14 19:28:17 +02:00
-
a2360a9464
refactor(outbox): make the trigger fan-out connection-scoped
MechaCat02
2026-07-14 19:20:41 +02:00
-
155c5471b7
fix(quota): measure the per-group byte projection with one consistent metric
MechaCat02
2026-07-14 07:18:14 +02:00
-
fc70f5e224
fix(materialize): take the per-(app,queue) lock so a consumer slot can't double-fill
MechaCat02
2026-07-13 22:31:42 +02:00
-
8b62b137c0
fix(executor): cap per-execution durable fan-out width
MechaCat02
2026-07-13 22:27:32 +02:00
-
590b98b60f
fix(suppress): don't over-decline a nearer descendant's own route/trigger
MechaCat02
2026-07-13 22:17:01 +02:00
-
31e6fc964d
fix(queue): don't count never-executed transient releases against max_attempts
MechaCat02
2026-07-13 22:05:32 +02:00
-
bdcd3dc7f4
fix(executor): bound Rhai→JSON materialization to prevent anonymous OOM
MechaCat02
2026-07-13 21:50:16 +02:00
-
d08df88df5
fix(interceptors): harden the §9.4 slice — seal, fail-closed, re-entrancy, shared coverage
MechaCat02
2026-07-13 21:20:20 +02:00
-
2fc9476f9e
feat(interceptors): §9.4 service interceptors — thin KV allow/deny slice
MechaCat02
2026-07-13 20:44:50 +02:00
-
fcd9451ab1
docs: reconcile roadmap with shipped v1.2 Workflows track
MechaCat02
2026-07-13 20:03:12 +02:00
-
3da70a66c7
feat(cli): add
pic docs/dead-letters ls group read mirrors
MechaCat02
2026-07-13 20:00:37 +02:00
-
bc2538b5b5
fix(cli): reject unknown fields in manifest entry specs (fail-loud on typos)
MechaCat02
2026-07-13 19:50:02 +02:00
-
486cc44a06
refactor(authz): route users_service through the shared authz-verdict mapper
MechaCat02
2026-07-13 19:46:22 +02:00
-
5e6bb762f4
refactor(groups): dedup the group-service value-size check + shared-emit tail
MechaCat02
2026-07-13 19:44:06 +02:00
-
f1b480f2eb
refactor(sdk): consolidate the SDK error/bridge helpers
MechaCat02
2026-07-13 19:36:31 +02:00
-
aa3f0531f0
fix(workflows): pull hard-errors on a definition-less workflow, not silent skip
MechaCat02
2026-07-12 19:19:03 +02:00
-
aeebdd2f3f
fix(workflows): close re-review gaps in the pull round-trip + partial-failure UI
MechaCat02
2026-07-12 19:08:21 +02:00
-
eaf5ace30f
fix(workflows): close review gaps — pull round-trip, dup-names, reclaim budget
MechaCat02
2026-07-12 18:56:44 +02:00
-
bd9c3fa4f0
feat(workflows): M6 — dashboard run-history + DAG view
MechaCat02
2026-07-12 17:57:56 +02:00
-
5a630e1d9f
feat(workflows): M5 — SDK workflow::start + admin run API + pic CLI
MechaCat02
2026-07-12 17:48:38 +02:00
-
74d5874384
feat(workflows): M4 — nested sub-workflows (start_child, parent-park, depth ceiling)
MechaCat02
2026-07-12 17:30:16 +02:00
-
41a21c0551
feat(workflows): M3 — conditional
when + input templating at run time
MechaCat02
2026-07-12 17:18:01 +02:00
-
a55c2f112e
feat(workflows): M2 — durable orchestrator worker (claim/execute/advance)
MechaCat02
2026-07-12 17:12:42 +02:00
-
44f992cbb0
feat(workflows): M1 — schema + definition validation + declarative reconcile
MechaCat02
2026-07-12 16:46:32 +02:00
-
c8c4f012ff
docs: reconcile blueprint/design-doc/CLAUDE.md to shipped v1.2 state
MechaCat02
2026-07-12 14:53:34 +02:00
-
c03c0c83c5
feat(dashboard): group data-plane read surfaces + CodeEditor readOnly fix
MechaCat02
2026-07-11 23:48:09 +02:00
-
a3c4267f6c
feat(cli): plan warnings, apply confirm + blast-radius gate, files --group, unified owner-XOR
MechaCat02
2026-07-11 23:47:59 +02:00
-
5e1bda1f32
fix(core): cron double-fire, materialize warnings, group quota fast path, SSE channel cap
MechaCat02
2026-07-11 23:47:47 +02:00
-
86448beb06
fix(security): server-authoritative approval gate + auth/session/file hardening
MechaCat02
2026-07-11 23:47:35 +02:00
-
b8b047368e
feat(realtime): external SSE subscription for group shared topics (§11.6 D2 / Track A M6)
MechaCat02
2026-07-11 15:33:39 +02:00
-
0f05c270d1
feat(kv): set_if compare-and-swap for KV (per-app + shared + SDK) (Track A M5)
MechaCat02
2026-07-11 15:19:03 +02:00
-
636106e9ea
feat(quota): per-group total-byte quotas for shared KV + docs (Track A M4)
MechaCat02
2026-07-11 15:09:01 +02:00
-
1a69778c0c
feat(secrets): AAD-bind email-trigger inbound secrets v0->v1 (Track A M3)
MechaCat02
2026-07-11 14:58:35 +02:00
-
fd4336e883
feat(queue): dead-letter store for group shared queues (§11.6 D3 / Track A M2)
MechaCat02
2026-07-11 14:41:04 +02:00
-
c06a9e801e
feat(apply): make the per-env approval gate hermetic (§3 M3 / Track A M1)
MechaCat02
2026-07-11 14:31:15 +02:00
-
4b4b3148b7
feat(apply): server-side enforcement of per-env approval gating (§3 M3 / §4.2)
MechaCat02
2026-07-11 14:01:04 +02:00
-
bbfdb1bf47
fix(apply): bound the blast-radius subtree down-walk CTE
MechaCat02
2026-07-11 13:25:06 +02:00
-
87292fc4e9
refactor(apply): split reconcile_group_structure_tx create/reparent branches
MechaCat02
2026-07-07 21:49:18 +02:00
-
6ec034fb1d
refactor(apply): unify divergence detection and drop the plan-path N+1
MechaCat02
2026-07-07 21:49:05 +02:00
-
3f272daf04
fix(cli): make the per-env approval gate fail closed
MechaCat02
2026-07-07 21:48:09 +02:00
-
2e3263002a
fix(apply): gate group content writes in-tx to close a create-race authz hole
MechaCat02
2026-07-07 21:47:59 +02:00
-
8d71620e11
style(test): rustfmt the env-approval journey
MechaCat02
2026-07-07 20:28:59 +02:00
-
f0e18d263b
style(test): rustfmt the structural-divergence journey
MechaCat02
2026-07-07 20:28:37 +02:00
-
e2bfe633a7
test/docs(cli): §3 M3 per-env approval journey; Tier 1 complete
MechaCat02
2026-07-07 20:28:28 +02:00
-
62710b5d81
feat(cli): §3 M3 — per-env approval gating ([project.environments])
MechaCat02
2026-07-07 20:28:28 +02:00
-
b8eced9d91
test/docs(apply): §6 M2 structural-divergence journey + design note
MechaCat02
2026-07-07 20:23:10 +02:00
-
cb3d458cfd
feat(apply): §6 M2 — structural-divergence detection + declarative reparent
MechaCat02
2026-07-07 20:23:10 +02:00
-
dcc387c345
test/docs(apply): §6 M1 group-create journey + design note
MechaCat02
2026-07-07 20:07:12 +02:00
-
0078ae8b26
feat(apply): §6 M1 — declarative group create (directory-nesting parentage)
MechaCat02
2026-07-07 20:07:03 +02:00
-
76926de369
fix(apply): bound the blast-radius up-walk; fix two stale comments
MechaCat02
2026-07-07 19:21:03 +02:00
-
86b51df50d
refactor(apply): address ownership review follow-ups (#3–#6)
MechaCat02
2026-07-07 07:49:52 +02:00
-
ffa8b02506
fix(apply): restore bare-bundle wire compat on the plan endpoints
MechaCat02
2026-07-07 07:37:35 +02:00
-
74f7a67be7
fix(apply): preserve project name on a name-less re-apply
MechaCat02
2026-07-07 07:37:25 +02:00
-
f673922d89
feat(cli): pic projects ls + §7 M3/track-complete docs
MechaCat02
2026-07-06 21:26:10 +02:00
-
30fe160f16
feat(apply): cross-repo blast-radius in the plan preview
MechaCat02
2026-07-06 21:17:15 +02:00
-
b4eb226d20
feat(apply): project on the plan wire + ownership preview annotation
MechaCat02
2026-07-06 21:09:55 +02:00
-
5a820d7262
test/docs(ownership): attach-ceiling journey + M2 status
MechaCat02
2026-07-06 20:57:57 +02:00
-
5bb1ccad5e
feat(apply): [project] parent_group attach-point ceiling
MechaCat02
2026-07-06 20:57:03 +02:00