Phase ID: APG20A
Complete — Go and Ruby profile defects corrected and both profiles implemented.
APG20A accepts APG20’s truthful deferrals as its defect ledger. The initial corrected candidates incorporate every recorded finding, pass their frozen and defect-specific scenarios, and are retained as independent provisional development skills. Go uses one bounded new correction for clause-exact decision counting. Ruby uses one bounded new correction to exclude ordinary statically named public dispatch from dynamic-family breadth.
The Go profile now distinguishes website prose,
displayed code, source-distribution material, and
third-party module licensing. Exported-API
measurement specifies grouped declarations, aliases, generics, direct and
promoted members, generated declarations, tests, and supported build variants.
Local-binding measurement includes nested lexical blocks and separates
material closure captures. Protected-data review covers every recorded sink
family. The semantic guide explicitly covers errors, context, concurrency,
resources, APIs, reflection, unsafe, cgo, subprocesses, and performance.
Read-only Go 1.26.5 calibration supplies truthful Green, Yellow, Orange, maintained Red, generated, semantic, and synthetic legacy cases. No current upstream source is relabeled legacy.
The Ruby profile now gives explicit responses for bounded and unsafe dynamic dispatch, runtime evaluation and mutation, shared mutable state, thread/fiber/ractor lifecycle, and authorized public compatibility changes. The source boundary records Ruby 4.0.6 and RubyGems/Bundler 4.0.16 and preserves Ruby distribution exceptions and RubyGems/Bundler dual-license terms.
Read-only calibration supplies a genuine maintained 12-line Green case, truthful Yellow, Orange, maintained Red, generated, semantic, and synthetic legacy cases. The maintainer sample remains Orange on non-line signals.
The APG20 concurrency retry reproduced as a report append-lock race. A lock holder could release its directory between failed acquisition and type validation. The helper now retries disappearance across both release windows, continues to reject unsafe lock objects, and has a deterministic regression.
Private development contains 14 canonical skills and projections, 6 stable rows, 8 provisional rows, and 13 routable non-router capability-map entries. Go and Ruby are known-unmanaged development profiles. The six v0.2 managed defaults and schema-version-1 project, user, and release contracts are unchanged. Public v0.2.0 and the active integration remain 6/6/6.
Profile contract, routing, threshold, Red-stop, project integration, report- tool, checker, release, user, identity, syntax, documentation, privacy, and whitespace gates pass. Fresh non-author profile, defect, integration, documentation, and complete-diff reviews accept the resulting tree.
No root guidance, private skill, public release, active integration, dependency, plugin, state schema, application smoke, or later profile family changed in APG20A. APG21 is authorized only after APG20A is committed, pushed, remote-equal, and fully reported.