Document · doc-0003

Closed GitHub issues (pre-Backlog history index)

The record of work closed before backlog/ became this repository’s tracker, kept as one document so the history is readable from the checkout alone and so the original ID spaces stay the only ones. Compiled 2026-08-14 during the migration.

Backlog task IDs follow creation order, so importing any of this as Done tasks would have created a second ID space over the same history - an FMO-nnnn that can never be made to match the #N or phase number already cited in commit messages, code comments and the docs. These rows point at the originals instead.

Where the full detail still lives

Closed GitHub issues

Two. Everything numbered #1-#7 in this repository is a pull request, not an issue - gh issue view <n> silently renders a PR when the number is a PR, which makes the issue set look larger than it is.

# Title Closed Reason Resulting SHA
8 Optional namespace-scoped Fleet pipeline naming (non-breaking) + spec.name validation 2026-06-01 completed 6b89fda (webhook validation, phase 1), 7439ae4 (opt-in namespace-scoped naming with auto-migration)
9 Document cross-namespace discovery trust boundary; consider opt-in gate 2026-06-01 completed 9b58bfc

#8 was itself the non-breaking follow-up to PR #3 (“Harden pipeline naming to namespace scope”), which was closed unmerged because always deriving the Fleet pipeline name from namespace.name is a silent breaking change - Fleet upsert is name-keyed for idempotency, so the rename orphans the existing pipeline rather than moving it. That reasoning is the reason the feature is opt-in today, and it is the kind of thing that gets re-litigated if only the outcome survives.

#9 resolved the mirror question for PipelineDiscovery / CollectorDiscovery: cross-namespace mirroring is a kept, intended capability, documented as a trust boundary rather than blocked. PR #6 had proposed hard-blocking it; that was rejected.

The one open issue, #46 “Dependency Dashboard”, is Renovate’s own bot-maintained issue. It is not work, it is recreated on every Renovate run, and it is deliberately not represented in backlog/.

.planning/ - v1.0.0 and v1.1 phase tracker (2026-02-08 to 2026-02-09)

7 phases, 12 plans, all complete. Milestone consolidated as v1.0.0 at 6704801; v1.0 closed at b2d223a, v1.1 closed at 3fcc31b.

Phase Plan Title Completed SHA
1 01-01 Client Layer Error Foundation 2026-02-08 fcbf1af
1 01-02 Client layer error foundation tests 2026-02-08 2b48d9e
2 02-01 Controller error handling fixes 2026-02-08 928aac6
2 02-02 Controller error handling tests 2026-02-08 b59fd6f
2 - Phase 2 execution complete 2026-02-08 69d0bf6
3 03-01 Logging quality improvements 2026-02-08 d8c9a51
3 03-02 Logging quality tests 2026-02-08 0c749a2
3 - Phase 3 execution complete 2026-02-08 ffeb8c2
4 04-01 Mock Fleet Management API and fixtures 2026-02-09 971ae7b
4 04-02 Pipeline lifecycle E2E tests 2026-02-09 35c3ca2
4 04-03 GitHub Actions E2E workflow 2026-02-09 fdc1796
4 - Phase 4 execution complete 2026-02-09 5fea232
5 05-01 Informer Cache Audit 2026-02-09 ed9f948
6 06-01 Reconcile Loop Optimization 2026-02-09 69f2b79
6 - Phase 6 execution complete 2026-02-09 d357d6e
7 07-01 Watch Pattern Tuning 2026-02-09 c98bdc7

What it left behind that is still load-bearing in the codebase, and should not be “cleaned up” by someone who does not know why it is there:

Two closed items that were re-opened by later work - noted because the phase tracker records them as done and it is misleading on its own. loggerFor() was flagged as dead code in the v1.0 milestone audit, and phase 1 never produced a VERIFICATION.md. Both were accepted as low-risk tech debt at the time.

docs/superpowers/ - production-readiness audit (2026-04-28)

docs/superpowers/audits/2026-04-28-production-readiness-scorecard.md, against source commit 013f042. Calibration: single tenant, 30,000 collectors, thousands of pipelines, single replica, 3 req/s Fleet API limit. Roughly 70 findings across 10 categories, executed as a 10-way parallel fan-out with an aggregation pass.

Outcome: every category GREEN, no S1 findings ever raised. The remediation log in that file is the authoritative per-finding record, with a SHA on most rows. Headline fixes that changed production behaviour: Fleet API burst made configurable and defaulted to 50 (2e8aaf5, 7124397, 6a7ba07); status.matchedCollectorIDs / ownedKeys capped at 1000 with a Truncated condition (62cf4a3, c801c66); selective Collector watch via IndexField on .spec.selector.matcherKeys; per-controller MaxConcurrentReconciles (d9ba8ef); chart memory limits raised from 128Mi to 1Gi; Fleet API metrics, rate-limiter wait histogram and OTEL tracing added; Grafana dashboard, PrometheusRule alerts, five per-alert runbooks, docs/troubleshooting.md, docs/versioning.md and docs/webhook-setup.md created.

Two findings survived and are now live tasks, not history - they were recorded only in this gitignored file, invisible to any other clone or CI run, which is the specific reason they were promoted during the migration:

Find them with backlog task list --plain.

View the source file on GitHub