@@ -110,7 +110,8 @@ The current project state is a minimal Scala 3 research compiler-plugin project
110110 manual dispatch or Sunday 04:17 UTC schedule, keeps failures visible, has
111111 read-only permissions, uploads 14-day bounded evidence, and never runs on
112112 push, pull request, or merge. The ordinary pinned ` Test ` workflow remains
113- byte-identical.
113+ blocking; Prompt 78 adds only its required local dependency-coordinate gate
114+ before the main tests and refreshes the policy-owned workflow hash.
114115- ` project/RecurringExactNightlyWorkflowPolicy.scala ` ,
115116 ` project/RecurringExactNightlyWorkflowPolicySpec.scala ` , and
116117 ` verifyRecurringExactNightlyWorkflowPolicy ` make the workflow and invariant
@@ -134,6 +135,12 @@ The current project state is a minimal Scala 3 research compiler-plugin project
134135 handler linkage probes. Classification is
135136 ` EXPERIMENTAL_PLUGIN_API_SURFACE_BASELINE_READY ` ; it is not a stable API or
136137 cross-version compatibility promise.
138+ - Prompt 78 repairs the invalid prompt-contaminated ` pluginApi ` compiler
139+ organization to ` org.scala-lang ` , adds a 14-case effective-coordinate policy,
140+ and proves target-free/fresh-cache resolution and packaging. Classifications
141+ are ` PLUGIN_API_DEPENDENCY_COORDINATE_REPAIRED ` ,
142+ ` PLUGIN_API_CLEAN_RESOLUTION_AND_PACKAGE_PROVEN ` , and
143+ ` EXPERIMENTAL_PLUGIN_API_SURFACE_BASELINE_RESTORED ` .
137144- The build adds ` Resolver.scalaNightlyRepository ` because research plugins are only enabled on nightly or snapshot Scala 3 builds.
138145- The plugin defines custom built-in marker annotations in ` paradise3.gen ` and ` paradise3.debug ` .
139146- The experimental handler API defines ` paradise3.api.expander ` , a tiny ` paradise3.api.helpers.ExpansionHelpers ` convenience layer, ` paradise3.externalDebug ` , ` paradise3.externalCompanionDebug ` , ` paradise3.externalSiblingDebug ` , ` paradise3.externalLabel ` , ` paradise3.externalTypedLabel ` , ` paradise3.externalMarker ` , and fixture-only ` paradise3.externalQuasiquotesTerm ` in ` pluginApi ` for the precompiled external-handler loading spikes.
@@ -733,6 +740,12 @@ Create these files:
733740222 . ` docs/experimental-plugin-api-surface-baseline.md `
734741223 . ` prompts/77.codex.experimental.plugin.api.surface.baseline.and.isolated.handler.linkage.contract.prompt.md `
735742224 . ` reviews/77_chatgpt_experimental_plugin_api_surface_baseline_handoff/README.md `
743+ 225 . ` project/BuildDependencyCoordinatePolicy.scala `
744+ 226 . ` project/BuildDependencyCoordinatePolicySpec.scala `
745+ 227 . ` project/PluginApiCleanResolution.scala `
746+ 228 . ` docs/plugin-api-dependency-coordinate-integrity.md `
747+ 229 . ` prompts/78.codex.plugin.api.dependency.coordinate.repair.and.clean.resolution.proof.prompt.md `
748+ 230 . ` reviews/78_chatgpt_plugin_api_dependency_coordinate_repair_handoff/README.md `
736749
737750## File Requirements
738751
@@ -2344,8 +2357,10 @@ Create these files:
23442357 ` verifyJdkVersionEnforcement ` , and exactly one
23452358 ` verifyNewerExactNightlyCompatibility ` command. Never duplicate the ladder or
23462359 put the exact Scala version/discovery logic in YAML.
2347- - Keep the normal ` .github/workflows/test.yml ` byte-identical and blocking for
2348- push/PR. The recurring workflow is non-blocking because it has no
2360+ - Keep the normal ` .github/workflows/test.yml ` pinned and blocking for push/PR,
2361+ including Prompt 78's dependency-coordinate policy before the main tests.
2362+ Refresh its policy-owned hash only when a separately reviewed task changes
2363+ that workflow. The recurring workflow is non-blocking because it has no
23492364 push/PR/merge trigger, while its failures remain visible.
23502365- Keep the recurring workflow policy model/spec/task and its synthetic drift
23512366 checks. Preserve the exact descriptor and hashes, root Scala, sbt, JDK,
@@ -2448,6 +2463,32 @@ Create these files:
24482463 drift evidence, not stable/cross-version compatibility, semantic versioning,
24492464 Maven publication, or release policy.
24502465
2466+ ### Prompt 78 and review handoff
2467+
2468+ - Keep the ` pluginApi ` compiler dependency exactly
2469+ ` "org.scala-lang" %% "scala3-compiler" % scalaVersion.value ` . Historical
2470+ Prompt 78 evidence may quote the bad organization, but production settings,
2471+ current policy, manifests, and current documentation must not treat it as a
2472+ valid coordinate.
2473+ - Keep ` BuildDependencyCoordinatePolicy ` and its 14-case spec bounded to the
2474+ effective ` pluginApi ` compiler coordinate, prompt-number contamination,
2475+ pinned Scala/sbt/JDK policy, separate project, five-member root aggregate,
2476+ and retained Prompt 77 manifest/tasks.
2477+ - Keep ` verifyBuildDependencyCoordinatePolicy ` in the ordinary pinned ` Test `
2478+ workflow before the main tests. It is local and deterministic.
2479+ - Keep ` verifyPluginApiCleanResolution ` explicit. It must copy no ` .git ` or
2480+ target/IDE/workspace state, use task-owned fresh Coursier and isolated Ivy/sbt
2481+ state, run the clean update/compile/package sequence, audit the thin JAR, and
2482+ delete both disposable repository and cache.
2483+ - Keep ` docs/plugin-api-dependency-coordinate-integrity.md ` and
2484+ ` reviews/78_chatgpt_plugin_api_dependency_coordinate_repair_handoff/ ` as the
2485+ focused contract and exact 19-document evidence packet.
2486+ - Preserve ` PLUGIN_API_DEPENDENCY_COORDINATE_REPAIRED ` ,
2487+ ` PLUGIN_API_CLEAN_RESOLUTION_AND_PACKAGE_PROVEN ` , and
2488+ ` EXPERIMENTAL_PLUGIN_API_SURFACE_BASELINE_RESTORED ` . They repair and restore
2489+ exact-build evidence; they do not promote the API or choose the next
2490+ broad-vs-small design.
2491+
24512492### ` bootstrap-prompt.md `
24522493
24532494- Describe the repository as a minimal Scala 3 research compiler-plugin project
@@ -2510,6 +2551,9 @@ Create these files:
25102551- Include Prompt 77's canonical manifest, verifier/model spec, candidate-render
25112552 and verification tasks, isolated positive/runtime/negative source probes,
25122553 focused baseline document, prompt, and exact 20-document handoff.
2554+ - Include Prompt 78's corrected compiler coordinate, dependency policy/spec,
2555+ clean-resolution task, ordinary Test workflow gate, focused integrity
2556+ document, prompt, and exact 19-document handoff.
25132557- Explain that the document must evolve with the repository as new files and behavior are introduced.
25142558
25152559## Constraints
0 commit comments