Docs: trim remaining historical timecurve mentions in satellite docs #284

Closed
opened 2026-06-03 13:29:23 +00:00 by PlasticDigits · 10 comments
PlasticDigits commented 2026-06-03 13:29:23 +00:00 (Migrated from gitlab.com)

Summary

Follow-up to #263 (closed): bulk legacy TimeCurve / FeeRouter invariant sections are gone, and bash scripts/check-doc-satellite-retired-count.sh passes (2 files / 3 TimeCurve|FeeRouter tokens in docs/). Operators and agents still see historical timecurve / idx_timecurve / legacy anchor strings across satellite docs — enough to confuse QA paths, indexer HTTP links, and wallet-session anchors with retired v1 behavior.

This issue trims satellite documentation only (no runtime behavior). Parent epic: #238. Related gates: #274 (P0 operator paths), #276 (satellite token budget).


Current snapshot (repo main)

bash scripts/check-doc-satellite-retired-count.sh   # OK today
rg -c 'timecurve|idx_timecurve' docs/ --glob '*.md' | sort -t: -k2 -nr

Likely touch (grep-driven, non-exhaustive):

Path Examples to address
docs/indexer/design.md Anchor #timecurve-podiums-http; retired idx_timecurve_* / GET /v1/timecurve/* callouts — re-home anchors to arena-* where links are active
docs/testing/manual-qa-checklists.md Stale timecurve-arena-buy-chain-write-gate; link to #timecurve-buy-wallet-session-drift-gitlab-144
docs/testing/invariants-and-business-logic.md Preserve denylist rows; update cross-links to renamed anchors (e.g. design § podiums)
docs/frontend/arena-views.md, docs/frontend/wallet-connection.md, docs/frontend/design.md Anchor hrefs still using timecurve-* fragment IDs
docs/qa/QA-onboarding-gitlab-issue-body.md timecurve-bot CLI name (see constraints)
docs/operations/stage2-run-log.md, docs/integrations/kumbaya.md Historical naming in “retired” notes / delegate script names

Optional / separate: docs/onchain/cl8y-flow-audit.md if still cited from operator runbooks (called out in #263 closure comment).


Constraints (do not regress)

  1. Delete, do not archive — no docs/testing/archive/ stubs (#263).
  2. Keep intentional legacy surfaces per #280 / #266:
    • LaunchGate /timecurve → /arena redirects (document as “legacy URL alias”, not a product route).
    • Referral slug segment timecurve where onchain/product still uses it.
    • Onchain revert strings in revertMessage.ts (docs may reference but must not imply v1 sale lifecycle).
  3. Bot CLI: timecurve-bot may remain until a dedicated rename issue changes bots/timearena packaging — if kept in docs, label clearly as legacy binary name for bots/timearena.
  4. Invariant denylist rows that must name retired cores (TimeCurve in INV-REMOVAL-243-*) stay; rephrase surrounding prose only.
  5. After anchor moves: run bash scripts/check-doc-anchors.sh and fix all docs/ + skills/ callers.

  1. Inventory: rg -n 'timecurve|idx_timecurve|TimeCurve|FeeRouter' docs/ skills/ — classify each hit: rename anchor, rephrase to Arena, keep (legacy alias), out of scope.
  2. Anchor hygiene: Rename stable <a id="timecurve-…"> fragments to arena-… where behavior is Arena v2; update every invariants-and-business-logic.md#… and manual-qa-checklists.md#… link (grep both).
  3. Manual QA: Replace stale DOM/testid names (timecurve-arena-buy-chain-write-gate) with current arena-* gates from docs/frontend/arena-views.md.
  4. Tighten #276 gate (optional): Extend scripts/check-doc-satellite-retired-count.sh to count lowercase timecurve outside allowlisted paths (redirect notes, denylist table cells, bot CLI lines) — or add scripts/check-doc-timecurve-satellite.sh with an explicit allowlist file.

Acceptance criteria

  • Satellite docs use /arena, GET /v1/arena/*, idx_arena_* as primary vocabulary; retired timecurve mentions appear only in explicit “retired / legacy alias” sentences or denylist invariant rows.
  • No broken markdown anchors: bash scripts/check-doc-anchors.sh passes.
  • bash scripts/check-doc-retired-terms.sh still passes (P0 paths).
  • bash scripts/check-doc-satellite-retired-count.sh still passes; if new script added, it passes in CI/docs workflow.
  • rg 'timecurve-arena-buy-chain-write-gate' docs/ → zero (or updated to current testid with manual QA proof).
  • Active cross-links to indexer design use #arena-* anchors, not #timecurve-podiums-http, unless a temporary redirect note is added at the old anchor.
  • Docs-only PR: cd frontend && npm test -- --run and cd indexer && cargo test unchanged.

Test plan

Check Command
Anchor links bash scripts/check-doc-anchors.sh
P0 retired ops terms bash scripts/check-doc-retired-terms.sh
Satellite budget bash scripts/check-doc-satellite-retired-count.sh
Stale QA testid rg 'timecurve-arena-buy-chain-write-gate' docs/
Residual inventory `rg -n 'timecurve

## Summary Follow-up to [#263](https://gitlab.com/PlasticDigits/yieldomega/-/issues/263) (closed): bulk legacy **TimeCurve / FeeRouter** invariant sections are gone, and `bash scripts/check-doc-satellite-retired-count.sh` passes (**2 files / 3** `TimeCurve|FeeRouter` tokens in `docs/`). Operators and agents still see **historical `timecurve` / `idx_timecurve` / legacy anchor** strings across satellite docs — enough to confuse QA paths, indexer HTTP links, and wallet-session anchors with retired v1 behavior. This issue trims **satellite** documentation only (no runtime behavior). Parent epic: [#238](https://gitlab.com/PlasticDigits/yieldomega/-/issues/238). Related gates: [#274](https://gitlab.com/PlasticDigits/yieldomega/-/issues/274) (P0 operator paths), [#276](https://gitlab.com/PlasticDigits/yieldomega/-/issues/276) (satellite token budget). --- ## Current snapshot (repo `main`) ```bash bash scripts/check-doc-satellite-retired-count.sh # OK today rg -c 'timecurve|idx_timecurve' docs/ --glob '*.md' | sort -t: -k2 -nr ``` **Likely touch (grep-driven, non-exhaustive):** | Path | Examples to address | |------|---------------------| | [`docs/indexer/design.md`](docs/indexer/design.md) | Anchor `#timecurve-podiums-http`; retired `idx_timecurve_*` / `GET /v1/timecurve/*` callouts — re-home anchors to `arena-*` where links are active | | [`docs/testing/manual-qa-checklists.md`](docs/testing/manual-qa-checklists.md) | Stale `timecurve-arena-buy-chain-write-gate`; link to `#timecurve-buy-wallet-session-drift-gitlab-144` | | [`docs/testing/invariants-and-business-logic.md`](docs/testing/invariants-and-business-logic.md) | Preserve denylist rows; update **cross-links** to renamed anchors (e.g. design § podiums) | | [`docs/frontend/arena-views.md`](docs/frontend/arena-views.md), [`docs/frontend/wallet-connection.md`](docs/frontend/wallet-connection.md), [`docs/frontend/design.md`](docs/frontend/design.md) | Anchor hrefs still using `timecurve-*` fragment IDs | | [`docs/qa/QA-onboarding-gitlab-issue-body.md`](docs/qa/QA-onboarding-gitlab-issue-body.md) | `timecurve-bot` CLI name (see constraints) | | [`docs/operations/stage2-run-log.md`](docs/operations/stage2-run-log.md), [`docs/integrations/kumbaya.md`](docs/integrations/kumbaya.md) | Historical naming in “retired” notes / delegate script names | **Optional / separate:** [`docs/onchain/cl8y-flow-audit.md`](docs/onchain/cl8y-flow-audit.md) if still cited from operator runbooks (called out in #263 closure comment). --- ## Constraints (do not regress) 1. **Delete, do not archive** — no `docs/testing/archive/` stubs ([#263](https://gitlab.com/PlasticDigits/yieldomega/-/issues/263)). 2. **Keep intentional legacy surfaces** per [#280](https://gitlab.com/PlasticDigits/yieldomega/-/issues/280) / [#266](https://gitlab.com/PlasticDigits/yieldomega/-/issues/266): - `LaunchGate` **`/timecurve` → `/arena`** redirects (document as “legacy URL alias”, not a product route). - Referral slug segment `timecurve` where onchain/product still uses it. - Onchain revert strings in `revertMessage.ts` (docs may reference but must not imply v1 sale lifecycle). 3. **Bot CLI:** `timecurve-bot` may remain until a dedicated rename issue changes `bots/timearena` packaging — if kept in docs, label clearly as **legacy binary name** for `bots/timearena`. 4. **Invariant denylist rows** that must name retired cores (`TimeCurve` in `INV-REMOVAL-243-*`) stay; rephrase **surrounding** prose only. 5. After anchor moves: run `bash scripts/check-doc-anchors.sh` and fix all `docs/` + `skills/` callers. --- ## Recommended approach 1. **Inventory:** `rg -n 'timecurve|idx_timecurve|TimeCurve|FeeRouter' docs/ skills/` — classify each hit: *rename anchor*, *rephrase to Arena*, *keep (legacy alias)*, *out of scope*. 2. **Anchor hygiene:** Rename stable `<a id="timecurve-…">` fragments to `arena-…` where behavior is Arena v2; update every `invariants-and-business-logic.md#…` and `manual-qa-checklists.md#…` link (grep both). 3. **Manual QA:** Replace stale DOM/testid names (`timecurve-arena-buy-chain-write-gate`) with current `arena-*` gates from [`docs/frontend/arena-views.md`](docs/frontend/arena-views.md). 4. **Tighten #276 gate (optional):** Extend `scripts/check-doc-satellite-retired-count.sh` to count lowercase `timecurve` outside allowlisted paths (redirect notes, denylist table cells, bot CLI lines) — or add `scripts/check-doc-timecurve-satellite.sh` with an explicit allowlist file. --- ## Acceptance criteria - [ ] Satellite docs use **`/arena`**, **`GET /v1/arena/*`**, **`idx_arena_*`** as primary vocabulary; retired `timecurve` mentions appear only in **explicit “retired / legacy alias”** sentences or denylist invariant rows. - [ ] No broken markdown anchors: `bash scripts/check-doc-anchors.sh` passes. - [ ] `bash scripts/check-doc-retired-terms.sh` still passes (P0 paths). - [ ] `bash scripts/check-doc-satellite-retired-count.sh` still passes; if new script added, it passes in CI/docs workflow. - [ ] `rg 'timecurve-arena-buy-chain-write-gate' docs/` → **zero** (or updated to current testid with manual QA proof). - [ ] Active cross-links to indexer design use **`#arena-*`** anchors, not `#timecurve-podiums-http`, unless a temporary redirect note is added at the old anchor. - [ ] Docs-only PR: `cd frontend && npm test -- --run` and `cd indexer && cargo test` unchanged. --- ## Test plan | Check | Command | |-------|---------| | Anchor links | `bash scripts/check-doc-anchors.sh` | | P0 retired ops terms | `bash scripts/check-doc-retired-terms.sh` | | Satellite budget | `bash scripts/check-doc-satellite-retired-count.sh` | | Stale QA testid | `rg 'timecurve-arena-buy-chain-write-gate' docs/` | | Residual inventory | `rg -n 'timecurve|idx_timecurve' docs/ --glob '*.md'` (review diff; allowlisted exceptions documented in PR) | --- ## Links - Closed parent: [#263](https://gitlab.com/PlasticDigits/yieldomega/-/issues/263) - Satellite budget: [#276](https://gitlab.com/PlasticDigits/yieldomega/-/issues/276) - CSS/redirect policy: [#280](https://gitlab.com/PlasticDigits/yieldomega/-/issues/280), [#266](https://gitlab.com/PlasticDigits/yieldomega/-/issues/266)
PlasticDigits commented 2026-06-03 13:29:24 +00:00 (Migrated from gitlab.com)

marked as related to #263

marked as related to #263
PlasticDigits commented 2026-06-03 13:29:24 +00:00 (Migrated from gitlab.com)

marked as related to #276

marked as related to #276
PlasticDigits commented 2026-06-03 13:29:24 +00:00 (Migrated from gitlab.com)

marked as related to #274

marked as related to #274
ghost1 commented 2026-06-03 13:54:31 +00:00 (Migrated from gitlab.com)

mentioned in commit e070f55d3e

mentioned in commit e070f55d3ec0ed3de1b0946c3dccecab2d13e96f
PlasticDigits commented 2026-06-03 13:55:06 +00:00 (Migrated from gitlab.com)

mentioned in merge request !417

mentioned in merge request !417
PlasticDigits commented 2026-06-03 14:01:30 +00:00 (Migrated from gitlab.com)

mentioned in commit a4a889c4ab

mentioned in commit a4a889c4abbbdf8a09dc7aa918db355bfa0a6a39
PlasticDigits commented 2026-06-03 14:10:15 +00:00 (Migrated from gitlab.com)

mentioned in merge request !418

mentioned in merge request !418
PlasticDigits commented 2026-06-03 14:44:39 +00:00 (Migrated from gitlab.com)

Verification (Cloud Agent) — all acceptance criteria PASS

Implementation is already on main (merge a4a889c / commit e070f55 — docs: trim stale timecurve satellite mentions (#284)). No additional MR needed.

Acceptance checklist

Criterion Command / step Result
Satellite docs use /arena, GET /v1/arena/*, idx_arena_* as primary vocabulary; retired timecurve only in legacy-alias / denylist / retirement notes Reviewed rg -n 'timecurve|idx_timecurve' docs/ --glob '*.md' (11 files, 33 hits — redirects, retired HTTP/tables, timecurve-bot CLI, denylist rows, historical filenames) PASS
No broken markdown anchors bash scripts/check-doc-anchors.sh PASS (50 anchors)
P0 retired ops terms bash scripts/check-doc-retired-terms.sh PASS
Satellite token budget (#276) bash scripts/check-doc-satellite-retired-count.sh PASS (4 files / 11 TimeCurve|FeeRouter tokens)
New #284 gate in CI bash scripts/check-doc-timecurve-satellite.sh · .github/workflows/unit-tests.yml scripts-smoke PASS
Stale QA testid rg 'timecurve-arena-buy-chain-write-gate' docs/ PASS (zero)
Active cross-links use #arena-* (podiums, wallet-session #144) rg '#timecurve-podiums-http|#timecurve-buy-wallet' → only forbidden list in gate script; manual QA + invariants link #arena-podiums-http, #arena-buy-wallet-session-drift-gitlab-144 PASS
Docs-only (no runtime change) No diff vs main this session SKIP (already merged)

Deliverables on main

  • scripts/check-doc-timecurve-satellite.sh — forbids stale testids, timecurve- HTML anchor ids, and retired fragment links under docs/ + skills/.
  • INV-DOCS-284-TIMECURVE-SATELLITE, INV-DOCS-284-ANCHORS — invariants §284.
  • Anchor renames in docs/indexer/design.md (#arena-podiums-http, #arena-timers-http-gitlab-216, …), wallet-session #arena-buy-wallet-session-drift-gitlab-144, cross-links in manual QA / arena-views / guardrails skill.
  • CI: scripts-smoke runs the gate (#284).

3rd-party re-verify

bash scripts/check-doc-anchors.sh
bash scripts/check-doc-retired-terms.sh
bash scripts/check-doc-satellite-retired-count.sh
bash scripts/check-doc-timecurve-satellite.sh
rg 'timecurve-arena-buy-chain-write-gate' docs/   # expect no output

Closing as complete — no open blockers.

## Verification (Cloud Agent) — all acceptance criteria **PASS** Implementation is already on **`main`** (merge `a4a889c` / commit `e070f55` — *docs: trim stale timecurve satellite mentions (#284)*). No additional MR needed. ### Acceptance checklist | Criterion | Command / step | Result | |-----------|----------------|--------| | Satellite docs use **`/arena`**, **`GET /v1/arena/*`**, **`idx_arena_*`** as primary vocabulary; retired `timecurve` only in legacy-alias / denylist / retirement notes | Reviewed `rg -n 'timecurve\|idx_timecurve' docs/ --glob '*.md'` (11 files, 33 hits — redirects, retired HTTP/tables, `timecurve-bot` CLI, denylist rows, historical filenames) | **PASS** | | No broken markdown anchors | `bash scripts/check-doc-anchors.sh` | **PASS** (50 anchors) | | P0 retired ops terms | `bash scripts/check-doc-retired-terms.sh` | **PASS** | | Satellite token budget (#276) | `bash scripts/check-doc-satellite-retired-count.sh` | **PASS** (4 files / 11 `TimeCurve\|FeeRouter` tokens) | | New #284 gate in CI | `bash scripts/check-doc-timecurve-satellite.sh` · `.github/workflows/unit-tests.yml` `scripts-smoke` | **PASS** | | Stale QA testid | `rg 'timecurve-arena-buy-chain-write-gate' docs/` | **PASS** (zero) | | Active cross-links use **`#arena-*`** (podiums, wallet-session #144) | `rg '#timecurve-podiums-http\|#timecurve-buy-wallet'` → only forbidden list in gate script; manual QA + invariants link `#arena-podiums-http`, `#arena-buy-wallet-session-drift-gitlab-144` | **PASS** | | Docs-only (no runtime change) | No diff vs `main` this session | **SKIP** (already merged) | ### Deliverables on `main` - **`scripts/check-doc-timecurve-satellite.sh`** — forbids stale testids, `timecurve-` HTML anchor ids, and retired fragment links under `docs/` + `skills/`. - **`INV-DOCS-284-TIMECURVE-SATELLITE`**, **`INV-DOCS-284-ANCHORS`** — [invariants §284](docs/testing/invariants-and-business-logic.md#satellite-docs--historical-timecurve-trim-gitlab-284). - Anchor renames in [`docs/indexer/design.md`](docs/indexer/design.md) (`#arena-podiums-http`, `#arena-timers-http-gitlab-216`, …), wallet-session `#arena-buy-wallet-session-drift-gitlab-144`, cross-links in manual QA / arena-views / guardrails skill. - CI: `scripts-smoke` runs the gate ([#284](https://gitlab.com/PlasticDigits/yieldomega/-/issues/284)). ### 3rd-party re-verify ```bash bash scripts/check-doc-anchors.sh bash scripts/check-doc-retired-terms.sh bash scripts/check-doc-satellite-retired-count.sh bash scripts/check-doc-timecurve-satellite.sh rg 'timecurve-arena-buy-chain-write-gate' docs/ # expect no output ``` Closing as complete — no open blockers.
PlasticDigits (Migrated from gitlab.com) closed this issue 2026-06-03 14:44:50 +00:00
PlasticDigits commented 2026-06-08 08:45:13 +00:00 (Migrated from gitlab.com)

mentioned in commit bbe00cf3f0

mentioned in commit bbe00cf3f0dfe62888828c43606435bbd658224a
PlasticDigits commented 2026-06-08 08:45:13 +00:00 (Migrated from gitlab.com)

mentioned in commit 62e336d0a6

mentioned in commit 62e336d0a6352ef3d473b5a710fb791a8eb01964
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
code/yieldomega#284
No description provided.