|
28 | 28 | {"acceptance":"Axon docs state whether FEAT-019 validation/gates run on create as well as update. A test proves a configured validation/gate can reject a users create payload with role=admin from a non-admin actor while allowing role=consultant, or the limitation is documented with a follow-up implementation bead linked. The recommended nexiq first-run user bootstrap rule is documented.","claimed-at":"2026-04-20T14:35:53Z","claimed-machine":"sindri","claimed-pid":"1905828","created_at":"2026-04-19T20:30:06.155176797Z","description":"Nexiq FEAT-010 first-run bootstrap creates a users row directly from the browser. Until Axon can enforce nexiq-specific RBAC, a caller could submit role=admin instead of the client-default consultant. Confirm whether FEAT-019 validation/gates run on create payloads and add a server-side validation/gate pattern for nexiq user role changes if missing.","execute-loop-heartbeat-at":"2026-04-20T14:35:53.060803Z","id":"axon-0eeb9fa5","issue_type":"task","labels":["helix","phase:implementation","area:auth","area:schema","downstream:nexiq"],"notes":"Implemented nexiq first-run users save-gate pattern and documented FEAT-019 create/update/patch execution semantics. Added handler regression proving role=admin from browser:first-run-user is rejected before persistence while role=consultant is accepted, and documented FEAT-019's payload-only limitation with the recommended control-plane/admin bootstrap path. Verification passed: cargo fmt --check; cargo check; cargo test; cargo clippy -- -D warnings.","owner":"erik","priority":2,"status":"closed","title":"feat(auth): enforce nexiq first-run user role guard with ESF validation","updated_at":"2026-04-20T14:40:20.107618515Z"} |
29 | 29 | {"acceptance":"1. A codegen command (e.g. axon codegen typescript --schema \u003cpath\u003e) produces a TypeScript client from a sample tasks collection schema. 2. The generated client compiles with tsc --strict --noEmit with zero errors. 3. An integration test starts axon-server, uses the generated client to create, read, update, and delete a task entity, and asserts correct round-trip behavior. 4. Client-side validation rejects an invalid entity before sending it to the server.","created_at":"2026-04-11T05:02:01.442135403Z","description":"Generate a typed TypeScript client from ESF collection schemas. The client provides entity types, CRUD functions (create, read, update, delete, list/query), and client-side validation functions matching server-side schema rules. The generated code must compile without errors, be importable as an ES module, and correctly call the Axon REST/GraphQL API. Depends on FEAT-002 (Schema Engine) and FEAT-005 (API Surface). Governing feature: FEAT-024-application-substrate.md.","id":"axon-0fc414e6","issue_type":"task","labels":["helix","phase:build","area:api","deferred"],"notes":"Deferred: GraphQL (FEAT-015) is live and sufficient — standard tooling (graphql-codegen, etc.) can generate typed clients from the schema. No need for a bespoke codegen command.","parent":"hx-b6786cbf","priority":2,"spec-id":"FEAT-024","status":"closed","title":"FEAT-024: generated TypeScript client from collection schemas","updated_at":"2026-04-11T15:39:52.936114607Z"} |
30 | 30 | {"acceptance":"AC1. The 10+ executor integration scenarios pass against SqliteStorageAdapter. AC2. DDx ready/blocked benchmark covers 1k beads and records p99 \u003c100ms on dev hardware. AC3. DDx ready/blocked benchmark covers 10k beads and records p99 \u003c500ms on dev hardware or documents a tracked follow-up if 10k exceeds local CI budget. AC4. Test/benchmark setup uses only StorageAdapter APIs and has no backend-specific query operators per ADR-010. AC5. cargo test --workspace passes. AC6. cargo clippy --workspace -- -D warnings passes.","closing_commit_sha":"2ea0877253f0c94be070743ebf4da4d4726d212a","created_at":"2026-05-04T00:06:01.522956731Z","dependencies":[{"issue_id":"axon-100687fd","depends_on_id":"axon-5956e527","type":"blocks","created_at":"2026-05-04T00:06:14Z"}],"description":"Add SQLite-backed integration coverage and DDx ready/blocked performance evidence for the StorageAdapter-backed Cypher executor. Reuse the executor integration scenarios against SqliteStorageAdapter and add the FEAT-009 ready/blocked latency gate datasets.","id":"axon-100687fd","issue_type":"task","labels":["helix","feat-009","area:cypher","area:storage","kind:feature"],"priority":0,"spec-id":"FEAT-009","status":"closed","title":"test(feat-009): SQLite Cypher executor parity and ready/blocked benchmarks","updated_at":"2026-05-09T04:09:56.650318225Z"} |
31 | | -{"acceptance":"Each target Playwright spec includes story/workflow tags or titles for the mapped FEAT-031/FEAT-015/FEAT-016/FEAT-029/FEAT-030 story, asserts the GraphQL-primary route used by the UI, and fails if any FEAT-031 story US-113..US-119 lacks at least one live-server workflow test.","created_at":"2026-04-22T12:46:55.174653689Z","dependencies":[{"issue_id":"axon-10629702","depends_on_id":"axon-e626a2a8","type":"blocks","created_at":"2026-04-22T12:47:21Z"},{"issue_id":"axon-10629702","depends_on_id":"axon-03ba1a49","type":"blocks","created_at":"2026-04-22T12:47:21Z"},{"issue_id":"axon-10629702","depends_on_id":"axon-f8ebe2cf","type":"blocks","created_at":"2026-04-22T12:47:21Z"},{"issue_id":"axon-10629702","depends_on_id":"axon-1a947aba","type":"blocks","created_at":"2026-04-22T12:47:21Z"},{"issue_id":"axon-10629702","depends_on_id":"axon-e87be22f","type":"blocks","created_at":"2026-04-22T12:47:21Z"},{"issue_id":"axon-10629702","depends_on_id":"axon-11470d3b","type":"blocks","created_at":"2026-04-22T12:47:21Z"}],"description":"Add a Playwright workflow coverage matrix and test naming/tagging convention that ties every FEAT-031 capability back to its source user story or mapped FEAT-015/016/029/030 workflow. The matrix covers policy authoring, policy enforcement, GraphQL console reproduction, mutation preview, approval inbox, intent audit lineage, and MCP envelope preview.","id":"axon-10629702","issue_type":"task","labels":["helix","phase:test","kind:implementation","area:ui","feat-031","ui:playwright","kind:traceability"],"parent":"axon-c5a64173","priority":0,"status":"open","title":"test(feat-031): tag Playwright specs with user-story workflow coverage","updated_at":"2026-04-22T12:47:21.981386375Z"} |
| 31 | +{"acceptance":"Each target Playwright spec includes story/workflow tags or titles for the mapped FEAT-031/FEAT-015/FEAT-016/FEAT-029/FEAT-030 story, asserts the GraphQL-primary route used by the UI, and fails if any FEAT-031 story US-113..US-119 lacks at least one live-server workflow test.","closing_commit_sha":"1bebf4e75cd7dbe4ea4b0f1b073ab26947388677","created_at":"2026-04-22T12:46:55.174653689Z","dependencies":[{"issue_id":"axon-10629702","depends_on_id":"axon-e626a2a8","type":"blocks","created_at":"2026-04-22T12:47:21Z"},{"issue_id":"axon-10629702","depends_on_id":"axon-03ba1a49","type":"blocks","created_at":"2026-04-22T12:47:21Z"},{"issue_id":"axon-10629702","depends_on_id":"axon-f8ebe2cf","type":"blocks","created_at":"2026-04-22T12:47:21Z"},{"issue_id":"axon-10629702","depends_on_id":"axon-1a947aba","type":"blocks","created_at":"2026-04-22T12:47:21Z"},{"issue_id":"axon-10629702","depends_on_id":"axon-e87be22f","type":"blocks","created_at":"2026-04-22T12:47:21Z"},{"issue_id":"axon-10629702","depends_on_id":"axon-11470d3b","type":"blocks","created_at":"2026-04-22T12:47:21Z"}],"description":"Add a Playwright workflow coverage matrix and test naming/tagging convention that ties every FEAT-031 capability back to its source user story or mapped FEAT-015/016/029/030 workflow. The matrix covers policy authoring, policy enforcement, GraphQL console reproduction, mutation preview, approval inbox, intent audit lineage, and MCP envelope preview.","id":"axon-10629702","issue_type":"task","labels":["helix","phase:test","kind:implementation","area:ui","feat-031","ui:playwright","kind:traceability"],"parent":"axon-c5a64173","priority":0,"status":"closed","title":"test(feat-031): tag Playwright specs with user-story workflow coverage","updated_at":"2026-05-09T14:00:45.588380769Z"} |
32 | 32 | {"claimed-at":"2026-04-06T17:20:59Z","claimed-machine":"sindri","claimed-pid":"2959962","created_at":"2026-04-06T12:15:10.407454409Z","description":"building/ready/dropping lifecycle. Background entity scan. Double-write during build.","id":"axon-109fe4ab","issue_type":"task","labels":["helix","build","storage"],"owner":"erik","parent":"axon-cf0472fd","priority":2,"spec-id":"FEAT-013","status":"closed","title":"US-034: Background index build (FEAT-013)","updated_at":"2026-04-06T17:22:19.428793663Z"} |
33 | 33 | {"acceptance":"policy-authoring.spec.ts, policy-enforcement.spec.ts, mutation-intents.spec.ts, approval-inbox.spec.ts, and intent-audit-lineage.spec.ts assert schema, policy, and relevant grant versions are visible and update correctly on policy, entity, intent detail, approval inbox, and audit views without falling back to REST-only data paths.","closing_commit_sha":"57249dbfbbab5f129b567e0d1c31549c586402b0","created_at":"2026-04-22T12:20:48.15104217Z","dependencies":[{"issue_id":"axon-11470d3b","depends_on_id":"axon-e626a2a8","type":"blocks","created_at":"2026-04-22T12:35:27Z"},{"issue_id":"axon-11470d3b","depends_on_id":"axon-03ba1a49","type":"blocks","created_at":"2026-04-22T12:35:27Z"},{"issue_id":"axon-11470d3b","depends_on_id":"axon-1a947aba","type":"blocks","created_at":"2026-04-22T12:35:27Z"},{"issue_id":"axon-11470d3b","depends_on_id":"axon-e87be22f","type":"blocks","created_at":"2026-04-22T12:35:27Z"},{"issue_id":"axon-11470d3b","depends_on_id":"axon-d73680e3","type":"blocks","created_at":"2026-05-09T12:52:14Z"},{"issue_id":"axon-11470d3b","depends_on_id":"axon-351b9ec5","type":"blocks","created_at":"2026-05-09T12:52:14Z"},{"issue_id":"axon-11470d3b","depends_on_id":"axon-080efad0","type":"blocks","created_at":"2026-05-09T12:52:14Z"},{"issue_id":"axon-11470d3b","depends_on_id":"axon-d2a2a33c","type":"blocks","created_at":"2026-05-09T12:52:14Z"},{"issue_id":"axon-11470d3b","depends_on_id":"axon-c812ae66","type":"blocks","created_at":"2026-05-09T12:52:14Z"},{"issue_id":"axon-11470d3b","depends_on_id":"axon-b60bc2e6","type":"blocks","created_at":"2026-05-09T12:52:15Z"}],"description":"Add a reusable version/context indicator showing active schema version, policy version, and grant version where relevant across policy, entity, intent, and audit routes for the selected tenant/database scope.","id":"axon-11470d3b","issue_type":"task","labels":["helix","phase:build","kind:implementation","area:ui","feat-031","component:version-context"],"parent":"axon-c5a64173","priority":2,"status":"closed","title":"build(feat-031): active schema and policy version indicator across scoped views","updated_at":"2026-05-09T13:34:36.921511123Z"} |
34 | 34 | {"created_at":"2026-04-06T01:55:05.162260702Z","id":"axon-114ad5fb","issue_type":"epic","labels":["helix","phase:review","kind:review"],"priority":0,"status":"closed","title":"Alignment review: final V1 pre-ship (2026-04-05f)","updated_at":"2026-04-06T01:55:36.508259106Z"} |
|
0 commit comments