Skip to content

Docs harness follow-ups from the #777 panel, Round 3: per-line shows: guard (F43) and nine Minors #783

Open

Description

@0x054

Problem

The review panel's Round 3 on the docs-rewrite PR (#777) ended at HUMAN DECISION with one Important test-hardening item and nine Minors left after the two fix rounds the process allows. F42 and F44 are fixed in a short PR before the merge; the rest is here. Report: #777 (the comment starting "## Verdict: HUMAN DECISION · Round 3").

Important

F43 · tests/test_docs_output.py:103-124,188 · the shows: guard still passes ferro migrate body lines, check refusals and ferro.sql records; its self-test matches per block, not per line. FERRO_OUTPUT does not match ok 0001_create_author applied …, ok Wrote migrations/…, recorded … as baseline, default · sqlite:///./app.db (2 pending), a step row, pending 0002_x, any ferro migrate check line, the squash note, or a DEBUG:ferro.sql:… record. test_the_recogniser_matches_every_block_of_ferro_output uses FERRO_OUTPUT.search(block.body) over the whole block, so each output: block passes on its header alone. CLI_LINE in tests/test_docs_migrations.py knows these lines but runs only over OUTPUT_PAGES. Fix: a per-line self-test (every non-blank line of every output:/refusal:/message prints: block must match), fold CLI_LINE's alternatives into the one recogniser, add the %(levelname)s:%(name)s: logging prefix, and a floor on the collected block counts so an empty list cannot pass (F48).

Minor

  • F45 docs/examples/_preludes/label_addition.py:38: the prelude fails on a second run against one schema (CREATE TYPE "plan" with no guard); drop the table and type before and after, or document that it needs an empty schema.
  • F47 docs/solutions/patterns/docs-page-conventions.md:199-216: the compile-only rule is stated twice with different lists; state it once.
  • F49 tests/test_docs_cli_reference.py:62: a flag counts as listed if it appears anywhere in the verb's section; read the option table only.
  • F50 tests/_docs_harness.py:51: unused re-exports of SnippetRegion and redirected_url; two import paths for snippet_regions/point_connect_at.
  • F51 conventions page: related_files omits tests/_docs_shared.py; the shows: paragraph still lists five kinds and a page-keyed VARIES; the step-file example names a file the Deploying chain no longer has.
  • F52 tests/test_docs_output.py:58: a prints: note is resolved in three places; check_printed(database_url=) makes callers pass the URL twice; the three new preludes have three opened() contracts while the runner docstring describes one.
  • F53 docs/examples/_preludes/label_addition.py:23: the prelude hand-types "what the create pass sends"; build it with connect(auto_migrate=True) on the free-only model so it stays true by construction.
  • Coherence seam tests/_docs_harness.py:251: the include regex's name class differs from SNIPPET's; an include with a digit in its region name is silently unread.
  • From Round 2, left as declared: F38 (two regex fence readers remain), F39 (docs/examples path rebuilt in eight modules), F40 (run_python lacks check=False), F41 (callers re-match PRINTS).

Related

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-triageNeeds evaluation by a maintainer

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions