Skip to content
118 changes: 118 additions & 0 deletions docs/BACKLOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4192,6 +4192,124 @@ systems. This track claims the space.

## P2 — research-grade

- [ ] **Factory status UI — static, git-native,
GitHub Pages hosted.**
The human maintainer 2026-04-23: *"static ui on our
github pages that shows factory status things in
flight progress, etc anyting else you can make of to
help the human drive we can surface thing in the ui
like the decions and any decions we would like human
feedback on. All this should be able to use our
gitnative approach and not really cost anyting i
dont think becasue it can just use git for the
backend for the ui. backlog this and probaby not a
good idea until after the repo split into the
different projects."*

**Goal**: a static UI at the repo's GitHub Pages URL
(default `https://lucent-financial-group.github.io/<repo>`)
that surfaces factory state to humans:
- Things in flight (open PRs, their state)
- Decisions made (ADRs under `docs/DECISIONS/`)
- Decisions seeking human feedback (HUMAN-BACKLOG
Open rows)
- Round history / progress ledger
- Whatever else helps a human drive the factory
without reading raw files

**Constraint — git-native content + GitHub adapter**:
per the plural-host rule (the factory is git-native
core + GitHub is the first adapter): the **content
feeding the UI** (PRs, ADRs, HUMAN-BACKLOG,
CONTRIBUTOR-CONFLICTS, ROUND-HISTORY, hygiene-history)
is git-native — lives in the repo regardless of host.
The **UI itself is an explicit GitHub adapter**: GitHub
Pages is GitHub-native by definition; GitHub Actions
Comment on lines +4223 to +4227
Copy link

Copilot AI Apr 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 (xref): The “git-native content” list uses bare identifiers (e.g., HUMAN-BACKLOG, CONTRIBUTOR-CONFLICTS, ROUND-HISTORY, hygiene-history) instead of repo-resolvable paths. Since these are intended as UI inputs, please change them to explicit paths like docs/HUMAN-BACKLOG.md, docs/CONTRIBUTOR-CONFLICTS.md, docs/ROUND-HISTORY.md, and docs/hygiene-history/ to avoid ambiguous/broken references.

Suggested change
feeding the UI** (PRs, ADRs, HUMAN-BACKLOG,
CONTRIBUTOR-CONFLICTS, ROUND-HISTORY, hygiene-history)
is git-native — lives in the repo regardless of host.
The **UI itself is an explicit GitHub adapter**: GitHub
Pages is GitHub-native by definition; GitHub Actions
feeding the UI** (PRs, ADRs, `docs/HUMAN-BACKLOG.md`,
`docs/CONTRIBUTOR-CONFLICTS.md`, `docs/ROUND-HISTORY.md`,
`docs/hygiene-history/`) is git-native — lives in the
repo regardless of host. The **UI itself is an explicit
GitHub adapter**: GitHub Pages is GitHub-native by
definition; GitHub Actions

Copilot uses AI. Check for mistakes.
regenerates the site on push; GitHub REST API feeds
read-only state into the UI. When a second git host
(GitLab / Gitea / Bitbucket) eventually activates, a
sibling adapter ships (GitLab Pages / Gitea Pages /
`bitbucket.io`) against the same git-native content
spec. No paid SaaS, no external backend for the
current GitHub adapter.

**Tech choice: bun + TypeScript SSG** (Kenji
recommendation, re-examined 2026-04-23 with whole-
project consideration):

The Architect persona (Kenji) previously argued for
excluding Jekyll in favor of bun+TypeScript. The
maintainer 2026-04-23 asked for a re-evaluation with
whole-project consideration:

- **Cross-platform parity (FACTORY-HYGIENE row #51 — cross-platform parity audit)**
— Ruby/Jekyll is painful on Windows; bun is
cross-platform-native.
- **Post-setup stack default (row #49)** — bun+TS is
the factory-aligned choice for any post-setup
tooling. Adding a Ruby chain for one surface
fragments the stack.
- **One-language rule** — the factory already spans
F#, C#, TypeScript, bash, PowerShell. Adding Ruby
*just for GitHub Pages* would increase
language-footprint without proportionate benefit.
- **GitHub Pages + Actions build pattern** — widely
supported; pre-build with bun in a workflow, publish
static output to `gh-pages` branch; works regardless
of native-Pages SSG support.
- **Rich SSG ecosystem** — bun + Astro / Eleventy /
custom are viable; factory can pick the thinnest-
substrate one at implementation time.

Kenji's call stands: bun + TypeScript. No Jekyll as
default; Jekyll reconsidered only if a whole-project
use case surfaces that isn't served by bun+TS.
Comment on lines +4264 to +4266
Copy link

Copilot AI Apr 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 (config-drift): This row states a fairly definitive decision (“Kenji’s call stands… No Jekyll as default”), but docs/AGENT-GITHUB-SURFACES.md Surface 10 treats Pages deployment as research-gated and explicitly lists Jekyll as an option still under evaluation. Suggest rephrasing this section to align with the existing doc (e.g., bun+TS as the preferred candidate while still evaluating/keeping Jekyll as a considered alternative) unless an ADR has already made the decision.

Suggested change
Kenji's call stands: bun + TypeScript. No Jekyll as
default; Jekyll reconsidered only if a whole-project
use case surfaces that isn't served by bun+TS.
Current direction: treat bun + TypeScript as the
preferred candidate to evaluate first after the repo
split, while keeping Pages deployment research-gated.
Jekyll remains a considered alternative rather than a
closed option until an implementation decision or ADR
settles the default.

Copilot uses AI. Check for mistakes.

**Sequencing**: the maintainer explicitly said
*"probably not a good idea until after the repo
split into the different projects."* Multi-repo
refactor research (PR #150) is the prerequisite.
Once the split lands, each split repo can have its
own Pages UI surfacing its own factory-state slice.

**Read-only first, write-access later** (maintainer
2026-04-23 refinement): *"ui will likely need gh, our
repo is public so for all the read actions on the ui
we are good without permission, for write actions we
probably don't need this yet would need whole
permission set and resue of the github logins session
stuff without a real backend, tricky stuff so
readonly to expaned to write access later."* Phase 1
of the UI — **read-only** — uses the GitHub REST API
against the public repo with no auth (rate-limit
applies; acceptable for a status dashboard that
Comment thread
AceHack marked this conversation as resolved.
updates per-push). Phase 2 — **write actions** (e.g.,
human clicks to resolve a HUMAN-BACKLOG row) — would
need either GitHub session / OAuth handoff or a thin
backend, both of which break the git-native +
~free-to-run constraint as currently understood.
Defer Phase 2 until the tradeoff is re-examined.

**Cross-references**:
- `docs/AGENT-GITHUB-SURFACES.md` §Pages
(research-gated; this row activates that research)
- PR #150 `docs/research/multi-repo-refactor-shapes-2026-04-23.md`
(prerequisite)
Comment thread
AceHack marked this conversation as resolved.
Comment on lines +4296 to +4297
Copy link

Copilot AI Apr 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 (xref): docs/research/multi-repo-refactor-shapes-2026-04-23.md is not present on main yet. Elsewhere in BACKLOG forward references are annotated (e.g., “(lands via PR #155)”) to signal that the file isn’t merged yet; please add a similar “(lands via PR #150)” note here (or otherwise clarify) to avoid a temporarily broken pointer if this lands first.

Suggested change
- PR #150 `docs/research/multi-repo-refactor-shapes-2026-04-23.md`
(prerequisite)
- `docs/research/multi-repo-refactor-shapes-2026-04-23.md`
(lands via PR #150; prerequisite)

Copilot uses AI. Check for mistakes.
- `docs/HUMAN-BACKLOG.md` (source for
decisions-seeking-feedback on the UI)
- `docs/DECISIONS/` (source for decisions-made on
the UI)
- `docs/ROUND-HISTORY.md` (source for round progress)
- `docs/hygiene-history/*.md` (source for fire-log
surfaces per row #47 — the cadence-history tracking row that defines the per-fire schema)

**Self-scheduled** when maintainer elevates priority
(post-split).

**Effort**: M for first-pass UI + GitHub Action
wiring; L if the UI becomes the primary factory-
human-interface surface.

- [ ] **Compoundings-per-tick audit — tick-close self-
diagnostic with confidence-axis failure-mode taxonomy.**
Recurrence threshold met auto-loop-16/17/18 (2026-04-22):
Expand Down
Loading