portfolio-optimiser/tests
Kjell Tore Guttormsen 9b47e5aa62 feat(p18): a listing is a WINDOW, and an invented path is refused by name
P18 part A (order 20260914T105139Z). P16 measured S7a-3's ladder against a
delivered corpus for the first time and found two things fixture bases
cannot show.

(1) One level is not bounded by being one level. Measured 14.09 on the four
mounted vegnormal bases: okf.directory_listing on krav/N200 is 169 974 chars
over 1 132 documents, krav/N100 69 250 over 445, krav/N500 39 853 over 269,
and R761's own root 110 912 over 2 728 SUBDIRECTORIES -- 27-113x the
1 500-char ceiling S7a-3 set, riding in every later prompt. That last number
is why the window covers BOTH kinds: a pagination over documents only would
have left the largest measured level unpaginated.

read_dir now answers with a window. offset/limit page directories first then
documents as ONE sequence (two independent windows make "the next ten" a
question with two answers); total is the denominator and is always carried;
limit is CLAMPED to 50, never refused. Default 10 chosen against the ceiling:
one entry is 121-209 chars (median 145) over the four bases. After: n100
1 493, n500 1 453, R761 479, n200 1 537 -- 2.5 % over, stated rather than
tuned away, because the ceiling is a character budget and the window is a
count. Largest single call any caller can make: ~7 600 chars.

filter narrows a level instead of paging it: case-insensitive SUBSTRING over
title + req_number/prosessnr and over a directory path, answering with
total_matches beside total. A substring and not a pattern for
_ground_against_input's reason one rung down -- a form the rule does not know
returns nothing, and an empty listing reads as "the base does not have this".
A filter that matches nothing is an ANSWER (total_matches: 0), never a
refusal. ORDER PREMISE FELLED before building on it: the order asks for a
separate top-level reader "like own_frontmatter" because parse_frontmatter
was last-write-wins -- P15 (f13dc64) already made a top-level key win, so
BundleFile.frontmatter IS the concept's own value and a second reader here
would be the second copy ko-(p) forbids.

(2) 0 of 26 fasit concepts were opened in 32 read_file calls (the order's
"24" is the four runs' DISTINCT paths, re-measured 14.09), and 10 of those
calls named a path the base does not hold. Each reached the model as MAF's
opaque "Error: Function failed." while counting toward the three consecutive
tool errors that end a request. read_file now refuses such a path by name
(BundlePathNotFound, funn-99 returned form) and names the nearest directory
that actually HOLDS documents -- chosen off context_files, never the
filesystem, because a directory can exist on disk and hold no navigated
concept (read_dir would then refuse the very path the refusal handed back)
and because context_files is what drops the type: verdict layer, so a refusal
can never advertise by name the one layer no listing mentions. Narrow by
construction: only an ABSENT path is translated; any other OSError propagates
untouched.

Two existing arms REWRITTEN, neither weakened:
- test_a_nonexistent_sibling_is_still_an_os_error was a tripwire whose own
  docstring said "when it goes red, someone has closed it, and that is a
  decision to be recorded". This is the record. Its narrowness half survives
  as a new arm driving a real PermissionError on a file that IS there.
- test_every_document_is_still_reachable_and_the_counts_add_up became
  STRONGER: the accounting must now page, so the same assertion also proves
  the window is complete and non-overlapping.

tests/test_navigation_window_loadbearing.py: 13 arms. Arms needing the
delivered bases SKIP with the root named (PORTFOLIO_VEGNORMAL_ROOT), as
MAJOR-3's ceiling arm does; the window algebra, the filter negative and the
refusal run over a synthetic base UNCONDITIONALLY, so the file can never be
silently absent in full.

Verification: uv run pytest -q 1672 passed / 5 skipped before the new file
(1670 on cfd9079). ruff check + format clean, mypy clean (38 files). Golden
demo-transcript.stdout BYTE-UNCHANGED, shasum -a 1 of the CONTENT =
ea8c534773acdbe41ae68f2c55724d69aaf8be4f. No version bump, no push.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 22:10:43 +02:00
..
fixtures fix(okf): close the inert ingest-stamp guard, then land okf 0.8.5 -- and read the block sources form all four bases actually write 2026-09-12 23:02:38 +02:00
golden test(okf): capture block-form fixture and collection baseline before any decoder 2026-09-02 19:58:56 +02:00
spikes fix(maf): en vakt som gikk inert i STILLHET, funnet ved aa loefte pinnen (F15, ORDRE 20260829T155150Z) 2026-09-02 19:35:49 +02:00
conftest.py fix(okf): close the inert ingest-stamp guard, then land okf 0.8.5 -- and read the block sources form all four bases actually write 2026-09-12 23:02:38 +02:00
test_a5_per_approach_artifacts_loadbearing.py feat(s2c): debatten navigerer basen i stedet for aa faa den utlevert [skip-docs] 2026-09-04 18:04:21 +02:00
test_anchored_reserve_loadbearing.py feat(simulation): GO — demoen kjører levert VEGLYS-bundle, forankret på deres tall [skip-docs] 2026-08-09 21:27:43 +02:00
test_assessment_method_loadbearing.py feat(fase1): assessment-method encoding — persisted dimension-scoped example + validator rule (F1) 2026-07-07 08:15:44 +02:00
test_async_plan_review_loadbearing.py fix(hitl): planen et menneske signerer er TEKST, aldri en objekt-repr (BLOCKER-1, ORDRE 20260902T151931Z) 2026-09-02 17:38:25 +02:00
test_b4_mcp_call_trace_loadbearing.py feat(provenance): a run records which external service it actually called 2026-08-05 21:37:29 +02:00
test_backends.py feat(4b): AZURE-profilen leser miljøet sitt, ikke operatørens laptop 2026-08-13 22:27:21 +02:00
test_baseline_line_in_prompt_loadbearing.py fix(proposer): affected_items maa baere BASELINE-linja, ikke den foreslaatte reduksjonen 2026-09-06 23:38:16 +02:00
test_baseline_visibility_loadbearing.py feat(okf): den erklaerte bundle_id-en er identiteten - mountet er en filsystem-tilfeldighet 2026-09-03 06:47:58 +02:00
test_block_sources_reader_loadbearing.py fix(okf): close the inert ingest-stamp guard, then land okf 0.8.5 -- and read the block sources form all four bases actually write 2026-09-12 23:02:38 +02:00
test_budget.py test(budget): defend the third field of the stop event — observed (kø-y) 2026-08-03 20:46:36 +02:00
test_budget_flags_loadbearing.py fix(p16): the pre-call announcement must state the cap the run will use, not the constants 2026-09-14 12:21:29 +02:00
test_bundle_id_reconciliation_loadbearing.py feat(explore): stigen faar sitt manglende trinn - read_bundle gir ETT nivaa, read_dir det neste 2026-09-03 07:38:30 +02:00
test_bundle_id_slack_loadbearing.py feat(prepass,explore): padding dies at the prompt; a refusal the model can act on is a return value [skip-docs] 2026-09-08 23:36:54 +02:00
test_bygg_energi_mikro.py docs(shared): bygg-energi mikro-eksempel — OKF-bundle + golden + load-bearing test 2026-06-29 09:42:13 +02:00
test_catalogue_cost_loadbearing.py feat(explore): katalogkallet koster O(baser), ikke O(korpus) (ORDRE 20260825T213645Z) 2026-08-26 14:45:16 +02:00
test_checker_gate_loadbearing.py feat(fase3): make the maker-checker checker actually gate the reasoning 2026-06-30 07:24:30 +02:00
test_console_entry_points.py feat(cli): console entry points + the demo's stderr damping (P4 pkt. 5 og 2) 2026-08-09 15:13:09 +02:00
test_content_keyed_script_loadbearing.py feat(sim): the demo script is keyed on the project the prompt names, so a new project is data 2026-08-06 16:43:29 +02:00
test_context_sets_loadbearing.py feat(p16): the stress judge -- and the order's own (a) was a gate that could only be green 2026-09-14 11:58:48 +02:00
test_contracts.py feat(fase1): GoalContract + GoalConfig standalone fail-fast loader (F1) 2026-07-07 08:01:53 +02:00
test_cost_baseline_derivation_loadbearing.py feat(okf): derive a cost baseline from a priced schedule, or refuse 2026-09-03 03:15:39 +02:00
test_costsim.py test(s36): value-level guard for _ore_to_kr_str money formatter 2026-07-15 10:25:05 +02:00
test_costsim_loadbearing.py feat(s36): costsim CLI + no-network + no-hardcoded-price guards 2026-07-15 10:05:29 +02:00
test_datasource.py feat(fase2): expose retriever as citation-bearing data source 2026-06-24 13:34:53 +02:00
test_debate_navigation_cost_loadbearing.py feat(prepass,explore): padding dies at the prompt; a refusal the model can act on is a return value [skip-docs] 2026-09-08 23:36:54 +02:00
test_demo_stderr_quiet_loadbearing.py feat(cli): console entry points + the demo's stderr damping (P4 pkt. 5 og 2) 2026-08-09 15:13:09 +02:00
test_dimension.py feat(s53): load_dimension fail-fast loader (MAF-free, mirrors load_goal_config) 2026-07-23 21:31:32 +02:00
test_dimension_loadbearing.py feat(validator,generate,run): an identifier a proposal builds on must be in the input, or the verdict falls [skip-docs] 2026-09-09 16:04:01 +02:00
test_doc_constant_sync_loadbearing.py test(docs): klassifiser den nye kontraktfila som LIVE, ikke arkiv 2026-09-02 20:06:30 +02:00
test_evidence_key_parameter_loadbearing.py fix(okf): close the inert ingest-stamp guard, then land okf 0.8.5 -- and read the block sources form all four bases actually write 2026-09-12 23:02:38 +02:00
test_exploration_artefact_approaches_loadbearing.py fix(s7b): BudgetExceeded refuses instead of tracebacking, approaches land in exploration.json 2026-09-04 16:33:35 +02:00
test_explore_budget_refusal_loadbearing.py fix(s7b): BudgetExceeded refuses instead of tracebacking, approaches land in exploration.json 2026-09-04 16:33:35 +02:00
test_explore_callsites_loadbearing.py fix(s7b): BudgetExceeded refuses instead of tracebacking, approaches land in exploration.json 2026-09-04 16:33:35 +02:00
test_explore_loadbearing.py feat(prepass,explore): padding dies at the prompt; a refusal the model can act on is a return value [skip-docs] 2026-09-08 23:36:54 +02:00
test_explore_read_tools_refusal.py feat(prepass,explore): padding dies at the prompt; a refusal the model can act on is a return value [skip-docs] 2026-09-08 23:36:54 +02:00
test_falsification_skill_loadbearing.py fix(okf): close the inert ingest-stamp guard, then land okf 0.8.5 -- and read the block sources form all four bases actually write 2026-09-12 23:02:38 +02:00
test_falsification_verdict_loadbearing.py fix(okf): close the inert ingest-stamp guard, then land okf 0.8.5 -- and read the block sources form all four bases actually write 2026-09-12 23:02:38 +02:00
test_foundry_profile_live.py test(fase2): gated live local + Foundry profile checks 2026-06-24 14:02:44 +02:00
test_frontmatter_unquote_loadbearing.py fix(okf): one unquoting rule for frontmatter scalars (kø-(a)/(i)) 2026-08-04 21:23:18 +02:00
test_full_run_live.py feat(1b): skjemaet ER akseptert av det levende endepunktet - malt, ikke resonnert [skip-docs] 2026-08-14 20:02:26 +02:00
test_generate.py feat(step5): the falsification that informed the next hypothesis now leaves the loop 2026-08-06 15:12:06 +02:00
test_go_delivered_bundle_loadbearing.py feat(simulation): GO — demoen kjører levert VEGLYS-bundle, forankret på deres tall [skip-docs] 2026-08-09 21:27:43 +02:00
test_golden_transcript_loadbearing.py fix(maf): en vakt som gikk inert i STILLHET, funnet ved aa loefte pinnen (F15, ORDRE 20260829T155150Z) 2026-09-02 19:35:49 +02:00
test_grounding_offer_loadbearing.py style(format): ruff format on the three files P7/P8 left drifting [skip-docs] 2026-09-10 06:23:35 +02:00
test_handover_package_loadbearing.py feat(gate): pakke-gaten leser INNHOLDET, ikke bare filnavn + vurdering av Azure-omdøping 2026-08-18 13:42:02 +02:00
test_hierarchical_navigation_loadbearing.py feat(p18): a listing is a WINDOW, and an invented path is refused by name 2026-09-14 22:10:43 +02:00
test_hitl.py feat(okf): den erklaerte bundle_id-en er identiteten - mountet er en filsystem-tilfeldighet 2026-09-03 06:47:58 +02:00
test_hitl_loadbearing.py feat(okf): den erklaerte bundle_id-en er identiteten - mountet er en filsystem-tilfeldighet 2026-09-03 06:47:58 +02:00
test_hosted_backend_loadbearing.py feat(4b): AZURE-profilen leser miljøet sitt, ikke operatørens laptop 2026-08-13 22:27:21 +02:00
test_hosting_loadbearing.py fix(hosting): _run_kwargs reads _REFUSED_BY_NAME instead of a hardcoded literal 2026-09-06 07:21:04 +02:00
test_identifier_grounding_loadbearing.py style(format): ruff format on the three files P7/P8 left drifting [skip-docs] 2026-09-10 06:23:35 +02:00
test_imports_core.py feat(fase1): export domain-model public API + green full suite (F1) 2026-07-07 08:17:10 +02:00
test_ingest_content_gate_loadbearing.py feat(ingest): P2/S1.b — innholdsgaten står, rundt materialize og ikke i den 2026-08-09 22:58:00 +02:00
test_ingest_golden.py test(ingest): golden extraction case examples/ingest-golden-file, byte-frozen (I2) 2026-07-03 18:40:53 +02:00
test_ingest_golden_http.py fix(3): den fremmedes første kjøring skriver ingen SyntaxWarning [skip-docs] 2026-08-14 07:04:08 +02:00
test_ingest_golden_mcp.py fix(ingest): narrow mcp_timeout to our OWN deadline, not the exception type (kø-z follow-up) 2026-08-03 21:22:00 +02:00
test_ingest_golden_sql.py chore(repo): planning artifacts become local-only; fixture builders become code 2026-08-05 10:08:17 +02:00
test_ingest_http.py feat(ingest): http read_http connector + injectable transport seam (I6) 2026-07-04 16:57:29 +02:00
test_ingest_http_loadbearing.py fix(3): den fremmedes første kjøring skriver ingen SyntaxWarning [skip-docs] 2026-08-14 07:04:08 +02:00
test_ingest_http_timeout_loadbearing.py feat(ingest): bound the default http transport in time, in front of the pinned library (S2.4) 2026-08-03 14:54:04 +02:00
test_ingest_library_seam.py chore(deps): move the ingest library pin to v0.3.2 — as far as latest goes today 2026-08-05 12:11:12 +02:00
test_ingest_loadbearing.py fix(okf): close the inert ingest-stamp guard, then land okf 0.8.5 -- and read the block sources form all four bases actually write 2026-09-12 23:02:38 +02:00
test_ingest_manifest.py refactor(ingest): adopt shared llm-ingestion-okf v0.3.1 behind a thin adapter 2026-07-20 07:47:55 +02:00
test_ingest_materialize.py fix(okf): close the inert ingest-stamp guard, then land okf 0.8.5 -- and read the block sources form all four bases actually write 2026-09-12 23:02:38 +02:00
test_ingest_mcp.py fix(okf): close the inert ingest-stamp guard, then land okf 0.8.5 -- and read the block sources form all four bases actually write 2026-09-12 23:02:38 +02:00
test_ingest_mcp_loadbearing.py feat(ingest): add the MCP connector as a transport inside the http family (S2.2) 2026-08-02 21:14:57 +02:00
test_ingest_sql.py fix(okf): close the inert ingest-stamp guard, then land okf 0.8.5 -- and read the block sources form all four bases actually write 2026-09-12 23:02:38 +02:00
test_ingest_sql_loadbearing.py test(ingest): SQL connector + load-bearing + golden, detach-proven (I4) 2026-07-04 06:56:02 +02:00
test_ingest_stamp_fail_closed_loadbearing.py fix(okf): close the inert ingest-stamp guard, then land okf 0.8.5 -- and read the block sources form all four bases actually write 2026-09-12 23:02:38 +02:00
test_ledger.py fix(s54): reject non-array/non-object ledger JSON in SavingsLedger.load 2026-07-24 19:52:52 +02:00
test_ledger_loadbearing.py feat(fase1): hard/soft goal-stop in run_portfolio on accumulated ledger (F1) 2026-07-07 08:11:43 +02:00
test_live_dry_run.py feat(4b): AZURE-profilen leser miljøet sitt, ikke operatørens laptop 2026-08-13 22:27:21 +02:00
test_live_dry_run_loadbearing.py feat(s42): live_dry_run cut in run_project + DryRunReport 2026-07-15 18:05:16 +02:00
test_live_full_run_contract.py feat(1b): skjemaet ER akseptert av det levende endepunktet - malt, ikke resonnert [skip-docs] 2026-08-14 20:02:26 +02:00
test_local_profile_live.py test(fase2): gated live local + Foundry profile checks 2026-06-24 14:02:44 +02:00
test_maf_version_guard.py test(maf-guard): raise the floor to 1.18.0 first and prove it red on the installed 1.16.0 2026-09-12 16:57:48 +02:00
test_mandate.py docs(mandate): how a domain expert commissions a run — and one honesty fix the run itself exposed 2026-08-05 16:31:27 +02:00
test_mandate_cli.py feat(mcp): concrete MCP servers become tools the agents can call during a run 2026-08-05 16:53:07 +02:00
test_mandate_generation_loadbearing.py feat(step5): the falsification that informed the next hypothesis now leaves the loop 2026-08-06 15:12:06 +02:00
test_mandate_run_loadbearing.py feat(run): every commissioned approach is evaluated, and every one is reported 2026-08-05 16:05:48 +02:00
test_mcp_run_loadbearing.py feat(s2c): debatten navigerer basen i stedet for aa faa den utlevert [skip-docs] 2026-09-04 18:04:21 +02:00
test_mcp_tools.py feat(mcp): concrete MCP servers become tools the agents can call during a run 2026-08-05 16:53:07 +02:00
test_method_spec_loadbearing.py feat(persona): load the falsification skill from commons at call time 2026-09-02 21:31:32 +02:00
test_money_quantization_loadbearing.py fix(money): quantize NOK to øre in one order, from one source (kø-p) 2026-08-03 20:08:59 +02:00
test_multibase_loadbearing.py docs: multi-base som invariant + den ende-til-ende-sloeyfa som beviser den (ORDRE 20260825T080753Z) 2026-08-25 13:41:31 +02:00
test_navigation_visibility_loadbearing.py feat(visibility): en lenke som ikke ble fulgt sier det - spor + betinget linje (ORDRE 20260821T142704Z) 2026-08-21 17:18:18 +02:00
test_navigation_window_loadbearing.py feat(p18): a listing is a WINDOW, and an invented path is refused by name 2026-09-14 22:10:43 +02:00
test_notify.py test(s52): cover build_notifier console/file dispatch + file-without-path fail-fast 2026-07-17 03:16:25 +02:00
test_notify_loadbearing.py fix(s52): resolve ConsoleNotifier default stream at call time 2026-07-17 03:18:00 +02:00
test_okf.py fix(okf): top-level frontmatter title survives a nested sources: title 2026-09-13 07:40:57 +02:00
test_okf_version_guard.py fix(okf): close the inert ingest-stamp guard, then land okf 0.8.5 -- and read the block sources form all four bases actually write 2026-09-12 23:02:38 +02:00
test_optional_ir_projection_loadbearing.py feat(s7b): IR-projeksjonen er valgfri paa alle tre kallsteder, og fraveret sies 2026-09-04 08:09:03 +02:00
test_outbox_loadbearing.py feat(okf): den erklaerte bundle_id-en er identiteten - mountet er en filsystem-tilfeldighet 2026-09-03 06:47:58 +02:00
test_p4_honesty_sentences_loadbearing.py feat(simulation): P4 pkt. 3+4 — demo-transkriptet pinnet, frø-setningen avledet [skip-docs] 2026-08-09 22:12:25 +02:00
test_parse_failure_capture_loadbearing.py feat(s2c): debatten navigerer basen i stedet for aa faa den utlevert [skip-docs] 2026-09-04 18:04:21 +02:00
test_persona_skill_loadbearing.py feat(persona): build the shared expert-reviewer persona as a framework-neutral Agent Skill 2026-06-30 13:59:42 +02:00
test_plan_review_cli_door_loadbearing.py fix(hitl): planen et menneske signerer er TEKST, aldri en objekt-repr (BLOCKER-1, ORDRE 20260902T151931Z) 2026-09-02 17:38:25 +02:00
test_plan_review_progress_line_loadbearing.py fix(explore): a plan review never shows an expert the word None and calls it progress 2026-09-03 01:06:27 +02:00
test_portfolio.py feat(validator): anchor the deterministic gate to the project's real cost baseline (S4.0) 2026-08-03 17:19:31 +02:00
test_portfolio_budget_loadbearing.py feat(validator): anchor the deterministic gate to the project's real cost baseline (S4.0) 2026-08-03 17:19:31 +02:00
test_portfolio_cli_offline_loadbearing.py fix(tests): blade 2 was testing the wrong defect, and said so out loud 2026-08-05 11:06:41 +02:00
test_portfolio_concurrent_loadbearing.py test(portfolio): gate the wave handler's catch width and the failed-project ledger (v/t/s) 2026-08-03 16:09:12 +02:00
test_portfolio_failure_accounting_loadbearing.py feat(validator): anchor the deterministic gate to the project's real cost baseline (S4.0) 2026-08-03 17:19:31 +02:00
test_portfolio_learning_loadbearing.py feat(fase2a): percent-mål mot baseline 0 reiser ValueError (S2.0) 2026-07-15 07:14:29 +02:00
test_portfolio_live.py fix(1b): regelen gjelder HVER betalt arm - fan-out-testen var fortsatt ugatet [skip-docs] 2026-08-14 20:12:47 +02:00
test_preflight.py fix(5): preflight kjenner samme endepunkt-variabler som kjørestien [skip-docs] 2026-08-14 10:48:45 +02:00
test_preflight_loadbearing.py style(s41): ruff format preflight test files 2026-07-15 11:25:26 +02:00
test_prepass_cli_door_loadbearing.py docs(prepass): before/after on K2, the mutation battery and the invariant row 2026-09-07 14:39:50 +02:00
test_prepass_excerpt_fields_loadbearing.py feat(prepass): the excerpt's new fields reach the prompt, po stops dropping them twice 2026-09-08 16:42:17 +02:00
test_prepass_padding_collapse_loadbearing.py docs(p9): okf v0.7.0 measured - the rename costs nothing, content adds 15 identifiers [skip-docs] 2026-09-10 06:33:57 +02:00
test_prepass_payload_loadbearing.py docs(prepass): before/after on K2, the mutation battery and the invariant row 2026-09-07 14:39:50 +02:00
test_prepass_render_loadbearing.py feat(prepass): --prepass-seed makes the cut a starting point, and K2 says it costs 2026-09-08 04:02:09 +02:00
test_prepass_run_seam_loadbearing.py feat(prepass): --prepass-seed makes the cut a starting point, and K2 says it costs 2026-09-08 04:02:09 +02:00
test_prepass_seed_door_loadbearing.py feat(prepass): --prepass-seed makes the cut a starting point, and K2 says it costs 2026-09-08 04:02:09 +02:00
test_proposal_from_mandate_loadbearing.py fix(mandate): den TREDJE doera som aapner en base faar sitt eget vitne, og ingen fabrikkert identitet 2026-09-03 22:39:59 +02:00
test_proposal_review_loop_loadbearing.py fix(major2): en skrivefeil i finally fortrenger ikke lenger stoppet i flukt 2026-09-05 22:29:56 +02:00
test_provenance.py feat(okf): den erklaerte bundle_id-en er identiteten - mountet er en filsystem-tilfeldighet 2026-09-03 06:47:58 +02:00
test_provenance_decoder_loadbearing.py fix(okf): close the inert ingest-stamp guard, then land okf 0.8.5 -- and read the block sources form all four bases actually write 2026-09-12 23:02:38 +02:00
test_public_surface_claims_loadbearing.py fix(docs): rett README-statusen — to usanne paastander paa offentlig flate (ORDRE 20260825T122454Z) 2026-08-25 15:07:08 +02:00
test_read_bundle_cost_loadbearing.py feat(explore): stigen faar sitt manglende trinn - read_bundle gir ETT nivaa, read_dir det neste 2026-09-03 07:38:30 +02:00
test_read_dir_wrong_rung_loadbearing.py feat(prepass,explore): padding dies at the prompt; a refusal the model can act on is a return value [skip-docs] 2026-09-08 23:36:54 +02:00
test_read_file_directory_refusal_loadbearing.py feat(p18): a listing is a WINDOW, and an invented path is refused by name 2026-09-14 22:10:43 +02:00
test_reference_domain.py test(fase2a): commit Step 2 optional bundle_dir/verdict_dir tests (S2.0, omitted from 9659045) 2026-07-15 07:29:19 +02:00
test_require_cost_baseline_loadbearing.py feat(navigation,validator): read_dir names the rung that reads a document, and a run can require its anchoring 2026-09-08 05:32:46 +02:00
test_retrieval.py fix(retrieval): fail-closed on uncanonicalisable paths (embedded null byte) 2026-07-21 08:00:11 +02:00
test_run_cli.py fix(run): --embedder-config is refused, not silently dropped 2026-08-05 11:39:49 +02:00
test_run_cli_chatclient_refusal.py fix(cli): a provider failure leaves the CLI as one line, and a guessed base id is correctable 2026-09-08 21:03:18 +02:00
test_run_cli_loadbearing.py test(s31): close 1 review MAJOR — main()-level load-bearing proof of the --semantic-retrieval wiring 2026-07-25 12:44:03 +02:00
test_run_smoke.py feat(fase2): vertical-slice orchestrator + two-layer HITL wiring 2026-06-24 13:54:54 +02:00
test_s40_cost_baseline_loadbearing.py feat(validator,generate,run): an identifier a proposal builds on must be in the input, or the verdict falls [skip-docs] 2026-09-09 16:04:01 +02:00
test_scripted_cli_door_loadbearing.py feat(hitl): ekspertdommen kan ikke oppstaa av stillhet (F2, ORDRE 20260825T214801Z) 2026-08-27 01:22:07 +02:00
test_scripted_client_consolidation.py feat(1b): proposeren får en grammatikk — strict structured output [skip-docs] 2026-08-14 14:00:32 +02:00
test_scripted_explore_door_loadbearing.py feat(s2c): debatten navigerer basen i stedet for aa faa den utlevert [skip-docs] 2026-09-04 18:04:21 +02:00
test_semretrieval.py fix(semretrieval): refuse a non-finite embedding instead of scoring it (kø-(l)/S3.1 MINOR) 2026-08-03 21:48:50 +02:00
test_semretrieval_loadbearing.py fix(semretrieval): refuse a non-finite embedding instead of scoring it (kø-(l)/S3.1 MINOR) 2026-08-03 21:48:50 +02:00
test_shared_packaged_data_loadbearing.py feat(4a): wheelen bærer shared/ som pakkede data — arbeidstreet er overstyringen 2026-08-13 21:13:08 +02:00
test_shared_root_loadbearing.py feat(shared-root): S3 — configurable shared-root resolver with load-bearing override test 2026-07-03 01:10:05 +02:00
test_simulation_loadbearing.py feat(sim): offline end-to-end simulation proving the learning loop closes 2026-06-30 12:55:15 +02:00
test_smoke.py feat(3): flaten sier sant om seg selv, og to gater måler at den fortsetter å gjøre det 2026-08-14 06:57:25 +02:00
test_stage0_all_violations_loadbearing.py fix(validator): stage 0 navngir ALLE baseline-overtredelser, ikke bare den foerste 2026-09-07 00:38:50 +02:00
test_step1_expel_loadbearing.py feat(fase2b): OKF-navigated bundle context replaces chunk-stuffing 2026-06-30 06:42:19 +02:00
test_step5_history_loadbearing.py feat(step5): the falsification that informed the next hypothesis now leaves the loop 2026-08-06 15:12:06 +02:00
test_step5_refine_loadbearing.py feat(step5): the falsification that informed the next hypothesis now leaves the loop 2026-08-06 15:12:06 +02:00
test_step7_async_loop_loadbearing.py feat(fase5): add the long/async verdict file inbox (Steg 7 resumable feedback) 2026-06-30 09:54:23 +02:00
test_step7_demo_inbox_loadbearing.py feat(simulation): the demo now RUNS the Step-7 file inbox it narrates (P1/S1.a) 2026-08-09 13:13:21 +02:00
test_step8_promotion_loadbearing.py feat(verdicts): key each verdict on its own candidate, not the bundle's one IR projection (S3.2) 2026-08-03 16:44:58 +02:00
test_step32_multicandidate_loadbearing.py feat(verdicts): key each verdict on its own candidate, not the bundle's one IR projection (S3.2) 2026-08-03 16:44:58 +02:00
test_stress_judge_loadbearing.py feat(p16): the stress judge -- and the order's own (a) was a gate that could only be green 2026-09-14 11:58:48 +02:00
test_structured_output_loadbearing.py feat(validator,generate,run): an identifier a proposal builds on must be in the input, or the verdict falls [skip-docs] 2026-09-09 16:04:01 +02:00
test_tool_call_path_loadbearing.py fix(s7b): BudgetExceeded refuses instead of tracebacking, approaches land in exploration.json 2026-09-04 16:33:35 +02:00
test_tracing_loadbearing.py fix(maf): en vakt som gikk inert i STILLHET, funnet ved aa loefte pinnen (F15, ORDRE 20260829T155150Z) 2026-09-02 19:35:49 +02:00
test_ungiven_verdict_loadbearing.py feat(hitl): ekspertdommen kan ikke oppstaa av stillhet (F2, ORDRE 20260825T214801Z) 2026-08-27 01:22:07 +02:00
test_unnamed_excerpt_observation_loadbearing.py docs(p11): okf 0.8.1 measured - source-quota carries the denominators, one prior constant ranked the price schedule out [skip-docs] 2026-09-11 01:38:58 +02:00
test_validator.py feat(validator): enforce the deterministic stage-2 bound and band enclosure (S2.7) 2026-08-03 16:22:54 +02:00
test_value_report.py feat(s54): value_report text + deterministic JSON formatters 2026-07-24 01:29:31 +02:00
test_value_report_loadbearing.py test(s54): value_report overlap-flag load-bearing seam 2026-07-24 01:30:55 +02:00
test_verdict_layer_refusal_loadbearing.py feat(prepass,explore): padding dies at the prompt; a refusal the model can act on is a return value [skip-docs] 2026-09-08 23:36:54 +02:00
test_verdicts.py fix(s51): close 2 review MINORs — non-UTF-8 skip + affected_codes parity 2026-07-15 20:59:01 +02:00
test_vertical_slice_e2e.py fix(fase3): stamp real proposer model into provenance, kill fake-model leak (F1) 2026-06-26 15:03:45 +02:00
test_workflow.py feat(fase2): thread tools + budget middleware through fresh_workflow onto agents 2026-06-26 00:36:06 +02:00