Unify Projects edit UI code to single
Regarding task <https://app.jaah.ai/tasks/12393>
This is a repeat situation with the same user apparently behind a broken corporate firewall. He says that previous fix helped and his task list is no longer causing trouble, but he was now struggling with Projects edit.
Go over all UI surfaces and ensure that the same code is reused everywhere - one choke point - that works identically and uses the approach and protocols that are now proven working. If there will be other similar issues we would only have to fix it in one place
Subtasks
- [business_analysis] Unify Projects edit UI code to single PRD settled. Projects edit hangs because console writes are bare fetch with no relay (api.ts:68). Operator chose: relay writes once with an idempotency key; fold all network paths (reads/writes, stragglers, streams, terminal, browser URLs) into one gate-enforced choke point; unify edit pages on useEditRecord + useSubmit. The architect must first confirm the hang in Nick's telemetry (AC-0). Memory: none applied.
- [architecture] Unify Projects edit UI code to single Confirmed hang = PUT /api/projects/54 on dead conn. Design: net/ choke point; writes relayed w/ Idempotency-Key (claim-before-run, at-most-once); relay v2 + anon live socket; gate. 7 children C1–C7. Memory: none applied
- [plan] Unify Projects edit UI code to single Split on the Architecture's C1–C7 component boundaries into 7 coder children across 4 waves: Foundation (idempotency, relay v2, edit pages) → Core (net/ choke point) → Extensions (stragglers/live, streams/URLs) → Enforcement (gate). Quality checks tightened per child. Memory: none applied.
- Server idempotency middleware for console writes Built server idempotency middleware for console writes (claim-before-run, replay, sealed answers, prune cron, slow_write kind). Quick gate green, 51 tests; review lanes passed. PR #7686 merged as ddad1818; its dev deploy was superseded by a newer develop deploy. Deferred: per-principal stored-row cap.
- Relay v2: writes and anonymous live Relay v2: /api/read-relay now carries keyed writes (≤1 MiB, 2/s burst 20) and an anonymous live-only socket (per-IP 30/5/s/4). 78 tests, quick gate green; PR #7682 merged 360b16d, Jaah Deploy green. Memory: none applied.
- Unify edit pages on shared hooks Project/Feature/Playbook/Automation/Account edit pages now load via useEditRecord and save via useSubmit; PR #7690 merged (db76773), dev deploy green. Dev screenshots match the baselines; saves and refusals checked on scratch records. Filed draft 12500 (leave guards). Memory: none applied.
- Console network choke point core
- Route stragglers and live host
- Streams, terminal and browser URLs
- Gate network bypasses in web
- [finish] Unify Projects edit UI code to single
Activity
- Created
- Runner started
- Ready
- Ready
- Ready
- Runner started
- Awaiting response
- Awaiting response
- Awaiting response
- Awaiting response
- Awaiting response
- Runner resumed
- Runner ended (done)
- Runner started
- Awaiting response
- Awaiting response
- Awaiting response
- Awaiting response
- Awaiting response
- Runner resumed
- Runner ended (done)
- Runner started
- Draft
- Draft
- Draft
- Draft
- Draft
- Draft
- Draft
- Draft
- Ready
- Ready
- Ready
- Ready
- Ready
- Ready
- Ready
- Ready
- Runner ended (done)
- Runner started
- Runner started
- Runner started
- Runner ended (done)
- Runner ended (done)
- Runner ended (done)
- Runner started