Skip to content

Commit 95cf238

Browse files
committed
notes(plans[astro]): Strengthen Phase 0 spike (§2) and OQ closures (§13)
why: Pass-1 review surfaced silent regressions and missing evidence in the two highest-leverage sections of the plan: Phase 0's spike exit criteria and §13's open-question dispositions. Three line citations were wrong, the Spike A case set sampled only gp-sphinx packages (missing the libtmux target consumer), Q9 framed MyST/MDX as a binary user choice when Astro's MDX integration supports both formats day-1, and Q21-23 (Vitest, pnpm, Zod 4) were inherited from tony.sh without recorded rationale. A reproducibility blocker in the spike command itself was uncovered. what: - Correct ObjectEntry citation to sphinx/domains/python/__init__.py:60-65 as a 4-field NamedTuple (was unverified); document that .fjson body must come from HTML rendering for any field beyond ObjectEntry's routing metadata - Correct libtmux Server.__init__ citation to server.py:134-144 (was :144-153) - Correct FixtureMeta to 16 fields at _models.py:35-90 (was 17) - Correct _InventoryItem to sphinx/util/inventory.py:245-264 (was pointing at usage site and parent class) - Add reproducibility gate to Phase 0: detect the sphinx_gp_opengraph context["pagename"] vs serializinghtml current_page_name mismatch before scoring; document that sphinx_gp_sitemap is unaffected (uses app.env.found_docs) - Expand Spike A case set: 6 gp-sphinx + 4 libtmux (8/10 bar, with libtmux must-pass) so the original target consumer's classes/dataclasses/enums/fixtures are evidence on day 1 - Split Spike A into A1 (-b json body export) + A2 (doctree walk) to disambiguate where structured data actually lives - Split Spike B Q-Sem-3 into 3a (rg-able body grep) + 3b (argparse + entry-point load) so the gate is mechanical, not judgment- dependent - Replace 4-cell decision matrix with 5-cell including Deferred-H, bound by an explicit dated Phase-4 re-score; "missing date invalidates verdict" guard - Dissolve Q9 binary: both .md and .mdx first-class day-1 via extendMarkdownConfig: true (mdx/src/index.ts:114). Residual user decision narrowed to single-format-enforcement vs both-first-class, default both - Replace "5-min flip" framing with honest reversibility cost: CommonMark = 5 min, MyST colon_fence/role pages = 15 min - hours per page - Complete the MDX flip recipe with addContentEntryType requirement (mdx/src/index.ts:59-78) and the missing pnpm add @astrojs/mdx step - Harden Q11 (mirror AWS) reasoning: drop the appeal-to-consensus sentence, add a verified second leg (tony.sh deploy.yml uses S3+CloudFront+Cloudflare for an Astro build) - Close Q21 (Vitest), Q22 (pnpm via Corepack), Q23 (Zod 4 via Astro's exported boundary) with both load-bearing AND rejection rationales to defeat the cargo-cult failure mode - Discard fabrications surfaced and rejected during synthesis: no t.Self fluent chains in libtmux beyond window.py:116; zero NamedTuples; zero async functions
1 parent 5b750aa commit 95cf238

1 file changed

Lines changed: 1158 additions & 242 deletions

File tree

0 commit comments

Comments
 (0)