Repository navigation
T102: the small texts, seven tests respelled to the carve's homes and the arc's rulings (plan 038, T094's R2-INV-R9) - #52
Conversation
… the arc's rulings (plan 038; T094's R2-INV-R9) Seven test files, 21 composed reds, no conftest edit and no new test: - test_source_dot_directories.py, HH 13: the raw client sends ONE Host line (skip_host=True); openDox-code 390e2c2 refuses a second as 403 invalid_host. - test_session_document_ownership.py, PP 1: gate_routes.py is read at its carved home (conftest carved_module_path), not scripts/ideation_dashboard. - test_readiness_gate.py, MN 1: cmd_gate_propose moved to openxdox.cli_gate. - test_gate_failure_diagnostics.py, MN 1: the fresh-interpreter slug import is opendox.workbench. - test_authoring_agent.py, PP 1: sync-notebooklm-books.py is openxFactory's own tool, read beside the composed host module (openxfactory_host()). - test_wheel_verbs_cli.py, MN 2: the derive-possibles stub replaces generator_seam.generate (plan 034 T055), the call the CLI now makes. The nodes also need the governed host, which is T095's declared-host list. - test_notebook_action.py, CP 2: the exact-equality capabilities pin pops the additive `views` and `display` keys beside console_token and hosted_actor; the gate flag is asserted with a gate route binding (plan 034 T084) and without one. The first also needs the governed host (T095). Lane: openXfactory-3 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…plan 038; holder ruling 6026275158, item 3) test_readiness_gate.py's "the CLI exposes no bypass flag" scan read only opendox.cli. Since the carve the gate subcommands, and so the `propose` arguments, are defined in openxdox.cli_gate, so a bypass flag added there passed the scan. The scan now reads the sources of both modules and names the module in its failure. Lane: openXfactory-3 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Reviewer's GuideUpdates seven existing composed tests to reflect the post-carve module locations, generator seam, single-Host HTTP contract, route-bound gate capabilities, and split CLI implementation; it also broadens the readiness-gate no-bypass guard to cover both CLI source modules. No tests are added or removed, and the PR remains dependent on T095 for the remaining failures. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
The draft depends on T095 and cross-repository composed integration that requires final validation after that dependency lands.
Review effort: Balanced
Findings: None
What changed in this PR
Aligns seven composed tests with carved module ownership and current openDox seams.
Changes:
- Updates CLI, route, generator, and capability assertions.
- Resolves carved files through their owning packages.
- Ensures raw requests send one
Hostheader.
| File | Description |
|---|---|
tests/test_wheel_verbs_cli.py |
Stubs the generator seam. |
tests/test_source_dot_directories.py |
Prevents duplicate Host headers. |
tests/test_session_document_ownership.py |
Resolves the carved gate module. |
tests/test_readiness_gate.py |
Scans both CLI modules for bypasses. |
tests/test_notebook_action.py |
Tests route-aware capabilities and facets. |
tests/test_gate_failure_diagnostics.py |
Imports workbench from openDox. |
tests/test_authoring_agent.py |
Loads the openxFactory-owned sync tool. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
Sorry @brettheap, you've used your own review budget of 250,000 diff characters for the last 7 days. You can request another review in 7 hours and 34 minutes by commenting |
|
|
READY at 3dd90d3 Lane: openxfactory-4 (openXfactory-4-openDox_extraction) Holder, automatic READY on Brett's word "land lane 3's PRs when green" (2026-10-06). At the head: |
Brings T101 (#48), T098 (#51), T103 (#49), T096 (#53), T100 (#54), T099 (#47), T021's follow-on (#55), T102 (#52), T022 (#41, landed as aefd109), T097 (#50) and T096's follow-on (#56). Conflicted: scripts/composed_placements.py and tests/test_composed_placements.py, both T022's files, which this branch carried from #41 through #44. Main's landed side is kept for both. tests/declared_exclusion.yaml merged clean (T101's entry edits beside T073's header and open_until). Lane: openXfactory-3 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>




Lane: openxfactory-4 (openXfactory-4-openDox_extraction)
Authored by lane openXfactory-3, delegated by lane openxfactory-4 (#656 6021862323)
Arc: neutral-product-standalone-operability
T102, the small texts (plan 038, slice T102 of T094's repair map,
R2-INV-R9). T095 (#46) has landed, so every node of this slice now clears atmain.Realizes: requirement 9's declared composed tests (T073, F9.1): the 21 composed reds that
R2-INV-R9assigns to its T102 row. There is notasks.mdentry yet (lane 4 records T095 to T104 after T002).Ruled: the map's rulings (#656
6021830531: OQ-R9-1 to OQ-R9-4 at their defaults, W7's file chains), and #6566026275158item 3 (the no-bypass scan, below). Decisions: none of my own.What changes (seven test files, no conftest edit, no new test)
tests/test_source_dot_directories.pyHostline (skip_host=True); openDox-code390e2c2(plan 034 T103) refuses a second as403 invalid_hosttests/test_session_document_ownership.pygate_routes.pyis read at its carved home (carved_module_path)tests/test_readiness_gate.pycmd_gate_proposeis read fromopenxdox.cli_gate, where the carve put ittests/test_gate_failure_diagnostics.pyopendox.workbench(and needs no path to find it)tests/test_authoring_agent.pysync-notebooklm-books.pyis openxFactory's own tool, read beside the composed host module (openxfactory_host())tests/test_wheel_verbs_cli.pyderive-possiblesstub replacesgenerator_seam.generate(plan 034 T055), the call the CLI makes nowtests/test_notebook_action.pyviewsanddisplaykeys and checks their kinds; the gate flag is asserted with a gate route binding (plan 034 T084) and without oneBeyond the 21 nodes, per #656
6026275158item 3: the no-bypass scan intest_readiness_gate.py::test_no_parameter_or_keyword_can_bypass_the_gatenow reads the sources of BOTHopendox.cliandopenxdox.cli_gate. It read onlyopendox.cli, while theproposearguments live incli_gate, so a bypass flag added there passed it. M14 and M15 below show the widened scan kills it and the old scan did not.A correction to the brief (kept for the record)
The brief said 19 of the 21 nodes clear at
mainbefore T095. Measured atmainf70bc9c3(before T095 landed) it was 18: a third node,test_notebook_action.py::test_capabilities_route_reports_available_when_nlm_present, also needed T095's declared-host list, because its pinnedgate: Trueandrefresh: Trueare the host's route bindings. T095 has landed since, and atmainfc1115d6below all 21 clear, those three included.The falsifier (composed R1Q23 (a), each file alone, red first)
Environment: openxFactory
92010d3e(the committests/composed_host_pin.yamlnames) withopenDox,openXdoxandopenXwalletinitialized recursively, itsscripts/onPYTHONPATH; openDox installed from openDox-code84f8ed83; T022's placement run first and removed afterwards (both checkouts read clean after); colour variables unset,TERM=dumb; Python 3.12.3, pytest 8.4.2, Node v24.21.0.At
mainfc1115d6(the 7 files: 21 red, exactly this slice's), then at this head0a5dfc30(a merge offc1115d6):21 nodes cleared, none turned red.
The unchanged set, at
mainfc1115d6and at this head, node for node: 24 files, 1004 nodes, 1004 passed, 0 red on BOTH sides, 0 nodes differing. It is 12.5's 16 governed suites, F5.2's 7 (its 5 declared files among them) andtest_column_contributions_governed.py(9 passed).The lone form, from a clean clone with CI's own install command (openDox at its pin):
tests/test_declared_exclusion.pyalone: 207 passed. Each of the seven files still fails alone only ondoc_health.validate.ymlruns it: 1161 passed, 4 skipped, 1 deselected; selected 1165, passed 1161, skipped 4, failures 0, errors 0, against the floors 1099, 1095 andskipped == 4. The floors are untouched, and no test is added or removed.Mutants (each is a mutated copy in a scratch tree, reverted after; each killed for its own reason)
skip_host=Falseagain403 == 200)gate_routes.pygains_unwind_first_editcmd_gate_proposeno longer callsconsole.proposecli.generate_snapshotviewsnot poppeddisplaychecked against the wrong kind--forceargument added tocli_gate'sproposeopenxdox.cli_gate8935da8)CI and review at head
0a5dfc30validategreen (run 37552892745):1161 passed, 4 skipped, 1 deselected; the triple reads selected 1165, passed 1161, skipped 4, failures 0, errors 0, against the floors 1099, 1095 andskipped == 4(margin 66).b307c6eeread "Changes recommended" with one finding, that the body still described the pre-T095 head; the body was fixed, and that thread was answered and resolved.NOT done
mainhas moved since (da736090at the last read), and the green loop's update-branch merge picks it up; the other slices' files are disjoint from these seven.🤖 Generated with Claude Code
Summary by Sourcery
Align the composed test suite with the current openDox/openXdox carve and routing contracts, closing the gate-bypass coverage gap.
Bug Fixes:
Enhancements:
Tests: