Goal
Decide the strict severity policy (cycles as error, dead code as error) from measured findings instead of opinion. This issue closes with numbers attached, not code.
Method
Run the candidate strict policy in report-only mode against:
- this repo (opcore checking opcore), and
- at least one large local production repo (1M+ LoC scale, agent-written code preferred — the population the gate exists for).
No target repo is modified; the run is a local opcore check against a checkout, and the counts get pasted here.
Collect, per check (typescript.import-graph cycles, typescript.dead-code, rust.import-graph, rust.dead-code):
- total findings at scope
all
- findings under
--report-mode introduced for a sample of recent changes
- manual classification: true positive vs false positive, with the false-positive reason (public package API, framework-loaded module, dynamic reference, other)
Example of the output this issue wants
would-block: 217 findings
cycles: 3 all real (payment code) -> safe to promote
dead exports: 214
genuinely dead helpers: 9 -> would be correctly blocked
framework-loaded (router by filename): 182 -> false positive
public package API (exports/main): 23 -> false positive
A result like that means: promote cycles now, hold dead-code-as-error behind entrypoint modeling.
Acceptance
- Counts and false-positive classification posted for both corpora.
- A one-paragraph recommendation per check: promote / hold / hold-behind-dependency.
Depends on
Goal
Decide the strict severity policy (cycles as error, dead code as error) from measured findings instead of opinion. This issue closes with numbers attached, not code.
Method
Run the candidate strict policy in report-only mode against:
No target repo is modified; the run is a local
opcore checkagainst a checkout, and the counts get pasted here.Collect, per check (
typescript.import-graphcycles,typescript.dead-code,rust.import-graph,rust.dead-code):all--report-mode introducedfor a sample of recent changesExample of the output this issue wants
A result like that means: promote cycles now, hold dead-code-as-error behind entrypoint modeling.
Acceptance
Depends on