Clear Filters
ID Title Status Priority Created Due Date Actions
#77 FTX-77: RunFlow terminal wiring + sync worker (P2)
runflow_sync_jobs outbox written inside terminalize transaction (approved->approve post-clearance UN...
closed high 2026-07-23 15:08 -
#76 FTX-76: RunFlow bindings + client (P2)
runflow_bindings table (workflow_id, node_ref, Fernet credential, single_gate mode UB-RF-2, behavior...
closed high 2026-07-23 15:08 -
#72 FTX-72: request_changes semantics (P2)
Policy on_request_changes terminal|hold (default terminal); changes_requested terminal status + feed...
closed high 2026-07-23 15:08 -
#71 FTX-71: Clearance profiles (P2)
clearance_instances table + clearance tasks as ordinary tasks rows (tasks.clearance_instance_id) thr...
closed high 2026-07-23 15:08 -
#70 FTX-70: PRODUCTION_READINESS.md certification
AC-1..14 matrix with pytest node-id evidence (all 14 in scope, AC-6 real via clearance+RunFlow); per...
closed high 2026-07-23 15:08 -
#69 FTX-69: Concurrency + isolation E2E packs
Concurrency: double-approve, one-click double-consume, approve-vs-expire, n_of_m triple race (dedup_...
open high 2026-07-23 15:08 -
Edit
#68 FTX-68: Real E2E harness
tests/e2e/ marker e2e, zero mocks: futex_api + futex_worker subprocesses against futex_test; real au...
closed high 2026-07-23 15:08 -
#67 FTX-67: Mail-api key + template provisioning
Provision valid MAIL_API_KEY via rodmena-mail-api admin CLI (current key returns unknown_api_key) + ...
closed high 2026-07-23 15:08 -
#66 FTX-66: Deployment cutover
/etc/futex/futex.env (rotated secrets 0640); futex-api.service (User=farshid, port 8020, Environment...
closed high 2026-07-23 15:08 -
#65 FTX-65: One-click confirm interstitial
GET /a/click/{token} renders confirm form without consuming (EV-AW-4; also fixes TemplateResponse(re...
closed high 2026-07-23 15:08 -
#63 FTX-63: MCP tool schema + parity fixes
proposed_action/context as type:object (no JSON-string double-encode); hitl_act_on_task gains reason...
closed high 2026-07-23 15:08 -
#58 FTX-58: Terminal outcome envelope (UB-OUT-1)
build_outcome_envelope(): decision_id/tenant/status/policy/context_hash/outcome{result,reasons,justi...
closed high 2026-07-23 15:08 -
#57 FTX-57: Router/package split
Decompose 987-line app/main.py into app/{config,db,errors,middleware,obs}.py + routers/ + domain/ + ...
open high 2026-07-23 15:08 -
Edit
#56 FTX-56: SLA/escalation worker loop
Tasks past sla_deadline FOR UPDATE SKIP LOCKED; escalation path entries remind/notify_manager/reassi...
closed high 2026-07-23 15:08 -
#53 FTX-53: Expiry worker loop
ACTIVE-status decisions past expires_at batch FOR UPDATE SKIP LOCKED -> terminalize(timed_out) or po...
closed high 2026-07-23 15:08 -
#51 FTX-51: SLA deadlines at creation + delegation caps
tasks.sla_deadline set from step.sla ISO-8601 at instantiation (currently never set -> SLA dead code...
closed high 2026-07-23 15:08 -
#50 FTX-50: Policy versioning + snapshot + validation
policies version/status(draft|active|disabled)/key columns; decision stores policy_snapshot JSONB at...
closed high 2026-07-23 15:08 -
#49 FTX-49: Separation of Duties full enforcement
Assignment-time filter + action-time mutual-exclusion vs prior actors from actions table; EV-TSK-2 n...
closed high 2026-07-23 15:08 -
#48 FTX-48: Idempotency upsert
UNIQUE(tenant_id, idempotency_key) migration (current index non-unique) + INSERT ON CONFLICT DO NOTH...
closed high 2026-07-23 15:08 -
#43 FTX-43: SSRF guard rewrite + secret hygiene
net_guard resolve-validate-pin (closes DNS rebinding TOCTOU); WEBHOOK_ALLOW_HOSTS env replaces hardc...
closed high 2026-07-23 15:08 -
Previous Page 2 of 3 Next