Module boundary assessment and calibration
Attempt the work before calibration. Score each category 0 missing/incorrect, 1 prompted or incomplete, 2 independently correct with evidence and limits, 3 correct transfer to a fresh case. All six categories require at least 2. A green model harness alone cannot satisfy MB4 or MB5.
Required evidence
- MB1 — Policy: distinguish public API access, private direct access and transitive prohibitions with a concrete facade counterexample.
- MB2 — Graph reasoning: predict reachable forbidden pairs and owner SCCs, including grouping that produces an owner cycle without a file cycle.
- MB3 — Implementation: implement the archive contract independently; preserve failed predictions and three new fixtures. Show duplicate invariance, input preservation and a positive-length self-cycle.
- MB4 — Source enforcement: apply a stack-appropriate dependency tool to the original sample application, compare extracted edges with source and inject a real forbidden import. Keep the failing and repaired check output. State blind spots such as reflection and shared data.
- MB5 — Distribution evidence: compare in-process and real local-network implementations using one frozen scenario, shared behavior tests, timeout/lost-response cases and recovery evidence. Retain the network/debug/deploy/data/consistency/people cost ledger.
- MB6 — Reversibility: reverse the extraction or demonstrate a tested merge-back path while retaining the public API. Defend the chosen style against two alternatives and state a measurable trigger to reopen it.
Fresh defense
After at least 48 hours, analyze an unseen graph and a new extraction requirement without the reference. Change one public flag and one owner assignment, predict which outputs change, and explain why a source-policy pass says nothing about authorization. Repair any gate below 2 before progressing. Record assistance, source excerpts consulted and independent work honestly.
Calibration — after attempting
Checkout to billing.api to billing.storage passes direct encapsulation when the API is public and storage shares its owner. It fails an explicit transitive checkout-to-storage prohibition. Repair an overbroad policy if it contradicts the intended facade; do not obscure a real forbidden dependency with an exception.
A.api to B.helper and B.api to A.helper creates owner SCC (A,B) without a file-level cycle. A chain is not a cycle. An isolated node does not violate a self-prohibition, but a direct self-edge or a returning path does. Duplicate edges do not multiply violations.
Changing file ownership can change private edges and owner SCCs while node reachability stays identical. Exposing a private target as public clears that private-edge violation but does not clear a separately configured transitive prohibition. Renaming or relabeling to silence a check without changing responsibility is not architectural repair.
A lost response after a state change requires explicit retry semantics. Moving back in-process removes a network failure mode but does not remove domain ownership or database coupling. Accept extraction only against the declared quality scenarios and correctness requirements; no universal number of services is correct.