Skip to content

Commit 465d2e1

Browse files
committed
docs(tech-debt): add TD-CI-001 (path-filter ci.yml) + TD-DOCS-001 (docs/ refactor)
TD-CI-001: captures the CI optimization needed so non-admin contributors (post public flip) don't hit the ~6-8 minute full pipeline on docs-only PRs. Admin bypass is the maintainer workaround for now; path filters are the general solution. Must be done before Decision 016's exit criteria open contributions. TD-DOCS-001: captures the docs/ directory refactor flagged during the M-sec session — no ToC, scattered files, leaked meta-tags. Must be done before public flip so skeptical first-time visitors get a navigable documentation surface. Dev-file-only commit — direct push per the strip-list test rule.
1 parent 66209ef commit 465d2e1

1 file changed

Lines changed: 43 additions & 0 deletions

File tree

TECH-DEBT.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,49 @@ to `go1.25.9`. **Resolved 2026-04-10 in Task 23** — toolchain bumped,
293293
| TD-VUL-003 | GO-2026-4870 (TLS 1.3 KeyUpdate DoS) | `crypto/tls` | `go1.25.9` | RESOLVED |
294294
| TD-VUL-004 | GO-2026-4601 (IPv6 host literal parsing) | `net/url` | `go1.25.8` | RESOLVED |
295295

296+
## TD-CI-001 — Path-filter ci.yml for docs-only PRs (M-sec, 2026-04-10)
297+
298+
Full 13-gate pipeline runs on every PR regardless of whether any Go code
299+
changed. A pure docs PR still triggers build, vet, lint, unit-tests,
300+
unit-tests-race, gosec, govulncheck, go-mod-verify, docker-build, smoke-l25,
301+
sbom — ~6-8 minutes of wasted compute per docs-only PR.
302+
303+
Maintainers (admins) can direct-push dev-file-only changes to develop today via
304+
the "Direct push vs PR — strip-list test" Standing Rule in MEMORY.md. Non-admin
305+
contributors will have no such escape hatch once Decision 016's exit criteria
306+
are met and contributions open.
307+
308+
**Fix:** add `paths:` / `paths-ignore:` to `ci.yml`'s `on: pull_request` and
309+
`on: push` triggers so the workflow doesn't fire on `**.md`, `docs/**`,
310+
`.plans/**`, `adr/**`, or the stripped top-level markdown files. Keep the small
311+
fast gates (`format`, `contamination`, `changelog`, `gate-parity`, `gates-passed`)
312+
running in a lightweight `ci-docs.yml` workflow OR use `dorny/paths-filter`
313+
per-job skipping so `gates-passed` still reports `success` on docs-only PRs
314+
(branch protection requires it).
315+
316+
**Validate:** after the change, open a docs-only PR and verify the heavy gates
317+
skip while `gates-passed` still reports success. Do not break the branch-protection
318+
contract.
319+
320+
**When to fix:** before external contributions open. Not urgent while private +
321+
no-contribs, but MUST be done before Decision 016's exit criteria are met.
322+
323+
## TD-DOCS-001 — `docs/` directory refactor (M-sec, 2026-04-10)
324+
325+
Flagged during the M-sec session: `docs/` has no table of contents, files are
326+
scattered, some leak meta-tags / internal tooling artifacts that shouldn't be
327+
public-facing.
328+
329+
**Fix:** audit every file in `docs/`, categorize (getting-started / concepts /
330+
reference / examples / operations), write a `docs/README.md` as the navigational
331+
root, remove or rewrite anything that shouldn't ship publicly, normalize
332+
frontmatter to exclude internal tags. Consider a static-site generator (mdBook,
333+
Docusaurus, Hugo) if the structure warrants it.
334+
335+
**When to fix:** before the repo flips public. Public-facing docs are one of
336+
the first things a skeptical engineer reads; bad navigation is a trust-loss
337+
moment.
338+
296339
## When to Fix
297340

298341
Documentation and script drift items (TD-D*, TD-S*) should be resolved **after all cherry-pick batches are complete** (B0-B6). Doing them now risks conflicts with incoming commits. Schedule as a dedicated docs refresh phase post-migration.

0 commit comments

Comments
 (0)