Loading issues
Depends on D1–D10. The last architecture ticket before the rebuild → main PR.
TenantContext, ActorContext, KeyContext and EventBatchmcp/McpToolSet and McpRequestContextExtractor's ThreadLocal rebindingtasks/storeapps/web/lib/db.ts and lib/sql/**, and remove kysely and pg from package.json.eslint-suppressions.json contain only the deliberately deferred items, each one listed in the PR.Plan (branch par-424-cleanup off rebuild):
apikeys domain (facade, use cases, JdbcClient repo, REST controller for POST/DELETE /keys, new GET /keys listing so the web stops reading api_key). Keys stay SHA-256 hashed. settings.manage + members-only. A platform port (ApiKeyAuthenticator) serves the bearer filters and MCP extractor so platform does not import a domain.releases becomes a small read-only domain (ReleasesFacade, REST GETs + 410s, McpToolProvider). Release tables untouched.PR open: https://github.com/ParadauxIO/taskl.ie/pull/70 (ArchUnit store emptied and deleted, rules plain; R6 hard error, no suppressions; UI DB removed; gitops request for dropping DB_* from tasklie-ui is listed in the PR; discord_delivery left in place, reason in the PR).
Merged into rebuild as #70. This closes the architecture epic's backend work.
What changed
TenantContext, ActorContext, KeyContext, PermissionService, TaskSystem, PostgresTaskSystem, McpToolSet, McpResolver and the MCP ThreadLocal rebinding.lib/db.ts, lib/sql/**, Kysely, pg).apikeys (hashed keys, settings.manage) and a read-only releases domain (data kept).Open decisions for Rían
DB_* env vars, the DB secret and the network allowance from tasklie-ui once the rebuild is deployed.discord_delivery: dropping it is deferred to a follow-up migration after the rebuild is live, so old pods and a rollback still work.Dev now runs the rebuild.
DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD and DB_SSL from development/tasklie-ui-secrets. These were out of band and are not in gitops.tasklie-ui in dev and it serves normally. The login page returns 200, and the logs show no database errors.tasklie-ui-secrets. Also update the stale comment in gitops apps/tasklie-ui/base/resources.yaml that still says it "reads the tasklie Postgres".
Four
apps/web/lib/sqlfiles remain after #58. Each needs an owner before the UI's database connection can be removed:settings.tslib/prefs.server.ts. The endpoints already exist inworkspaces, so this is a web-only swap.github.tsintegrations.tsreleases.ts