@dzhechkov/harness-core 0.5.4 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -485,9 +485,13 @@ export declare function codexDispatchMode(stage: string): CodexDispatch;
485
485
  * 56-line adversarial code review answered in 14s. The stalls are INTERMITTENT latency — the same
486
486
  * input hung at 60s and answered at 14s minutes apart. Size is not the variable.
487
487
  *
488
- * So the real guard is the bounded timeout plus the CODEX_UNAVAILABLE sentinel: a slow exec becomes
489
- * an explicit "unavailable", never a passed review. This constant only stops us from shipping an
490
- * absurdly large prompt.
488
+ * DEMOTED 2026-08-21 (feature qe-scoped-review, ADR 001). This constant used to be described as the
489
+ * stall guard. That is now REFUTED by measurement: a 19 038-char QE prompt sat under this 24 000
490
+ * ceiling with ~5 000 chars of headroom and still spent 280 s / exit 124 producing no verdict, twice.
491
+ * The variable is not SIZE, it is whether the model is allowed to roam the tree. The defence is
492
+ * SCOPE — `codexReviewCommand` (the diff defines it) and `scopedQePrompt` ("read ONLY these files").
493
+ * This constant is retained as a sanity bound on an absurd payload, and is no longer claimed as the
494
+ * thing that prevents a stall.
491
495
  */
492
496
  export declare const CODEX_EXEC_PROMPT_CEILING_CHARS = 24000;
493
497
  /** The sentinel an exec agent returns when the command failed, timed out, or Codex refused. */
@@ -496,6 +500,15 @@ export interface CodexExecPlanInput {
496
500
  readonly stage: string;
497
501
  readonly promptChars: number;
498
502
  readonly probedId: string | null;
503
+ /**
504
+ * TRUE only when the prompt was built by `scopedQePrompt` — i.e. it NAMES the files to read and
505
+ * forbids exploring. Absent/false on the `qe` stage routes to Claude instead of `exec`.
506
+ *
507
+ * MEASURED 2026-08-21: an unscoped 19 038-char QE prompt spent 280 s and exit 124 on
508
+ * reconnaissance and returned no verdict, TWICE (the retry ran at a 1500 s ceiling). The ceiling
509
+ * did not stop it — 19 038 sat under 24 000. Scope is the guard; this input is where it binds.
510
+ */
511
+ readonly scoped?: boolean;
499
512
  }
500
513
  export interface CodexExecPlanResult {
501
514
  readonly mode: 'exec' | 'wrapper' | 'claude';
@@ -536,6 +549,223 @@ export interface CodexExecResult {
536
549
  */
537
550
  export declare function parseCodexGrade(text: string): string | null;
538
551
  export declare function parseCodexExecResult(text: string | null | undefined): CodexExecResult;
552
+ /** Mode-A wall-clock bound. Run 3 measured 146 s; 600 s is ~4× headroom and still bounded. */
553
+ export declare const CODEX_REVIEW_TIMEOUT_SECONDS = 600;
554
+ /** MEASURED (probe 0.3): `codex review` accepts and echoes `reasoning effort: high`. */
555
+ export declare const CODEX_REVIEW_DEFAULT_EFFORT = "high";
556
+ /** The sentinel a wrapper returns when the command hit its `timeout` — distinct from CODEX_UNAVAILABLE. */
557
+ export declare const CODEX_TIMEOUT = "CODEX_TIMEOUT";
558
+ /** Machine sentinel appended by the dispatch command itself (grammar of the Step-7.5 landing signal). */
559
+ export declare const CODEX_QE_SIGNAL_PREFIX = "CODEX-QE-SIGNAL";
560
+ /** Mode-B bounds, set FROM the measurement above (run 2 = 2 files / 1 461 chars), not from the ceiling. */
561
+ export declare const SCOPED_QE_MAX_FILES = 3;
562
+ export declare const SCOPED_QE_MAX_QUESTIONS = 4;
563
+ export declare const SCOPED_QE_MAX_PATH_CHARS = 200;
564
+ export declare const SCOPED_QE_MAX_QUESTION_CHARS = 200;
565
+ export declare const SCOPED_QE_PROMPT_MAX_CHARS = 2000;
566
+ /**
567
+ * A git ref reaches a shell command, exactly like a model id does. Same discipline as
568
+ * {@link isSafeCodexId}: plain refs only, and single-quoted at the call site anyway.
569
+ *
570
+ * Deliberately STRICTER than git: `HEAD~1`, `a..b` with `~`/`^`, and any leading `-` (which the CLI
571
+ * would read as a flag) are rejected. A rejected ref returns `{cmd: null}` → mode A is skipped and
572
+ * mode B / the Claude belt runs. Refusing to build is always cheaper than building something odd.
573
+ */
574
+ export declare function isSafeCodexRef(ref: string): boolean;
575
+ export interface CodexReviewCommandInput {
576
+ /** `'commit' | 'base' | 'uncommitted'`. Default `'uncommitted'` — see the scope note below. */
577
+ readonly scope?: string | null;
578
+ readonly ref?: string | null;
579
+ readonly modelId?: string | null;
580
+ readonly reasoning?: string | null;
581
+ /**
582
+ * Accepted and DELIBERATELY IGNORED. MEASURED 2026-08-21: every scope flag refuses a positional
583
+ * prompt — `--commit`, `--base <BRANCH>` and `--uncommitted` each exit 2 with
584
+ * "the argument '<flag>' cannot be used with '[PROMPT]'". Silently appending one would present as
585
+ * a review that never happened. Our own questions go to mode B ({@link scopedQePrompt}).
586
+ */
587
+ readonly prompt?: string | null;
588
+ readonly timeoutSeconds?: number | null;
589
+ }
590
+ export interface CodexReviewCommandResult {
591
+ readonly cmd: string | null;
592
+ /** Always `false` today, and KEPT as a field: it is the one boolean a future CLI would flip. */
593
+ readonly carriesPrompt: boolean;
594
+ readonly scope: string;
595
+ readonly reason: string | null;
596
+ }
597
+ /**
598
+ * Build the mode-A command. The diff defines the scope, so Codex computes for free the thing we were
599
+ * paying a model to do badly.
600
+ *
601
+ * Two refusals are load-bearing, both measured (exit 2 = a silent review failure, since the pipeline
602
+ * would read "no output" as "codex unavailable"):
603
+ * • never emit `-m` — `codex review` rejects it; the model goes through `-c model=`;
604
+ * • never append a positional prompt — no scope flag accepts one.
605
+ *
606
+ * Default scope is `uncommitted` (probe 0.4b: it and `--base HEAD` reviewed the identical uncommitted
607
+ * diff, and `uncommitted` needs no ref, so it has no ref-injection surface at all).
608
+ */
609
+ export declare function codexReviewCommand(input: CodexReviewCommandInput): CodexReviewCommandResult;
610
+ export interface ScopedQePromptInput {
611
+ readonly files?: readonly string[] | null;
612
+ readonly questions?: readonly string[] | null;
613
+ readonly slug?: string | null;
614
+ }
615
+ /**
616
+ * Build the mode-B narrow prompt. The "do NOT open any other file" clause is LOAD-BEARING TEXT: it is
617
+ * the difference between the 41 s graded run and the 280 s ungraded one, at comparable model effort.
618
+ *
619
+ * An empty file list returns `''` — the caller treats that as "do not dispatch". An unscoped mode-B
620
+ * exec is precisely the failure this feature removes, so it must not be CONSTRUCTIBLE.
621
+ */
622
+ export declare function scopedQePrompt(input: ScopedQePromptInput): string;
623
+ /**
624
+ * Wrap a command so its EXIT CODE survives the shell agent that runs it.
625
+ *
626
+ * The old wrapper collapsed every failure to `CODEX_UNAVAILABLE`, so a timeout (narrow the scope) and
627
+ * a broken invocation (fix the command) arrived indistinguishable — and `codex review` output is
628
+ * prose, not JSON, so the exit code is the only reliable discriminator there is. The emitted line is
629
+ * the grammar {@link parseCodexReviewSignal} reads back, and the two are round-trip tested against a
630
+ * REAL shell rather than against each other's regexes.
631
+ *
632
+ * The SUBSHELL around `inner` is load-bearing, and the round-trip test is what earned it: without it
633
+ * the `> "$o" 2>&1` redirect binds only to the last command of a compound `inner`, and an `exit`
634
+ * inside `inner` terminates the wrapper BEFORE the sentinel is echoed — producing exactly the
635
+ * "signal missing" state that must mean "the command did not demonstrably run".
636
+ */
637
+ export declare function codexQeSignalCommand(inner: string, outPath?: string | null): string;
638
+ export interface ParsedCodexQeSignal {
639
+ readonly exit: number | null;
640
+ readonly elapsedSeconds: number | null;
641
+ readonly bytes: number | null;
642
+ readonly body: string;
643
+ readonly signalPresent: boolean;
644
+ }
645
+ /**
646
+ * Split the machine sentinel from the reviewer's own words.
647
+ *
648
+ * `codex review` output is prose, not JSON, so the EXIT CODE is the only reliable discriminator — and
649
+ * today the shell-agent wrapper throws it away. The dispatch command now appends
650
+ * `CODEX-QE-SIGNAL exit=<n> elapsed=<n>s bytes=<n>`, the same grammar as the Step-7.5 landing signal.
651
+ *
652
+ * A MISSING sentinel yields `exit: null` and `signalPresent: false` — never a defaulted 0. Defaulting
653
+ * to 0 would let "the wrapper never ran the command" read as "the command succeeded".
654
+ */
655
+ export declare function parseCodexReviewSignal(text: string | null | undefined): ParsedCodexQeSignal;
656
+ export interface CodexQeFinding {
657
+ readonly severity: string;
658
+ readonly title: string;
659
+ readonly location: string;
660
+ }
661
+ /**
662
+ * Parse mode-A findings out of non-JSON review output, driven by a REAL saved capture
663
+ * (`test/fixtures/codex-review-2026-08-21.txt`), never by invented text.
664
+ *
665
+ * Observed shape: `- [P1] <title> — <abs-path>:<line>-<line>`, and Codex prints the whole finding
666
+ * block TWICE (once as the summary, once as the final message), hence the dedup.
667
+ *
668
+ * Zero parsed findings is a DATA POINT (`[]`), never "clean" — that judgment belongs to
669
+ * {@link gradeFromReviewFindings}, which refuses to make it.
670
+ */
671
+ export declare function parseCodexReviewFindings(body: string | null | undefined): CodexQeFinding[];
672
+ /**
673
+ * Derive a grade from what the reviewer actually found — used ONLY on the mode-A path, where the CLI
674
+ * structurally forbids asking for a letter (measured: every scope flag rejects `[PROMPT]`).
675
+ *
676
+ * Two honesty rules, and they are the highest-severity lines in this feature:
677
+ * 1. an empty or unparseable finding set returns `null`, NEVER a default letter. MEASURED
678
+ * (probe 0.6): `codex review --uncommitted` on a CLEAN tree exits 0 with a polite, well-formed,
679
+ * completely empty review. Mapping that to `'A'` would turn a review of NOTHING into a clean
680
+ * bill of health — the exact `{grade:'codex-review', gaps: []}` fabrication ADR-001 deleted once;
681
+ * 2. `'A'` is UNREACHABLE by derivation for every input. "Nothing was found" is not evidence of
682
+ * quality when the reviewer's own findings are the only evidence we have; only a reviewer that
683
+ * STATES `Grade: A` (mode B, where we can ask) may produce one.
684
+ */
685
+ export declare function gradeFromReviewFindings(findings: readonly CodexQeFinding[] | null | undefined): string | null;
686
+ /**
687
+ * The LOCKED decline taxonomy. A `kind` outside this set is a bug, not a new case — which is why
688
+ * {@link codexQeDeclineReason} throws on one rather than rendering something plausible.
689
+ */
690
+ export declare const CODEX_QE_DECLINE_KINDS: readonly string[];
691
+ export interface ClassifyCodexQeInput {
692
+ readonly exit?: number | null;
693
+ readonly body?: string | null;
694
+ readonly grade?: string | null;
695
+ readonly findings?: readonly CodexQeFinding[] | null;
696
+ /**
697
+ * TRUE (the default) when the caller dispatched through the sentinel-emitting wrapper, so a missing
698
+ * sentinel means the command never ran → `tool-error`. FALSE only when parsing RAW reviewer text
699
+ * that was never wrapped (a saved fixture, a file on disk), where content is all there is.
700
+ */
701
+ readonly signalExpected?: boolean;
702
+ }
703
+ /**
704
+ * Classify one Codex QE dispatch. The property this whole feature exists to protect lives here:
705
+ * a TIMEOUT and an UNUSABLE OUTPUT must never collapse into the same kind, because the operator's
706
+ * next move differs — `timeout` ⇒ narrow the scope; `tool-error` ⇒ fix the command; `unavailable` ⇒
707
+ * fix the account/model.
708
+ *
709
+ * Order is deliberate. `exit === 124` wins over EVERY content rule, because the measured timeout body
710
+ * was 416 KB of exploration — very much non-empty, and an empty-body rule would have mislabelled it
711
+ * `unusable-output` and told the operator to fix a tool that is working fine.
712
+ *
713
+ * `exit !== 0` is `tool-error` — but only for exits outside {0, 124}. MEASURED (probe 0.2): a review
714
+ * that finds a real P1 blocker still exits 0. A BAD review is a SUCCESSFUL cross-family review.
715
+ */
716
+ export declare function classifyCodexQeOutcome(input: ClassifyCodexQeInput): {
717
+ kind: string;
718
+ };
719
+ export interface CodexQeDeclineDetail {
720
+ readonly elapsedSeconds?: number | string | null;
721
+ readonly seconds?: number | string | null;
722
+ readonly ref?: string | null;
723
+ readonly files?: readonly unknown[] | number | null;
724
+ readonly exit?: number | null;
725
+ readonly chars?: number | null;
726
+ readonly detail?: string | null;
727
+ readonly reason?: string | null;
728
+ }
729
+ /**
730
+ * Render the operator-facing decline reason — the string the workflow assigns to `lastCodexDecline`
731
+ * and that `crossFamilyQe` prints inside `opus (cross-family QE DID NOT happen — …)`.
732
+ *
733
+ * Before this feature every decline rendered as `codex exec unusable — codex exec returned no text`,
734
+ * so a timeout (narrow the scope) and a broken invocation (fix the command) produced an identical,
735
+ * unactionable alarm. The two `unusable-output` / `unavailable` strings are preserved VERBATIM from
736
+ * the two pre-existing call sites so the change adds precision without rewriting history.
737
+ *
738
+ * `'empty'` and `'ceiling'` are accepted as aliases (the ADR's vocabulary) of `'unusable-output'` and
739
+ * `'over-ceiling'` (the taxonomy's). Anything else THROWS: a kind outside the locked set is a bug,
740
+ * and rendering a plausible sentence for it would hide that bug behind a readable label.
741
+ */
742
+ export declare function codexQeDeclineReason(kind: string | null | undefined, detail?: CodexQeDeclineDetail | null): string;
743
+ /**
744
+ * The ADR's spelling of {@link codexQeDeclineReason}. Accepts BOTH call shapes — the ADR's
745
+ * `({kind, seconds, detail})` object and the taxonomy's positional `(kind, detail)` — so both cited
746
+ * call sites resolve to one implementation instead of two that can drift.
747
+ */
748
+ export declare function codexDeclineReason(a: unknown, b?: CodexQeDeclineDetail | null): string;
749
+ export interface CodexReviewResult {
750
+ readonly ok: boolean;
751
+ readonly grade: string | null;
752
+ readonly kind: string;
753
+ readonly gradeSource: string | null;
754
+ readonly findings: CodexQeFinding[];
755
+ readonly reason: string | null;
756
+ }
757
+ /**
758
+ * The ADR's one-call parser over RAW reviewer text: signal-split → findings → grade → classify.
759
+ * Pure composition; every rule it applies belongs to one of the four helpers above.
760
+ *
761
+ * `signalExpected` is passed as `sig.signalPresent` ON PURPOSE, and it is the one line here worth
762
+ * reading twice. This function's input is text that may never have been wrapped (a saved fixture, a
763
+ * report on disk), so a missing sentinel means "no machine signal exists", not "the tool failed".
764
+ * The PIPELINE must not use this leniency: the workflow dispatches through the sentinel-emitting
765
+ * wrapper and calls {@link classifyCodexQeOutcome} directly with `signalExpected: true`, so a
766
+ * swallowed sentinel there is a `tool-error` and never a pass. A wiring test pins that.
767
+ */
768
+ export declare function parseCodexReviewResult(text: string | null | undefined): CodexReviewResult;
539
769
  /** CX-3: a workflow that names an agent type the harness does not have must fall back, not die. */
540
770
  export declare function isAgentTypeMissingError(err: unknown): boolean;
541
771
  /**
@@ -592,11 +822,214 @@ export interface PlanGateVerdict {
592
822
  * silently empty) and the `K2_EXIT=` trailer carries the exit code back through an agent that can
593
823
  * only return text.
594
824
  */
595
- export declare function planCompletenessGateCmd(repo: string, featureDir: string, tier?: string | null): string;
825
+ export interface PlanGateCmdOpts {
826
+ /** An explicit ABSOLUTE path to the gate script. Validated at build time; never silently demoted. */
827
+ gateScript?: string;
828
+ /** Pin the workspace root instead of resolving it live with `pwd -P` (tests; deterministic pins). */
829
+ workspace?: string;
830
+ }
831
+ /**
832
+ * The EXACT command the gate agent runs. `2>&1` folds stderr in (a crash must be visible, not
833
+ * silently empty) and the `K2_EXIT=` trailer carries the exit code back through an agent that can
834
+ * only return text.
835
+ *
836
+ * P16/D2 — WHERE the script is looked up. The skill is installed in the WORKSPACE; the command
837
+ * `cd`s into the TARGET repo, so a repo-relative `node .claude/skills/…` resolved against the target
838
+ * and died with `Cannot find module` on every repo that is not itself a feature-adr install (field
839
+ * report P16: K2_EXIT=1, verdict not-established, reason no-verdict-line). The fix is an ordered
840
+ * candidate chain, WORKSPACE BEFORE REPO on purpose: the verdict contract is defined by the PARSER
841
+ * inside the running workflow, so only the copy from that same installation is known to speak it —
842
+ * a target repo may carry an older copy that prints `K2: NOT-ESTABLISHED — …`, a prefix this
843
+ * parser does not match (a live example lives at
844
+ * features/wave1-instrument-repair/check-plan-completeness.mjs). Nothing found ⇒ a LOUD
845
+ * `tooling-missing` refusal with every tried path echoed — never a skip, never a pass.
846
+ *
847
+ * Called with three arguments the emitted string is byte-identical to the pre-P16 command; the
848
+ * search chain appears only when `opts` is supplied. That 3-arg form exists so the pre-existing
849
+ * byte-pin can keep asserting the OLD shape (a test-fixture role, not an API promise — the shipped
850
+ * caller always passes `opts`).
851
+ */
852
+ export declare function planCompletenessGateCmd(repo: string, featureDir: string, tier?: string | null, opts?: PlanGateCmdOpts): string;
596
853
  /**
597
854
  * PARSE-NEVER-SYNTHESIZE. An empty reply, a reply with no verdict line, a missing/unknown exit code,
598
855
  * or a verdict line that DISAGREES with the exit code are all `not-established` — never a pass. The
599
856
  * quiet failure this forecloses: a dead or chatty agent reading as a clean gate.
600
857
  */
601
858
  export declare function parsePlanGateVerdict(raw: string | null | undefined): PlanGateVerdict;
859
+ /**
860
+ * The operator note a refused plan gate carries — ONE reason→text table, so the workflow's inline
861
+ * copy cannot drift into telling an operator to fix a plan that is not broken.
862
+ *
863
+ * AM-2/AM-7: before P16 this text was inline and UNCONDITIONAL ("exit 1 ⇒ fix the FAIL lines"),
864
+ * which is actively wrong for a gate that never RAN. Existence of a branch is not proof it fires,
865
+ * so the table is exported and unit-tested on both reasons.
866
+ */
867
+ export declare function refusalNoteFor(planGate: PlanGateVerdict, slug: string): string;
868
+ /**
869
+ * ADR-003 — pin a RELATIVE `args.dzBin` to the workspace root once, at the point of definition.
870
+ *
871
+ * `DZ` is spliced into commands that first `cd` into the target repo, into the brain, or into
872
+ * nothing at all (the usage probe), so a relative binary path resolves against three different
873
+ * bases and silently returns nothing on at least two of them — and a null usage probe is read
874
+ * upstream as "the limit was hit", which fail-safe-switches a healthy run to Codex.
875
+ * A bare `dz` (no slash) keeps PATH resolution; an already-absolute value is returned untouched.
876
+ */
877
+ export declare function normalizeDzBin(raw: string | null | undefined, ws: string | null | undefined): string;
878
+ /** What cross-family QE was asked for, what actually reviewed, and — when they differ — why. */
879
+ export interface CrossFamilyQeReport {
880
+ /** The QE spec routing resolved, e.g. `codex:gpt-5.6-sol:high`. */
881
+ readonly requested: string | null;
882
+ /** The model label that actually produced the review, e.g. `opus`. */
883
+ readonly actual: string;
884
+ readonly coderFamily: string;
885
+ readonly reviewerFamily: string;
886
+ /** TRUE only when the reviewer's family differs from the coder's. */
887
+ readonly happened: boolean;
888
+ /** Why cross-family QE did not happen. `null` when it did. */
889
+ readonly reason: string | null;
890
+ }
891
+ /**
892
+ * Report — and LABEL — whether cross-family QE actually happened.
893
+ *
894
+ * The 2026-08-20 P16 run is the reason this exists. Routing correctly resolved QE to
895
+ * `codex:gpt-5.6-sol:high` (MEASURED: `resolveQeSpec` returns exactly that for a Claude coder), the
896
+ * codex dispatch returned null, the cross-model belt correctly fell back to a Claude reviewer so the
897
+ * run would not block — and the result reported `modelsUsed.qe = "opus"` with nothing anywhere saying
898
+ * the independent review had not taken place. The belt worked; its FAILURE was invisible. The only
899
+ * reason anyone noticed is that the Claude reviewer volunteered it in prose.
900
+ *
901
+ * A safety property that silently degrades to its own absence is worse than one that is absent, because
902
+ * the absence is believed to be presence. So the label carries the degradation and the caller returns
903
+ * the report — self-review must never be able to pass for independent review by omission.
904
+ *
905
+ * HONEST SCOPE — what this does NOT do, named because a reader would otherwise assume it does (the
906
+ * cross-family reviewer that graded the first version B asked for exactly this paragraph):
907
+ * • it does not verify the declared reviewer ACTUALLY RAN — only what the caller declares;
908
+ * • it does not establish genuine independence: two Claude models are one family here, and a
909
+ * caller free to mislabel a family can still misreport;
910
+ * • it does not validate the decline reason's provenance — any non-blank caller text is taken
911
+ * verbatim, so a stale reason from an earlier dispatch would be reported as this one's (the
912
+ * workflow clears `lastCodexDecline` per dispatch for exactly this reason; that discipline
913
+ * lives at the call site, not here);
914
+ * • it does not force a caller to surface the report at all.
915
+ * It normalises family names and refuses to call an unnameable side cross-family. Beyond that it is
916
+ * honest only when wired with truthful inputs — a REPORTING helper, not an authentication mechanism.
917
+ */
918
+ export declare function crossFamilyQe(opts: {
919
+ requestedSpec: string | null;
920
+ actualLabel: string;
921
+ coderFamily: string;
922
+ reviewerFamily: string;
923
+ declineReason?: string | null;
924
+ }): {
925
+ report: CrossFamilyQeReport;
926
+ label: string;
927
+ };
928
+ /** Whether a scoped (mode-B) cross-family review may run, and over WHICH files. */
929
+ export type ModeBScopeVerdict = {
930
+ readonly ok: true;
931
+ readonly files: readonly string[];
932
+ readonly dropped: readonly string[];
933
+ } | {
934
+ readonly ok: false;
935
+ readonly reason: string;
936
+ };
937
+ /**
938
+ * Decide the scope of a scoped cross-family QE review — or refuse it.
939
+ *
940
+ * The defect this closes (cross-family review of `qe-scoped-review`, 2026-08-21, its own first P1):
941
+ * mode B built its file list from the PLANNED targets and never once consulted what actually changed.
942
+ * On a run where Step 7 produced nothing, mode A reviews an empty diff and declines, mode B then
943
+ * points the reviewer at unchanged pre-feature files and asks for a closing letter — and mode B is
944
+ * the ONLY path that may return a STATED grade, the only one on which `A` is reachable at all. The
945
+ * reviewer's headline stands quoted because it is exact: *"the patch can record a successful QE
946
+ * verdict without reviewing the actual change."*
947
+ *
948
+ * So scope is derived from the MEASURED change set intersected with what the plan declared, and two
949
+ * states refuse outright rather than review something else:
950
+ * • `genuinely-not-landed` — the landing barrier already established the code is not there;
951
+ * • an unknown change set — the probe could not measure. Inconclusive is never a pass, and here the
952
+ * honest consequence is that cross-family QE does not happen and says so, which `crossFamilyQe`
953
+ * now surfaces, rather than a confident grade over the wrong files.
954
+ *
955
+ * `dropped` is the planned-but-unchanged remainder. Callers must NOT report it as reviewed: recording
956
+ * files the reviewer never saw is the same lie one level down (that is the report's MEDIUM-1).
957
+ */
958
+ export declare function decideModeBScope(opts: {
959
+ planned: readonly string[];
960
+ changed: readonly string[] | null;
961
+ landingStatus?: string | null;
962
+ }): ModeBScopeVerdict;
963
+ /** Findings split by whether they belong to the feature under review. */
964
+ export interface PartitionedFindings {
965
+ readonly inScope: readonly CodexQeFinding[];
966
+ /** Real findings about OTHER work that happened to be dirty. Reported, never graded. */
967
+ readonly outOfScope: readonly CodexQeFinding[];
968
+ /**
969
+ * Findings whose location could not be MATCHED either way — no location at all, or a shape the
970
+ * matcher does not parse (`src/a.ts line 10`). They are NOT out-of-scope: nothing proves they
971
+ * concern another file. Suppressing them would drop a possibly-blocking finding from the grade on
972
+ * the strength of a parsing failure, which is the "unknown counted as clean" mistake this whole
973
+ * wave exists to remove — and which I reproduced here until cross-family review caught it.
974
+ */
975
+ readonly unlocatable: readonly CodexQeFinding[];
976
+ /** True when scope could not be established, so nothing may be attributed either way. */
977
+ readonly unscoped: boolean;
978
+ }
979
+ /**
980
+ * Separate a mode-A review's findings into this feature's and the rest of the dirty worktree's.
981
+ *
982
+ * `codex review --uncommitted` reviews EVERY staged, unstaged and untracked change, and
983
+ * `gradeFromReviewFindings` takes the worst severity over all of them. So an unrelated P0 sitting
984
+ * dirty in the tree grades this feature D — indistinguishable from a D it earned.
985
+ *
986
+ * Not theoretical. In the saved live self-review fixture
987
+ * (`test/fixtures/codex-review-selfreview-slices-2026-08-21.txt`), ONE of the six P1s is
988
+ * `features/talk-ai-assistants/demo-site/site/dist/index.html:57-58` — unrelated work that merely
989
+ * happened to be uncommitted at the time.
990
+ *
991
+ * Out-of-scope findings are NOT discarded: they are real, and dropping them silently would be its own
992
+ * dishonesty. They are returned separately so the caller can report them as what they are.
993
+ *
994
+ * @param inScopePaths the MEASURED change set for this feature (repo-relative). Empty ⇒ `unscoped`,
995
+ * and the caller must not attribute anything — inconclusive is never a pass, and it is not a
996
+ * fail either.
997
+ */
998
+ export declare function partitionReviewFindings(findings: readonly CodexQeFinding[] | null | undefined, inScopePaths: readonly string[] | null | undefined): PartitionedFindings;
999
+ /** A path → content-hash snapshot; `null` means the file was ABSENT when the snapshot was taken. */
1000
+ export type FileHashSnapshot = ReadonlyMap<string, string | null>;
1001
+ /**
1002
+ * Parse a `sha256sum` probe into a snapshot, tolerating the "no such file" lines it prints to stderr.
1003
+ *
1004
+ * Presence is not the question — CONTENT is. A file that was already dirty before Step 7 and then
1005
+ * edited by Step 7 must count as changed, and `git status` cannot tell those apart: it reports the
1006
+ * file as dirty in both cases. That is one half of why the old probe measured the wrong thing.
1007
+ */
1008
+ export declare function parseHashProbe(text: string | null | undefined, declared: readonly string[]): FileHashSnapshot;
1009
+ /**
1010
+ * Which declared targets actually changed between two snapshots.
1011
+ *
1012
+ * Returns `null` when either snapshot is missing — an unmeasured delta is NOT an empty delta, and the
1013
+ * callers treat null as "scope not established", which is never a pass.
1014
+ */
1015
+ export declare function changedFromHashes(before: FileHashSnapshot | null, after: FileHashSnapshot | null): string[] | null;
1016
+ /**
1017
+ * Build the probe that measures a change set, MATCHED to the review scope.
1018
+ *
1019
+ * The old code ran one `git status --porcelain` regardless of scope, which is wrong in both
1020
+ * directions (cross-family review of the 2026-08-21 wave, P1):
1021
+ * • `uncommitted` — a target already dirty BEFORE Step 7 is reported as this run's change, so mode B
1022
+ * could certify work the coder never touched. Hence the baseline pair rather than a single look.
1023
+ * • `commit` / `base` — real COMMITTED changes produce no status entry at all, so the set came back
1024
+ * empty and the scoped review was disabled on a run whose code demonstrably exists.
1025
+ *
1026
+ * @returns the shell command, or `null` when the scope needs a ref it was not given — the caller must
1027
+ * then treat the scope as unmeasured rather than substituting a different question.
1028
+ */
1029
+ export declare function changeSetProbeCmd(opts: {
1030
+ scope: string;
1031
+ ref?: string | null;
1032
+ paths: readonly string[];
1033
+ quote: (s: string) => string;
1034
+ }): string | null;
602
1035
  //# sourceMappingURL=feature-adr-routing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-adr-routing.d.ts","sourceRoot":"","sources":["../src/feature-adr-routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-adr-routing.d.ts","sourceRoot":"","sources":["../src/feature-adr-routing.ts"],"names":[],"mappings":"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"}