Deliver the Issues and Projects work system #9

Open AtlantisPleb opened this 15h ago 13 comments

Outcome

Deliver a reliable Issues and Projects work system whose server, web, API, and CLI surfaces use one repository authority model.

Current behavior

The assessment in docs/2026-08-21-issues-projects-work-system-assessment.md defines the complete program. The first authorization and project-addressing corrections are in production.

First delivery slice

  • [x] #4 — Authenticated private-repository reads
  • [x] #5 — Bounded issue pagination and filters
  • [x] #6 — Request-origin API URLs
  • [x] #7 — Route authority reconciliation
  • [x] #8 — Remove the initial-repository project pin

Acceptance criteria

  • The API contract is bounded and authority-correct.
  • Projects use explicit repository or namespace scope.
  • Named CLI commands qualify against the exact deployed server.
  • Project boards and issue records remain canonical views over the same work.

Verification

Track focused tests, mix precommit, packaged CLI checks, exact-candidate staging evidence, and production receipts on each child issue.

Dependencies

The named CLI implementation remains owned by its active openagents monorepo task. Do not duplicate that lane.

  1. AtlantisPleb opened this issue 15h ago
  2. A AtlantisPleb Author 14h ago

    Release verification for d497583fb30eca4bfee32778224e3da2d41217ca: 2,039 application tests, 14 cluster tests, and 17 frontend tests passed. All three production nodes and status surfaces report the exact SHA with quorum; 30 of 30 public repository requests and 30 of 30 Projects item requests returned 200.

  3. A AtlantisPleb Author 9h ago

    Production documentation and release update (2026-08-22)

    • Deployed 9555dad8f4429347655e6b7f3377cdf543aab8ed as release 0.2.2 across all three production nodes.
    • Passed the exact-SHA gate: 2,047 application tests, 14 cluster tests, 17 frontend tests, and all 13 release stages.
    • Added and deployed /docs/cli-api, reconciled the CLI command reference, install guide, REST API guide, repository-creation spec, and Issues/Projects assessment with the implemented generic openagents api command.
    • Added audited relup settlement through OpenAgents.Forge.Targets.finish_relup_deployment/2, including source revision, package-manifest digest, duration, and per-node permanent-state validation.
    • The production relup correctly stopped on its first node when OTP release handling could not inspect libring's DynamicSupervisor; the node stayed healthy on 0.2.1. The immutable-image fallback then rolled image sha256:6e7834e47f14c472f1c03a70aa0f0a5158cf3324cfc91ef336cf27cfeb3bd4ab one node at a time.
    • The final rolling receipt is 590dd75c-759c-44cb-a22a-7e20cde7a3de. Every node reports ready, 0.2.2, and the exact candidate SHA. All three load-balancer backends are healthy.
    • Forge and GitHub refs now match exactly.

    The currently published CLI supports the generic api path but still does not expose named issue or project commands. Keep the named-command acceptance criterion open until the active CLI task publishes and qualifies those commands.

  4. A AtlantisPleb Author 8h ago

    Created #12 — keep cross-issue task references in sync automatically. The stale - [ ] #6 checkbox after #6 closed was corrected by hand this time; #12 proposes the tracker do it itself.

  5. A AtlantisPleb Author 8h ago

    Filed #13 — render issue state with GitHub-style octicons (green circle-dot for open, purple check-circle for closed), token-colored in both palettes.

  6. A AtlantisPleb Author 8h ago

    Filed #14 — the global /issues index does not live-update on out-of-band issue writes (API-created issues need a reload). Root cause: only the repository-scoped index subscribes to :issues_changed; the global one renders a mount-time snapshot.

  7. A AtlantisPleb Author 8h ago

    Filed #15 — open the GitHub-style public surfaces to signed-out visitors. The per-repository issue pages already serve anonymous readers, but the global /issues (and sibling workspaces) still sit behind require_authenticated_user.

  8. A AtlantisPleb Author 7h ago

    Production receipt for the Issues and Projects delivery slice (2026-08-22)\n\n- Deployed 45f6fff3222c432f248ca831a6fbc882c0fc6206 as release 0.2.3 on all three production nodes.\n- Exact-candidate gate passed: 2,058 application tests, 14 cluster tests, 17 frontend tests, 45 transaction tests, 111 contract checks, and the release, relup, rolling, interruption, and infrastructure suites.\n- Forge target be1c672c-914c-49ae-a474-201192bd2890 is live; deployment c0087c77-6001-4077-8839-292a3791c471; receipt f6883f15-2d6e-4705-ac39-01eeaf21d0a6.\n- The production status API reports all three nodes ready on the exact SHA with a three-node BEAM quorum. All load-balancer backends are healthy.\n- Boot convergence is enabled and ready on every node with reason image_matches_live.\n- The request-origin, bounded pagination, and explicit route-authority work tracked by #5, #6, and #7 is present in this release.\n- The anonymous repository page uses the full viewport, and the repository activity timestamp advances with accepted pushes.\n\nThe program remains open for named CLI commands, richer project operations, and issue-to-agent provenance.

  9. A AtlantisPleb Author 7h ago

    Filed #24 — the /projects workspace has the same stale-snapshot gap #14 just fixed for /issues: no subscription, so out-of-band project writes need a reload.

  10. A AtlantisPleb Author 7h ago

    Filed #26 — the homepage dashboard reads a single arbitrary repository (first visible ready repo) for its Open Issues and Projects panels, so they can report zero while /issues and /projects are full. Fix is to read viewer-wide like those pages do.

  11. A AtlantisPleb Author 7h ago

    Filed #27 — repository commit stamps render a bare %Y-%m-%d date while issue rows use the coarse relative helper; the Code page should read "5 minutes ago" like every other recency surface.

  12. A AtlantisPleb Author 7h ago

    Filed #28 — sidebar collapse state persists on the homepage but not on /docs (/components presumed same). Transport (cookie → plug → session → on_mount → seed) verified shared end-to-end; prime suspects are per-surface section-id namespacing and the docs layout's active-section force-open default.

  13. A AtlantisPleb Author 6h ago

    Production release 1194347a978a9fb2fdfa73b8444bee3d6333901b is live on all three nodes. Application image: sha256:36b14495e4f8db9e8b18ba2da5f5d16d1b8804b7d423e4736ffe9b95aeb1876d. Builder image: sha256:ea1ef9d6bbadb01cb0ef4a3e6aab3e3e31f163c2a617e9d7768cb05b4b9157ee. Forge target: c147399c-f1e6-4680-840a-c71b391bc495. Deployment: 2dc7ec53-4bf2-48a2-b029-c0680a99736b. Receipt: 41783bae-d2ef-437d-8ba1-cbd247e61436. The exact-SHA gate passed 2,061 application tests plus cluster, frontend, transaction, relup, rolling, contract, infrastructure, and release-smoke suites. Forge refused hot loading as needs_rolling_replace; the three-node rolling replacement completed with every backend healthy and boot convergence reporting image_matches_live.

  14. A AtlantisPleb Author 6h ago

    Filed #35 — a governed extension surface for the Issues API: GitHub-shaped fields stay byte-compatible, OpenAgents additions live under a namespaced openagents object enumerated in the API root document (plus an X-OpenAgents-Extensions header), starting with derived progress so agents can finally see which issues are in progress without walking project boards. Establishes the governance rules every future Linear-inspired field must follow.

Sign in with GitHub to comment on this issue.