Skip to content

docs(dashboard): build out the Basement cluster project section (/program/lab-cluster) #1124

Closed

Description

@dezren39

Summary

Build out the Basement cluster project section on the dashboard (/program/lab-cluster, from the epic's hub build) to full documentation: description, status, done/next, long-term roadmap, and gaps — integrated with its live data, not a static stub.

Sources of record (use these; do not invent status)

  • Project home: planning/roadmaps/basement-cluster.md (seeded per the 2026-10-26 project-structure spec — 12 epics from hardware inventory to the ESP32 wing)
  • Goal workspace register: stand-up-lab-cluster goal files (idea register 2026-10-20, project-structure spec 2026-10-26)
  • Live: Project Bump build/buck/preludes/buck2-prelude from 3a02ea3 to 9530656 #4 pool Area=lab-cluster (19 items at filing), Grist roadmapArea=Basement cluster (rows: Talos+Cozystack via TALM, hardware inventory + firmware/BMC audit, storage tiers, day-one services, spare PCs, ESP32 wing, OCI Always Free)
  • Constraints that must appear on the page: no HashiCorp; everything bootstrappable from config; ~12 Threadripper machines; electrician/20A circuits dependency (existing tracked goal); the torn-down v1.9-era test cluster is historical, not live.

Acceptance

  • /program/lab-cluster shows: sourced description, live pool counts + items, its roadmap rows, the 12-epic structure as the next/long-term skeleton with horizons, and honest gaps (no physical cluster installed yet; power/space blockers).
  • First dated status report exists under doc/_status_basement-cluster/ and is linked from the page (spec layer 2), or this issue records why it is sequenced after the seeding PR.
  • Every claim on the page traces to a source above or a tracked issue ref.

Activity

  1. added
    kind/docsDocumentation improvement or addition
    app/pm-stackpm-stack (Pad/Grist) in developing-today/code
    on Oct 27, 2026
  2. developing-today commented on Oct 27, 2026

    @developing-today
    Contributor
  3. dezren39 commented on Oct 27, 2026

    @dezren39
    MemberAuthor

    Epic: #1129 — per-project status pages for all projects (generalize /program beyond pm-dashboard).

  4. dezren39 commented on Oct 27, 2026

    @dezren39
    MemberAuthor

    Agent note — content research for the full build-out (2026-10-26, read-only pass; epic #1129). Verified live tonight: page pool = 20 items, all Todo (12 code epics #1080–#1093 + 8 older nix-side items dezren39/darwin-nix#501–#508); Grist = 6 rows; home doc and first status report both exist on main.

    Page vs sources — gaps found

    Checklist to "fully documented"

    Decision — Grist grain. Spec layer 3 wants Grist rows to match Project items 1:1; today 6 coarse rows cover 12 epics (network fabric, Cozystack platform, observability, first workload have no row; cloud extension's row lives under the Cloud program area instead). Recommendation: keep the 6 coarse rows as the roadmap grain and record that the 1:1 rule applies at row↔epic-group level for this project — expanding to 12 rows duplicates the pool. Whatever is chosen, record it here and in the spec.

    Status report (spec layer 2): first edition exists and is good (state, blockers, next steps). Next edition is due when the Now epics move (inventory started) or the OCI check-back lands.

  5. dezren39 commented on Oct 27, 2026

    @dezren39
    MemberAuthor

    Agent note — partial slice pickup (2026-10-27): the next aggregator PR will implement the researched, bounded item(s) from the content-research note on this issue. This is a partial slice only; the issue remains open for the rest of its build-out checklist.

  6. added 2 commits that reference this issue on Oct 27, 2026
  7. dezren39 commented on Oct 27, 2026

    @dezren39
    MemberAuthor

    Agent note — partial slice landed (2026-10-27, PR #1305, merge e246a33; this issue stays OPEN): (1) the page now links the first dated status report — new optional statusReport {label,url} on ProjectConfig (validated like homeDoc), rendered beside the home-doc link, pointing at doc/2026-10-27T03-14-08Z_status_basement-cluster/ (verified live on /program/lab-cluster + in /api/program-project.json). (2) The OCI blocker is in gaps: tenancy stuck in provisioning since 2026-10-21, ticket CPCOE-29381, gating epic #1091 (verified OPEN). Remaining from the research checklist: reconcile the Grist inventory-row status disagreement, decide/reflect the nix#501–#508 predecessor set, record the Grist-grain decision in the spec.

  8. dezren39 commented on Oct 29, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

  9. dezren39 commented on Oct 29, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done (triage)

    Verdict: core build-out ALREADY DONE on main; issue stays open for two named residuals.

    Acceptance check at HEAD (pm-stack/aggregator/src/project-config.ts, lab-cluster entry):

    Residuals (from the 2026-10-27 content-research note, still true at HEAD):

    1. The page never reflects the parallel pre-seed nix-side set Hardware inventory + hardware-stats gathering: pick the first 3–5 cluster machines dezren39/darwin-nix#501–fix(lab-ops-hub): container validator refuses space hosts and IPvFuture literals #508 overlapping the code epics (nix#501≈epic(cluster): hardware inventory & first-node selection #1080, lab-ops-hub: container crawler treats invalid IPv4 spellings, numeric-final-label hosts and malformed ports as public DNS names #502≈epic(cluster): firmware / BIOS / BMC audit & standardization #1081, fix(lab-ops-hub): container validator refuses numeric-final-label hosts and malformed ports #503≈epic(cluster): TALM + Talos bootstrap #1086, lab-ops-hub: container validator still allows bare 0x hosts (example.0x, 0x) that the Worker validator refuses #504≈epic(cluster): storage assembly & design validation #1085, lab-ops-hub: container validator accepts space hosts and IPvFuture literals the Worker validator refuses #507≈epic(cluster): cloud extension (OCI free fleet & egress offload) #1091, program epic nix#508) — the lab-cluster entry's trackedRefs/gaps contain no nix refs.
    2. The Grist row "Hardware inventory + firmware/BMC audit" reads In progress / Q4 2026 while the Project pool and home doc say Todo/planned for epic(cluster): hardware inventory & first-node selection #1080/epic(cluster): firmware / BIOS / BMC audit & standardization #1081 — the page does not surface the disagreement (reconciling the data itself is orchestrator-owned; surfacing it honestly is a page fix).

    Routing: residuals 1–2 enqueued as a scoped small_fix follow-up, queue task 3022 (lab-cluster config entry + test assertion only; no Grist/Project writes). The third research item — recording the Grist-grain decision in the spec — is a docs decision left on this issue for the epic #1129 owner. This triage task completes as triaged; the issue stays OPEN until task 3022 lands.

  10. 27 remaining items

  11. added
    queue/claimedQueue worker lifecycle state
    and removed
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    on Oct 29, 2026
  12. dezren39 commented on Oct 29, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · parked

  13. added
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    and removed
    queue/claimedQueue worker lifecycle state
    on Oct 29, 2026
  14. dezren39 commented on Oct 29, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · residuals implemented, parked on the repo-wide merge-queue freeze (#2403)

  15. dezren39 commented on Oct 30, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · parked

  16. removed
    status/parkedDeliberately paused with a recorded resume condition
    on Nov 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

app/pm-stackpm-stack (Pad/Grist) in developing-today/codekind/docsDocumentation improvement or additionqueue/parkedQueue task is parked (waiting on CI, time, or an event)status:donework/assignedQueue worker lifecycle state

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions