Docs: bulk delete legacy TimeCurve / FeeRouter invariant sections #263

Closed
opened 2026-05-29 03:23:59 +00:00 by PlasticDigits · 22 comments
PlasticDigits commented 2026-05-29 03:23:59 +00:00 (Migrated from gitlab.com)

Summary

Remove retired TimeCurve v1 sale, FeeRouter five-sink CL8Y routing, and closely coupled Burrow / Leprechaun / TimeCurveBuyRouter documentation from the contributor invariant corpus. Arena v2 economics and tests are authoritative in docs/product/arena-v2.md and the ## TimeArena v2 (GitLab #260) section of docs/testing/invariants-and-business-logic.md. The remainder of that file (~1,600+ lines) still documents retired surfaces and misleads agents, QA, and implementers.

Parent epic: #238. Follow-up from #260 (Arena QA closure note).


Current codebase

Primary target

Asset State
docs/testing/invariants-and-business-logic.md ~1,668 lines. Kept: Stage 2 run matrix, TimeArena v2 INV-TIME-ARENA-* table (#260), cross-cutting indexer/frontend invariants (#95, #96, #140, #157, …), Anvil E2E (#87). Stale: large Business logic table rows and hundreds of anchored subsections for TimeCurve sale-end/redemption/presale, FeeRouter / five-sink CL8Y, Rabbit/Burrow, Leprechaun, TimeCurveBuyRouter / Kumbaya single-tx matrix, post-end gates (endSale, redeemCharms, distributePrizes), legacy WarBow finalize / refresh-candidates flows, and Contract test suite inventory rows for retired *.t.sol files.
docs/testing/manual-qa-checklists.md Many checklist sections still target /timecurve/arena, post-end settlement, FeeRouter, and retired flows (#79, #78, #129, …).
docs/testing/e2e-anvil.md Partially updated for anvil-arena-*; may still reference retired env or specs.
docs/frontend/timecurve-views.md Extensive v1 sale-phase and Arena PvP copy; overlaps with /arena + TimeArenaPage after #256.
docs/testing/contract-fork-smoke.md Documents TimeCurveFork smoke.
docs/onchain/fee-routing-and-governance.md FeeRouter-centric; retired per #244.
docs/product/primitives.md TimeCurve redemption / envelope sections still linked from invariant anchors.

Already aligned (do not regress)

Layer Arena v2 state
Contracts DeployDev.s.sol deploys TimeArena + vaults only; retired cores removed from dev path.
Indexer Arena-only DecodedEvent variants; baseline migrations; GET /v1/arena/*; no TimeCurve* decode (#260).
Frontend Primary route /arena; arenaV2SaleSessionBridge; e2e/anvil-arena-*.spec.ts.
Guardrails .cursor/skills/yieldomega-guardrails/SKILL.md lists retired components (#241–#244).

Scale (grep snapshot)

  • invariants-and-business-logic.md: 215+ mentions of TimeCurve / FeeRouter / related retired terms.
  • 31 INV-TIME-ARENA-* / indexer-260 rows already live at top of file; must remain the canonical arena economics map.

Why this is needed

  1. Agent and contributor safety: Stale invariant IDs (INV-INDEXER-* for idx_timecurve_*, post-end gate harnesses, FeeRouter rescue paths) instruct automation to preserve or test behavior that is explicitly retired in Arena v2.
  2. Single source of truth: Product rules live in arena-v2.md; duplicative TimeCurve prose creates contradictory guidance (e.g. sale-end vs always-live Arena, CL8Y fee splits vs DOUB 40/30/30 routing).
  3. #260 completion: QA epic added the Arena table but deferred bulk deletion; reviewers still wade through ~1,400 lines of v1 material.
  4. Link hygiene: Manual QA and frontend docs link to anchors that will move or vanish; broken anchors fail CI/markdown checks and waste review time.

Constraints and guardrails

  1. Delete, do not archive: No docs/testing/archive/, no “see retired doc” stub paragraphs that duplicate Arena content (#260 plan).
  2. Keep cross-cutting invariants that still apply to Arena: per-block indexer tx (#140), wrong-network writes (#95), indexer offline backoff (#96), Anvil E2E concurrency (#87), wallet session drift (#144), public API 500 redaction (#157), ERC-20 approval sizing (#143), etc. Rewrite wording from “TimeCurve Simple” to “/arena / Arena buy surface” where the behavior is unchanged.
  3. Do not reintroduce retired onchain systems (#241–#244, #243).
  4. Referrals + presale vesting: Keep docs/tests for ReferralRegistry and DoubPresaleVesting if still deployed; strip only TimeCurve-attached sale/redemption/podium semantics.
  5. WarBow: Arena v2 WarBow is DOUB-based (#252); delete v1 CL8Y WarBow / finalize-ladder / refresh-candidate governance sections unless re-homed under Arena with updated INV IDs.
  6. AGPL unchanged; docs-only issue (no license impact).
  7. Prefer one PR with mechanical deletion + link-rewrite; split only if diff exceeds reviewable size (>~800 lines deleted → consider PR A: invariants file, PR B: satellite docs).

Relevant files (non-exhaustive)

Must touch

Likely touch (grep-driven)

Out of scope (unless dead code confirmed)

  • Deleting contracts/src/TimeCurve.sol / FeeRouter.sol from repo (may remain for history/fork tests until separate retirement issue)
  • Changing runtime code behavior

  1. Inventory: Script or rg list of ### / <a id= anchors in invariants-and-business-logic.md tagged TimeCurve, FeeRouter, Burrow, Leprechaun, TimeCurveBuyRouter, endSale, redeemCharms, distributePrizes, idx_timecurve.
  2. Deletion pass: Remove retired sections and table rows; collapse Business logic table to: TimeArena (link #260 table), ReferralRegistry, DoubPresaleVesting (if kept), Indexer (Arena events), Frontend (Arena routes), Dev stack, cross-cutting UX.
  3. Contract inventory: Replace Contract test suite inventory with TimeArena.t.sol, ArenaPrizeRouting.t.sol, retained referral/vesting tests; move retired file list to a one-line “historical tests in tree, not mapped” note in strategy.md if needed.
  4. Link rewrite: Update manual QA TOC — drop or rewrite sections #79, #78, #129, #188, etc.; keep #260, #87, #95, referrals.
  5. Anchor stability: For kept cross-cutting sections, preserve existing <a id= where possible; add redirect notes only when external links exist (prefer updating callers over redirects).
  6. Verification script (optional): scripts/check-doc-anchors.sh — fail CI if markdown links to missing #anchors in invariants file.

Acceptance criteria

  • invariants-and-business-logic.md has no standalone sections whose primary subject is retired TimeCurve sale lifecycle, FeeRouter five-sink distribution, Burrow/Rabbit treasury, or Leprechaun (except a single cross-link to epic #238 / arena-v2.md if needed).
  • TimeArena v2 (#260) section remains complete; Business logic and spec ↔ test tables reference TimeArena / ArenaPrizeRouting / anvil-arena-*, not TimeCurve.t.sol for arena economics.
  • No new docs/testing/archive/ or “removed, see below” stub paragraphs.
  • rg -i 'FeeRouter|TimeCurve\.endSale|redeemCharms|idx_timecurve' docs/testing/invariants-and-business-logic.md returns zero matches, or only matches inside an explicit “Historical (pre–Arena v2)” appendix of ≤20 lines listing retired issue numbers (optional; default is zero).
  • All internal markdown links from docs/ to deleted anchors are updated or removed (CI or script green).
  • manual-qa-checklists.md TOC has no duplicate rows; retired-only checklists removed or marked superseded by #260 with link.
  • yieldomega-guardrails SKILL and docs/testing/strategy.md agree with post-deletion doc map.

Test plan — documentation paths

Path Steps Expected
Invariant file read-through Maintainer reads invariants-and-business-logic.md start-to-finish Every INV-* row maps to current code or manual QA; no instruction to run removed APIs
Agent smoke Run Cursor agent with guardrails SKILL on “how do I test a buy?” Agent cites /arena, TimeArena.t.sol, anvil-arena-*; does not cite endSale or FeeRouter splits
Link crawl rg 'invariants-and-business-logic\.md#' docs/ + manual click sample No 404 anchors in GitLab rendered markdown
Manual QA alignment Cross-check #260 checklist vs deleted sections No checklist step references removed anchors
E2E doc Follow e2e-anvil.md verbatim Matches scripts/e2e-anvil.sh env (Arena addresses only)
External issue refs Open linked GitLab issues #79, #78, #129 from old docs (if any remain) Either issue closed with link to this cleanup or doc note added on those issues

Test plan — misuse / “attack” vectors (doc integrity)

Documentation errors are not onchain exploits but can cause wrong deployments, wrong tests, or revived retired code.

Vector Risk Test
Revived FeeRouter wiring Operator configures VITE_FEE_ROUTER_* from old runbooks `rg 'VITE_FEE_ROUTER
Sale-end harness Contributor runs verify-timecurve-post-end-gates-anvil.sh from stale doc Script either deleted from docs or doc states obsolete; rg 'post-end-gates' docs/testing/
Indexer decode regression Doc tells indexer to persist TimeCurve Buy invariants states INV-INDEXER-260-NO-TIMECURVE-DECODE only; decoder.rs unchanged in same PR
Wrong route QA QA tests /timecurve/arena PvP instead of /arena Manual QA and E2E docs primary path /arena
Broken anchor DoS Broken links hide real Arena invariants Anchor check script / markdown-link-check if available
Partial deletion Half the file deleted, tables still mention TimeCurveBuyRouter Automated rg gates in acceptance criteria

Verification criteria (definition of done)

  1. Quantitative: wc -l docs/testing/invariants-and-business-logic.md reduced by ≥40% vs pre-change baseline (~1,668 → target ≤1,000 lines, adjust if cross-cutting sections grow).
  2. Qualitative: Two reviewers (or author + agent with guardrails) confirm no retired economic rule remains without “retired” label.
  3. Automated: cd frontend && npm test and cd indexer && cargo test unchanged (docs-only PR). If anchor script added, it passes in CI.
  4. Regression: bash scripts/e2e-anvil.sh still passes (no doc-driven env drift).
  5. Epic linkage: Closing comment on this issue lists deleted section count and any follow-up issues (e.g. delete timecurve-views.md entirely).

## Summary Remove retired **TimeCurve v1 sale**, **FeeRouter five-sink CL8Y routing**, and closely coupled **Burrow / Leprechaun / TimeCurveBuyRouter** documentation from the contributor invariant corpus. Arena v2 economics and tests are authoritative in [`docs/product/arena-v2.md`](docs/product/arena-v2.md) and the **`## TimeArena v2 (GitLab #260)`** section of [`docs/testing/invariants-and-business-logic.md`](docs/testing/invariants-and-business-logic.md). The remainder of that file (~1,600+ lines) still documents retired surfaces and misleads agents, QA, and implementers. Parent epic: [#238](https://gitlab.com/PlasticDigits/yieldomega/-/issues/238). Follow-up from [#260](https://gitlab.com/PlasticDigits/yieldomega/-/issues/260) (Arena QA closure note). --- ## Current codebase ### Primary target | Asset | State | |-------|--------| | [`docs/testing/invariants-and-business-logic.md`](docs/testing/invariants-and-business-logic.md) | ~1,668 lines. **Kept:** Stage 2 run matrix, **TimeArena v2** `INV-TIME-ARENA-*` table (#260), cross-cutting indexer/frontend invariants (#95, #96, #140, #157, …), Anvil E2E (#87). **Stale:** large **Business logic** table rows and hundreds of anchored subsections for **TimeCurve** sale-end/redemption/presale, **FeeRouter** / five-sink CL8Y, **Rabbit/Burrow**, **Leprechaun**, **TimeCurveBuyRouter** / Kumbaya single-tx matrix, post-end gates (`endSale`, `redeemCharms`, `distributePrizes`), legacy WarBow finalize / refresh-candidates flows, and **Contract test suite inventory** rows for retired `*.t.sol` files. | | [`docs/testing/manual-qa-checklists.md`](docs/testing/manual-qa-checklists.md) | Many checklist sections still target `/timecurve/arena`, post-end settlement, FeeRouter, and retired flows (#79, #78, #129, …). | | [`docs/testing/e2e-anvil.md`](docs/testing/e2e-anvil.md) | Partially updated for `anvil-arena-*`; may still reference retired env or specs. | | [`docs/frontend/timecurve-views.md`](docs/frontend/timecurve-views.md) | Extensive v1 sale-phase and Arena PvP copy; overlaps with `/arena` + `TimeArenaPage` after #256. | | [`docs/testing/contract-fork-smoke.md`](docs/testing/contract-fork-smoke.md) | Documents `TimeCurveFork` smoke. | | [`docs/onchain/fee-routing-and-governance.md`](docs/onchain/fee-routing-and-governance.md) | FeeRouter-centric; retired per [#244](https://gitlab.com/PlasticDigits/yieldomega/-/issues/244). | | [`docs/product/primitives.md`](docs/product/primitives.md) | TimeCurve redemption / envelope sections still linked from invariant anchors. | ### Already aligned (do not regress) | Layer | Arena v2 state | |-------|----------------| | **Contracts** | [`DeployDev.s.sol`](contracts/script/DeployDev.s.sol) deploys **TimeArena** + vaults only; retired cores removed from dev path. | | **Indexer** | Arena-only `DecodedEvent` variants; baseline migrations; `GET /v1/arena/*`; no `TimeCurve*` decode ([#260](https://gitlab.com/PlasticDigits/yieldomega/-/issues/260)). | | **Frontend** | Primary route **`/arena`**; `arenaV2SaleSessionBridge`; `e2e/anvil-arena-*.spec.ts`. | | **Guardrails** | [`.cursor/skills/yieldomega-guardrails/SKILL.md`](.cursor/skills/yieldomega-guardrails/SKILL.md) lists retired components ([#241](https://gitlab.com/PlasticDigits/yieldomega/-/issues/241)–[#244](https://gitlab.com/PlasticDigits/yieldomega/-/issues/244)). | ### Scale (grep snapshot) - `invariants-and-business-logic.md`: **215+** mentions of TimeCurve / FeeRouter / related retired terms. - **31** `INV-TIME-ARENA-*` / indexer-260 rows already live at top of file; must remain the canonical arena economics map. --- ## Why this is needed 1. **Agent and contributor safety:** Stale invariant IDs (`INV-INDEXER-*` for `idx_timecurve_*`, post-end gate harnesses, FeeRouter rescue paths) instruct automation to preserve or test behavior that is **explicitly retired** in Arena v2. 2. **Single source of truth:** Product rules live in [`arena-v2.md`](docs/product/arena-v2.md); duplicative TimeCurve prose creates contradictory guidance (e.g. sale-end vs always-live Arena, CL8Y fee splits vs DOUB 40/30/30 routing). 3. **#260 completion:** QA epic added the Arena table but deferred bulk deletion; reviewers still wade through ~1,400 lines of v1 material. 4. **Link hygiene:** Manual QA and frontend docs link to anchors that will move or vanish; broken anchors fail CI/markdown checks and waste review time. --- ## Constraints and guardrails 1. **Delete, do not archive:** No `docs/testing/archive/`, no “see retired doc” stub paragraphs that duplicate Arena content ([#260 plan](https://gitlab.com/PlasticDigits/yieldomega/-/issues/260)). 2. **Keep cross-cutting invariants** that still apply to Arena: per-block indexer tx ([#140](https://gitlab.com/PlasticDigits/yieldomega/-/issues/140)), wrong-network writes ([#95](https://gitlab.com/PlasticDigits/yieldomega/-/issues/95)), indexer offline backoff ([#96](https://gitlab.com/PlasticDigits/yieldomega/-/issues/96)), Anvil E2E concurrency ([#87](https://gitlab.com/PlasticDigits/yieldomega/-/issues/87)), wallet session drift ([#144](https://gitlab.com/PlasticDigits/yieldomega/-/issues/144)), public API 500 redaction ([#157](https://gitlab.com/PlasticDigits/yieldomega/-/issues/157)), ERC-20 approval sizing ([#143](https://gitlab.com/PlasticDigits/yieldomega/-/issues/143)), etc. **Rewrite** wording from “TimeCurve Simple” to “`/arena` / Arena buy surface” where the behavior is unchanged. 3. **Do not reintroduce retired onchain systems** ([#241](https://gitlab.com/PlasticDigits/yieldomega/-/issues/241)–[#244](https://gitlab.com/PlasticDigits/yieldomega/-/issues/244), [#243](https://gitlab.com/PlasticDigits/yieldomega/-/issues/243)). 4. **Referrals + presale vesting:** Keep docs/tests for **ReferralRegistry** and **DoubPresaleVesting** if still deployed; strip only **TimeCurve-attached** sale/redemption/podium semantics. 5. **WarBow:** Arena v2 WarBow is DOUB-based ([#252](https://gitlab.com/PlasticDigits/yieldomega/-/issues/252)); delete v1 CL8Y WarBow / finalize-ladder / refresh-candidate governance sections unless re-homed under Arena with updated INV IDs. 6. **AGPL** unchanged; docs-only issue (no license impact). 7. **Prefer one PR** with mechanical deletion + link-rewrite; split only if diff exceeds reviewable size (>~800 lines deleted → consider PR A: invariants file, PR B: satellite docs). --- ## Relevant files (non-exhaustive) **Must touch** - [`docs/testing/invariants-and-business-logic.md`](docs/testing/invariants-and-business-logic.md) - [`docs/testing/manual-qa-checklists.md`](docs/testing/manual-qa-checklists.md) - [`docs/testing/strategy.md`](docs/testing/strategy.md) - [`docs/testing/e2e-anvil.md`](docs/testing/e2e-anvil.md) - [`.cursor/skills/yieldomega-guardrails/SKILL.md`](.cursor/skills/yieldomega-guardrails/SKILL.md) **Likely touch (grep-driven)** - [`docs/frontend/timecurve-views.md`](docs/frontend/timecurve-views.md) — trim to `/arena`, protocol panels still used, or delete file if fully superseded - [`docs/testing/contract-fork-smoke.md`](docs/testing/contract-fork-smoke.md) - [`docs/onchain/fee-routing-and-governance.md`](docs/onchain/fee-routing-and-governance.md) — delete or replace with pointer to Arena vault routing - [`docs/product/primitives.md`](docs/product/primitives.md) — remove / relocate TimeCurve-only anchors - [`docs/indexer/design.md`](docs/indexer/design.md) — remove `GET /v1/timecurve/*` sections superseded by `/v1/arena/*` - [`docs/README.md`](docs/README.md), [`docs/agent-phases.md`](docs/agent-phases.md), [`docs/glossary.md`](docs/glossary.md) - Repo-wide links: `rg 'invariants-and-business-logic\.md#'` and `rg 'timecurve-views\.md#'` **Out of scope (unless dead code confirmed)** - Deleting `contracts/src/TimeCurve.sol` / `FeeRouter.sol` from repo (may remain for history/fork tests until separate retirement issue) - Changing runtime code behavior --- ## Recommended solution direction 1. **Inventory:** Script or `rg` list of `###` / `<a id=` anchors in `invariants-and-business-logic.md` tagged `TimeCurve`, `FeeRouter`, `Burrow`, `Leprechaun`, `TimeCurveBuyRouter`, `endSale`, `redeemCharms`, `distributePrizes`, `idx_timecurve`. 2. **Deletion pass:** Remove retired sections and table rows; collapse **Business logic** table to: TimeArena (link #260 table), ReferralRegistry, DoubPresaleVesting (if kept), Indexer (Arena events), Frontend (Arena routes), Dev stack, cross-cutting UX. 3. **Contract inventory:** Replace **Contract test suite inventory** with **TimeArena.t.sol**, **ArenaPrizeRouting.t.sol**, retained referral/vesting tests; move retired file list to a one-line “historical tests in tree, not mapped” note in `strategy.md` if needed. 4. **Link rewrite:** Update manual QA TOC — drop or rewrite sections #79, #78, #129, #188, etc.; keep #260, #87, #95, referrals. 5. **Anchor stability:** For kept cross-cutting sections, preserve existing `<a id=` where possible; add redirect notes only when external links exist (prefer updating callers over redirects). 6. **Verification script (optional):** `scripts/check-doc-anchors.sh` — fail CI if markdown links to missing `#anchors` in invariants file. --- ## Acceptance criteria - [ ] `invariants-and-business-logic.md` has **no** standalone sections whose primary subject is retired **TimeCurve sale lifecycle**, **FeeRouter five-sink distribution**, **Burrow/Rabbit treasury**, or **Leprechaun** (except a single cross-link to epic #238 / `arena-v2.md` if needed). - [ ] **TimeArena v2 (#260)** section remains complete; **Business logic** and **spec ↔ test** tables reference **TimeArena** / **ArenaPrizeRouting** / `anvil-arena-*`, not `TimeCurve.t.sol` for arena economics. - [ ] No new `docs/testing/archive/` or “removed, see below” stub paragraphs. - [ ] `rg -i 'FeeRouter|TimeCurve\.endSale|redeemCharms|idx_timecurve' docs/testing/invariants-and-business-logic.md` returns **zero** matches, or only matches inside an explicit **“Historical (pre–Arena v2)”** appendix of ≤20 lines listing retired issue numbers (optional; default is zero). - [ ] All internal markdown links from `docs/` to deleted anchors are updated or removed (CI or script green). - [ ] `manual-qa-checklists.md` TOC has no duplicate rows; retired-only checklists removed or marked **superseded by #260** with link. - [ ] `yieldomega-guardrails` SKILL and `docs/testing/strategy.md` agree with post-deletion doc map. --- ## Test plan — documentation paths | Path | Steps | Expected | |------|--------|----------| | **Invariant file read-through** | Maintainer reads `invariants-and-business-logic.md` start-to-finish | Every `INV-*` row maps to current code or manual QA; no instruction to run removed APIs | | **Agent smoke** | Run Cursor agent with guardrails SKILL on “how do I test a buy?” | Agent cites `/arena`, `TimeArena.t.sol`, `anvil-arena-*`; does not cite `endSale` or FeeRouter splits | | **Link crawl** | `rg 'invariants-and-business-logic\.md#' docs/` + manual click sample | No 404 anchors in GitLab rendered markdown | | **Manual QA alignment** | Cross-check #260 checklist vs deleted sections | No checklist step references removed anchors | | **E2E doc** | Follow `e2e-anvil.md` verbatim | Matches `scripts/e2e-anvil.sh` env (Arena addresses only) | | **External issue refs** | Open linked GitLab issues #79, #78, #129 from old docs (if any remain) | Either issue closed with link to this cleanup or doc note added on those issues | --- ## Test plan — misuse / “attack” vectors (doc integrity) Documentation errors are not onchain exploits but can cause **wrong deployments, wrong tests, or revived retired code**. | Vector | Risk | Test | |--------|------|------| | **Revived FeeRouter wiring** | Operator configures `VITE_FEE_ROUTER_*` from old runbooks | `rg 'VITE_FEE_ROUTER|FeeRouter' docs/` → zero in operator-facing paths; `.env.example` unchanged | | **Sale-end harness** | Contributor runs `verify-timecurve-post-end-gates-anvil.sh` from stale doc | Script either deleted from docs or doc states **obsolete**; `rg 'post-end-gates' docs/testing/` | | **Indexer decode regression** | Doc tells indexer to persist `TimeCurve Buy` | `invariants` states **INV-INDEXER-260-NO-TIMECURVE-DECODE** only; `decoder.rs` unchanged in same PR | | **Wrong route QA** | QA tests `/timecurve/arena` PvP instead of `/arena` | Manual QA and E2E docs primary path **`/arena`** | | **Broken anchor DoS** | Broken links hide real Arena invariants | Anchor check script / `markdown-link-check` if available | | **Partial deletion** | Half the file deleted, tables still mention `TimeCurveBuyRouter` | Automated `rg` gates in acceptance criteria | --- ## Verification criteria (definition of done) 1. **Quantitative:** `wc -l docs/testing/invariants-and-business-logic.md` reduced by **≥40%** vs pre-change baseline (~1,668 → target **≤1,000** lines, adjust if cross-cutting sections grow). 2. **Qualitative:** Two reviewers (or author + agent with guardrails) confirm no retired economic rule remains without “retired” label. 3. **Automated:** `cd frontend && npm test` and `cd indexer && cargo test` unchanged (docs-only PR). If anchor script added, it passes in CI. 4. **Regression:** `bash scripts/e2e-anvil.sh` still passes (no doc-driven env drift). 5. **Epic linkage:** Closing comment on this issue lists deleted section count and any follow-up issues (e.g. delete `timecurve-views.md` entirely). --- ## Suggested labels / links - Epic: [#238](https://gitlab.com/PlasticDigits/yieldomega/-/issues/238) - Related: [#260](https://gitlab.com/PlasticDigits/yieldomega/-/issues/260), [#243](https://gitlab.com/PlasticDigits/yieldomega/-/issues/243), [#244](https://gitlab.com/PlasticDigits/yieldomega/-/issues/244), [#256](https://gitlab.com/PlasticDigits/yieldomega/-/issues/256)
PlasticDigits commented 2026-05-29 03:24:01 +00:00 (Migrated from gitlab.com)

marked as related to #238

marked as related to #238
PlasticDigits commented 2026-05-29 03:24:02 +00:00 (Migrated from gitlab.com)

marked as related to #260

marked as related to #260
PlasticDigits commented 2026-05-29 06:54:19 +00:00 (Migrated from gitlab.com)

mentioned in commit 98efbe6424

mentioned in commit 98efbe6424c8bcb1308a36b3769cf4c96b7d1f75
PlasticDigits commented 2026-05-29 06:54:28 +00:00 (Migrated from gitlab.com)

Summary

Completed #263 documentation cleanup on main (98efbe6), building on the prior bulk purge in cec9dcb.

What changed

  • docs/testing/invariants-and-business-logic.md: Already Arena v2–focused (~235 lines); added #timearena-v2-gitlab-260 anchor and #263 cross-link. Zero matches for FeeRouter, TimeCurve.endSale, redeemCharms, idx_timecurve.
  • docs/product/primitives.md: Replaced v1 TimeCurve launchpad prose with pointers to arena-v2.md, shared TimeArena cooldown, referrals, and vesting; explicit retired stack list (#241–#244).
  • docs/testing/manual-qa-checklists.md & docs/testing/e2e-anvil.md: Rewritten for /arena, TimeArena, GET /v1/arena/*, bots/timearena, and Arena env vars (removed FeeRouter / Rabbit / Leprechaun operator paths).
  • docs/testing/anvil-rich-state.md: Short Arena-first note (legacy drill deprioritized).
  • Satellite docs + skills: Fixed or removed stale invariants-and-business-logic.md#… links; updated skills/script-with-timecurve-local/SKILL.md and skills/contributor-mobile-album-dock/SKILL.md for Arena v2.
  • scripts/check-doc-anchors.sh: New local gate — fails when docs/ or skills/ link to missing invariant anchors (documented in docs/testing/strategy.md).

Verification run

  • bash scripts/check-doc-anchors.sh — green
  • rg -i 'FeeRouter|TimeCurve\.endSale|redeemCharms|idx_timecurve' docs/testing/invariants-and-business-logic.md — zero
  • cd indexer && cargo test — green
  • bash scripts/e2e-anvil.sh — 4 passed, 1 skipped (ETH pay #251)
  • wc -l docs/testing/invariants-and-business-logic.md — 235 (≥40% reduction vs ~1,668 baseline)

Checklist for @brouie

  • Read docs/testing/invariants-and-business-logic.md start-to-finish — confirm only Arena v2 + cross-cutting rows remain
  • Agent smoke: ask guardrails “how do I test a buy?” — should cite /arena, TimeArena.t.sol, anvil-arena-*, not endSale / FeeRouter
  • bash scripts/check-doc-anchors.sh from repo root
  • Spot-check docs/testing/manual-qa-checklists.md TOC vs #260 Arena checklist
  • Follow docs/testing/e2e-anvil.md env table against a fresh bash scripts/e2e-anvil.sh run
  • Confirm docs/product/primitives.md matches onchain TimeArena.buyCooldownSec behavior on Anvil

Leaving issue open for your sign-off. Please reply when verified.

/cc @brouie — verification requested

## Summary Completed **#263** documentation cleanup on `main` (`98efbe6`), building on the prior bulk purge in `cec9dcb`. ### What changed - **`docs/testing/invariants-and-business-logic.md`**: Already Arena v2–focused (~235 lines); added `#timearena-v2-gitlab-260` anchor and **#263** cross-link. Zero matches for `FeeRouter`, `TimeCurve.endSale`, `redeemCharms`, `idx_timecurve`. - **`docs/product/primitives.md`**: Replaced v1 TimeCurve launchpad prose with pointers to **`arena-v2.md`**, shared **TimeArena** cooldown, referrals, and vesting; explicit retired stack list (#241–#244). - **`docs/testing/manual-qa-checklists.md`** & **`docs/testing/e2e-anvil.md`**: Rewritten for **`/arena`**, **`TimeArena`**, **`GET /v1/arena/*`**, **`bots/timearena`**, and Arena env vars (removed FeeRouter / Rabbit / Leprechaun operator paths). - **`docs/testing/anvil-rich-state.md`**: Short Arena-first note (legacy drill deprioritized). - **Satellite docs + skills**: Fixed or removed stale `invariants-and-business-logic.md#…` links; updated **`skills/script-with-timecurve-local/SKILL.md`** and **`skills/contributor-mobile-album-dock/SKILL.md`** for Arena v2. - **`scripts/check-doc-anchors.sh`**: New local gate — fails when `docs/` or `skills/` link to missing invariant anchors (documented in **`docs/testing/strategy.md`**). ### Verification run - [x] `bash scripts/check-doc-anchors.sh` — green - [x] `rg -i 'FeeRouter|TimeCurve\.endSale|redeemCharms|idx_timecurve' docs/testing/invariants-and-business-logic.md` — zero - [x] `cd indexer && cargo test` — green - [x] `bash scripts/e2e-anvil.sh` — 4 passed, 1 skipped (ETH pay #251) - [x] `wc -l docs/testing/invariants-and-business-logic.md` — 235 (≥40% reduction vs ~1,668 baseline) ### Checklist for @brouie - [ ] Read **`docs/testing/invariants-and-business-logic.md`** start-to-finish — confirm only Arena v2 + cross-cutting rows remain - [ ] Agent smoke: ask guardrails “how do I test a buy?” — should cite **`/arena`**, **`TimeArena.t.sol`**, **`anvil-arena-*`**, not `endSale` / FeeRouter - [ ] `bash scripts/check-doc-anchors.sh` from repo root - [ ] Spot-check **`docs/testing/manual-qa-checklists.md`** TOC vs **`#260`** Arena checklist - [ ] Follow **`docs/testing/e2e-anvil.md`** env table against a fresh `bash scripts/e2e-anvil.sh` run - [ ] Confirm **`docs/product/primitives.md`** matches onchain **`TimeArena.buyCooldownSec`** behavior on Anvil Leaving issue **open** for your sign-off. Please reply when verified. /cc @brouie — verification requested
PlasticDigits commented 2026-05-29 08:07:58 +00:00 (Migrated from gitlab.com)

mentioned in issue #265

mentioned in issue #265
PlasticDigits commented 2026-05-29 08:09:37 +00:00 (Migrated from gitlab.com)

marked as related to #266

marked as related to #266
PlasticDigits commented 2026-05-29 08:09:49 +00:00 (Migrated from gitlab.com)

mentioned in issue #266

mentioned in issue #266
PlasticDigits commented 2026-06-01 09:41:46 +00:00 (Migrated from gitlab.com)

mentioned in commit d6a31767cd

mentioned in commit d6a31767cddb73330f3f7c4ba99e6db8c8de405f
PlasticDigits commented 2026-06-01 09:41:54 +00:00 (Migrated from gitlab.com)

Verification (#263) — agent pass

What was done

  • Verified bulk legacy doc removal already landed in 98efbe6 (invariants file 362 lines, ~78% below ~1,668 baseline).
  • Used git worktree issue/263-verify-docs at /home/answorld/repos/yieldomega-issue-263.
  • Fixed regressions found during verification (pushed to main as d6a3176):
    • INV-REMOVAL-243-NO-LAUNCHPAD-LIFECYCLE incorrectly said “No TimeArena.sol” — corrected to retired v1 launchpad cores (TimeCurve, LinearCharmPrice) and clarified DoubPresaleVesting may deploy without a sale lifecycle.
    • Re-worded INV-TIME-ARENA-ROUTE-SPLIT so acceptance rg gate has zero matches for FeeRouter|TimeCurve.endSale|redeemCharms|idx_timecurve in invariants-and-business-logic.md.
    • Removed stale /vesting Playwright section from docs/testing/e2e-anvil.md (route removed #243).

Automated checks (this pass)

Check Result
bash scripts/check-doc-anchors.sh OK (31 anchors)
`rg -i 'FeeRouter TimeCurve.endSale
wc -l docs/testing/invariants-and-business-logic.md 362 (≥40% reduction)
cd indexer && cargo test pass
cd frontend && npm test -- --run pass (528/529; one wagmi test flaky in full suite, passes in isolation)
bash scripts/e2e-anvil.sh not green here — Anvil RPC died mid-run / Playwright timeouts under parallel local worktrees (docs-only delta)

Maintainer checklist (please confirm)

  • Read docs/testing/invariants-and-business-logic.md — no standalone retired TimeCurve sale / FeeRouter five-sink / Burrow / Leprechaun sections; TimeArena v2 (#260) table intact.
  • rg -i 'FeeRouter|TimeCurve\.endSale|redeemCharms|idx_timecurve' docs/testing/invariants-and-business-logic.md → zero.
  • bash scripts/check-doc-anchors.sh from repo root.
  • bash scripts/e2e-anvil.sh on a clean host (no competing Anvil on :8545).
  • Agent smoke: guardrails SKILL → cites /arena, TimeArena.t.sol, anvil-arena-* (not endSale / FeeRouter ops).
  • manual-qa-checklists.md TOC — no retired-only duplicate rows; Arena #260 paths primary.
  • Optional follow-up: trim remaining historical TimeCurve mentions in docs/indexer/design.md, docs/onchain/cl8y-flow-audit.md, docs/qa/QA-onboarding-gitlab-issue-body.md (operator runbooks).

Close criteria

Leaving open until scripts/e2e-anvil.sh passes on a clean runner and a second reviewer signs off qualitative “no retired economic rules without label” per the issue body. Requesting verification by the other QA agent team.

## Verification (#263) — agent pass ### What was done - Verified bulk legacy doc removal already landed in `98efbe6` (invariants file **362 lines**, ~78% below ~1,668 baseline). - Used git worktree `issue/263-verify-docs` at `/home/answorld/repos/yieldomega-issue-263`. - **Fixed regressions found during verification** (pushed to `main` as `d6a3176`): - **`INV-REMOVAL-243-NO-LAUNCHPAD-LIFECYCLE`** incorrectly said “No `TimeArena.sol`” — corrected to retired v1 launchpad cores (`TimeCurve`, `LinearCharmPrice`) and clarified `DoubPresaleVesting` may deploy without a sale lifecycle. - Re-worded **`INV-TIME-ARENA-ROUTE-SPLIT`** so acceptance `rg` gate has **zero** matches for `FeeRouter|TimeCurve.endSale|redeemCharms|idx_timecurve` in `invariants-and-business-logic.md`. - Removed stale **`/vesting`** Playwright section from `docs/testing/e2e-anvil.md` (route removed #243). ### Automated checks (this pass) | Check | Result | |-------|--------| | `bash scripts/check-doc-anchors.sh` | OK (31 anchors) | | `rg -i 'FeeRouter|TimeCurve\.endSale|redeemCharms|idx_timecurve' docs/testing/invariants-and-business-logic.md` | **0** matches | | `wc -l docs/testing/invariants-and-business-logic.md` | **362** (≥40% reduction) | | `cd indexer && cargo test` | pass | | `cd frontend && npm test -- --run` | pass (528/529; one wagmi test flaky in full suite, passes in isolation) | | `bash scripts/e2e-anvil.sh` | **not green here** — Anvil RPC died mid-run / Playwright timeouts under parallel local worktrees (docs-only delta) | ### Maintainer checklist (please confirm) - [ ] Read `docs/testing/invariants-and-business-logic.md` — no standalone retired TimeCurve sale / FeeRouter five-sink / Burrow / Leprechaun sections; **TimeArena v2 (#260)** table intact. - [ ] `rg -i 'FeeRouter|TimeCurve\.endSale|redeemCharms|idx_timecurve' docs/testing/invariants-and-business-logic.md` → zero. - [ ] `bash scripts/check-doc-anchors.sh` from repo root. - [ ] `bash scripts/e2e-anvil.sh` on a **clean** host (no competing Anvil on :8545). - [ ] Agent smoke: guardrails SKILL → cites `/arena`, `TimeArena.t.sol`, `anvil-arena-*` (not `endSale` / FeeRouter ops). - [ ] `manual-qa-checklists.md` TOC — no retired-only duplicate rows; Arena #260 paths primary. - [ ] Optional follow-up: trim remaining historical TimeCurve mentions in `docs/indexer/design.md`, `docs/onchain/cl8y-flow-audit.md`, `docs/qa/QA-onboarding-gitlab-issue-body.md` (operator runbooks). ### Close criteria Leaving **open** until **`scripts/e2e-anvil.sh` passes on a clean runner** and a second reviewer signs off qualitative “no retired economic rules without label” per the issue body. Requesting verification by the other QA agent team.
PlasticDigits commented 2026-06-01 09:58:43 +00:00 (Migrated from gitlab.com)

mentioned in issue #260

mentioned in issue #260
PlasticDigits commented 2026-06-01 10:48:21 +00:00 (Migrated from gitlab.com)

mentioned in issue #274

mentioned in issue #274
PlasticDigits commented 2026-06-01 10:48:21 +00:00 (Migrated from gitlab.com)

marked as related to #274

marked as related to #274
PlasticDigits commented 2026-06-01 12:28:49 +00:00 (Migrated from gitlab.com)

mentioned in issue #276

mentioned in issue #276
ghost1 commented 2026-06-02 13:30:10 +00:00 (Migrated from gitlab.com)

mentioned in commit 780c26e64a

mentioned in commit 780c26e64ae5ded8e374de1619285cff457af240
PlasticDigits commented 2026-06-02 13:31:21 +00:00 (Migrated from gitlab.com)

Verification (#263) — Cloud Agent pass

Branch: cursor/verify-issue-263-rg-gate-9c0f (pushed) — MR creation via API blocked (404 / no token); please open from GitLab UI if not auto-linked.

Fix in branch

Reworded INV-DOCS-274 / INV-DOCS-276 in docs/testing/invariants-and-business-logic.md so issue #263 rg gate returns zero matches (rows previously quoted forbidden tokens while describing the denylist).

Results (PASS / FAIL / SKIP)

Check Result
Bulk legacy sections removed; #260 table intact PASS
wc -l invariants → 480 (≥40% vs ~1,668) PASS
rg -i 'FeeRouter|TimeCurve\.endSale|redeemCharms|idx_timecurve' docs/testing/invariants-and-business-logic.md PASS (on branch)
bash scripts/check-doc-anchors.sh PASS
bash scripts/check-doc-retired-terms.sh PASS
bash scripts/check-doc-satellite-retired-count.sh PASS
Guardrails agent smoke → /arena, TimeArena, anvil-arena-* PASS
manual-qa-checklists.md TOC PASS
cd frontend && npm test -- --run PASS (534)
cd indexer && cargo test (stable toolchain + libssl-dev) PASS
bash scripts/e2e-anvil.sh (default) FAIL — exits after Kumbaya when seed parses MockReserveCl8y: from deploy log (pipefail); kill 0 from EXIT trap; pre-existing on main
YIELDOMEGA_SEED_EVM_DEV_WALLETS=0 bash scripts/e2e-anvil.sh PASS — 6 Playwright specs green

Issue left open per policy.

Follow-up

  • Land branch MR + fix default e2e-anvil.sh seed / MockReserveCl8y log grep so YIELDOMEGA_SEED_EVM_DEV_WALLETS=1 does not abort.
## Verification (#263) — Cloud Agent pass **Branch:** `cursor/verify-issue-263-rg-gate-9c0f` (pushed) — MR creation via API blocked (404 / no token); please open from GitLab UI if not auto-linked. ### Fix in branch Reworded `INV-DOCS-274` / `INV-DOCS-276` in `docs/testing/invariants-and-business-logic.md` so issue #263 `rg` gate returns zero matches (rows previously quoted forbidden tokens while describing the denylist). ### Results (PASS / FAIL / SKIP) | Check | Result | |-------|--------| | Bulk legacy sections removed; #260 table intact | **PASS** | | `wc -l` invariants → 480 (≥40% vs ~1,668) | **PASS** | | `rg -i 'FeeRouter\|TimeCurve\.endSale\|redeemCharms\|idx_timecurve' docs/testing/invariants-and-business-logic.md` | **PASS** (on branch) | | `bash scripts/check-doc-anchors.sh` | **PASS** | | `bash scripts/check-doc-retired-terms.sh` | **PASS** | | `bash scripts/check-doc-satellite-retired-count.sh` | **PASS** | | Guardrails agent smoke → `/arena`, `TimeArena`, `anvil-arena-*` | **PASS** | | `manual-qa-checklists.md` TOC | **PASS** | | `cd frontend && npm test -- --run` | **PASS** (534) | | `cd indexer && cargo test` (stable toolchain + libssl-dev) | **PASS** | | `bash scripts/e2e-anvil.sh` (default) | **FAIL** — exits after Kumbaya when seed parses `MockReserveCl8y:` from deploy log (`pipefail`); `kill 0` from EXIT trap; pre-existing on `main` | | `YIELDOMEGA_SEED_EVM_DEV_WALLETS=0 bash scripts/e2e-anvil.sh` | **PASS** — 6 Playwright specs green | Issue left **open** per policy. ### Follow-up - Land branch MR + fix default `e2e-anvil.sh` seed / `MockReserveCl8y` log grep so `YIELDOMEGA_SEED_EVM_DEV_WALLETS=1` does not abort.
PlasticDigits commented 2026-06-02 13:36:01 +00:00 (Migrated from gitlab.com)

mentioned in merge request !401

mentioned in merge request !401
PlasticDigits commented 2026-06-02 13:36:04 +00:00 (Migrated from gitlab.com)

Draft MR opened: https://gitlab.com/PlasticDigits/yieldomega/-/merge_requests/31 (branch cursor/verify-issue-263-rg-gate-9c0f). Created via API after configuring GITLAB_TOKEN — glab mr create was resolving the project as yieldomega.git (404).

Draft MR opened: https://gitlab.com/PlasticDigits/yieldomega/-/merge_requests/31 (branch `cursor/verify-issue-263-rg-gate-9c0f`). Created via API after configuring `GITLAB_TOKEN` — `glab mr create` was resolving the project as `yieldomega.git` (404).
PlasticDigits commented 2026-06-02 13:48:01 +00:00 (Migrated from gitlab.com)

mentioned in commit 2f9cecea12

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

Verification (#263) — Cloud Agent pass (2026-06-03)

Branch: main @ 6d520e7 — no code/docs/skills changes; closing after full acceptance run.

What was verified

Acceptance item Result
No standalone retired TimeCurve sale / FeeRouter five-sink / Burrow / Leprechaun sections in invariants-and-business-logic.md PASS — file is Arena v2 + cross-cutting only (~517 lines; ≥69% below ~1,668 baseline)
TimeArena v2 (#260) table + #timearena-v2-gitlab-260 anchor intact PASS
Business logic + Contract test suite inventory cite TimeArena / ArenaPrizeRouting / anvil-arena-*, not v1 TimeCurve.t.sol for arena economics PASS
No docs/testing/archive/ or “removed, see below” stub paragraphs PASS
rg -i 'FeeRouter|TimeCurve\.endSale|redeemCharms|idx_timecurve' docs/testing/invariants-and-business-logic.md PASS (0 matches)
bash scripts/check-doc-anchors.sh PASS (43 anchors)
bash scripts/check-doc-retired-terms.sh PASS
bash scripts/check-doc-satellite-retired-count.sh PASS (2 files, 3 mentions — within #276 budget)
docs/onchain/fee-routing-and-governance.md — Arena v2 DOUB split (not FeeRouter ops) PASS
docs/testing/contract-fork-smoke.md — TimeArenaFork.t.sol PASS
docs/frontend/timecurve-views.md removed / superseded PASS (file absent; /arena + arena-views.md)
docs/testing/manual-qa-checklists.md TOC — no #79/#78/#129; Arena #260 primary PASS
docs/testing/e2e-anvil.md env table — Arena addresses, anvil-arena-* PASS
Guardrails agent smoke → /arena, TimeArena.t.sol, anvil-arena-*, retired list #241–#244 PASS
cd indexer && cargo test PASS
cd frontend && npm test -- --run PASS (535)
bash scripts/verify-e2e-anvil-trap.sh + bash scripts/test-anvil-deploy-cl8y-extract.sh (#279) PASS
bash scripts/e2e-anvil.sh (default seed + Kumbaya) PASS — 6/6 Playwright specs (incl. ETH pay #251)

How this was verified

  • glab issue view 263 -R PlasticDigits/yieldomega --comments for acceptance criteria + prior passes
  • Repo grep/structure review of target docs listed in the issue body
  • Automated doc gates and package tests from repo root on a clean main worktree
  • Full scripts/e2e-anvil.sh on port 8545 (fresh Anvil → DeployDev → seed → build → Playwright)

Maintainer notes

Prior MR !401 (cursor/verify-issue-263-rg-gate-9c0f) addressed INV-DOCS-274/276 wording for the rg gate; equivalent fixes are on main. E2E seed / MockReserveCl8y issues noted in earlier comments are resolved via #279 (verify-e2e-anvil-trap, broadcast fallback).

Follow-ups (optional, out of #263 scope)

  • Residual historical TimeCurve/idx_timecurve mentions in satellite docs (e.g. docs/indexer/design.md “retired” callouts) are within #276 budget; further trim only if operators want zero token hits outside “retired” labels.

Closing #263 — documentation cleanup acceptance criteria satisfied on main.

## Verification (#263) — Cloud Agent pass (2026-06-03) **Branch:** `main` @ `6d520e7` — no code/docs/skills changes; closing after full acceptance run. ### What was verified | Acceptance item | Result | |-----------------|--------| | No standalone retired TimeCurve sale / FeeRouter five-sink / Burrow / Leprechaun sections in `invariants-and-business-logic.md` | **PASS** — file is Arena v2 + cross-cutting only (~517 lines; ≥69% below ~1,668 baseline) | | **TimeArena v2 (#260)** table + `#timearena-v2-gitlab-260` anchor intact | **PASS** | | **Business logic** + **Contract test suite inventory** cite TimeArena / ArenaPrizeRouting / `anvil-arena-*`, not v1 `TimeCurve.t.sol` for arena economics | **PASS** | | No `docs/testing/archive/` or “removed, see below” stub paragraphs | **PASS** | | `rg -i 'FeeRouter\|TimeCurve\.endSale\|redeemCharms\|idx_timecurve' docs/testing/invariants-and-business-logic.md` | **PASS** (0 matches) | | `bash scripts/check-doc-anchors.sh` | **PASS** (43 anchors) | | `bash scripts/check-doc-retired-terms.sh` | **PASS** | | `bash scripts/check-doc-satellite-retired-count.sh` | **PASS** (2 files, 3 mentions — within #276 budget) | | `docs/onchain/fee-routing-and-governance.md` — Arena v2 DOUB split (not FeeRouter ops) | **PASS** | | `docs/testing/contract-fork-smoke.md` — `TimeArenaFork.t.sol` | **PASS** | | `docs/frontend/timecurve-views.md` removed / superseded | **PASS** (file absent; `/arena` + `arena-views.md`) | | `docs/testing/manual-qa-checklists.md` TOC — no #79/#78/#129; Arena #260 primary | **PASS** | | `docs/testing/e2e-anvil.md` env table — Arena addresses, `anvil-arena-*` | **PASS** | | Guardrails agent smoke → `/arena`, `TimeArena.t.sol`, `anvil-arena-*`, retired list #241–#244 | **PASS** | | `cd indexer && cargo test` | **PASS** | | `cd frontend && npm test -- --run` | **PASS** (535) | | `bash scripts/verify-e2e-anvil-trap.sh` + `bash scripts/test-anvil-deploy-cl8y-extract.sh` (#279) | **PASS** | | `bash scripts/e2e-anvil.sh` (default seed + Kumbaya) | **PASS** — 6/6 Playwright specs (incl. ETH pay #251) | ### How this was verified - `glab issue view 263 -R PlasticDigits/yieldomega --comments` for acceptance criteria + prior passes - Repo grep/structure review of target docs listed in the issue body - Automated doc gates and package tests from repo root on a clean `main` worktree - Full `scripts/e2e-anvil.sh` on port **8545** (fresh Anvil → DeployDev → seed → build → Playwright) ### Maintainer notes Prior MR [!401](https://gitlab.com/PlasticDigits/yieldomega/-/merge_requests/31) (`cursor/verify-issue-263-rg-gate-9c0f`) addressed `INV-DOCS-274`/`276` wording for the `rg` gate; equivalent fixes are on `main`. E2E seed / MockReserveCl8y issues noted in earlier comments are resolved via **#279** (`verify-e2e-anvil-trap`, broadcast fallback). ### Follow-ups (optional, out of #263 scope) - Residual historical `TimeCurve`/`idx_timecurve` mentions in satellite docs (e.g. `docs/indexer/design.md` “retired” callouts) are within #276 budget; further trim only if operators want zero token hits outside “retired” labels. Closing **#263** — documentation cleanup acceptance criteria satisfied on `main`.
PlasticDigits (Migrated from gitlab.com) closed this issue 2026-06-03 13:25:03 +00:00
PlasticDigits commented 2026-06-03 13:29:24 +00:00 (Migrated from gitlab.com)

mentioned in issue #284

mentioned in issue #284
PlasticDigits commented 2026-06-03 13:29:24 +00:00 (Migrated from gitlab.com)

marked as related to #284

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

mentioned in merge request !417

mentioned in merge request !417
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#263
No description provided.