Files
tech-log-backend/docs/superpowers/specs/2026-07-25-harness-free-mode-b-amendment.md
T

2.6 KiB

Harness-Free Mode B Amendment

  • Date: 2026-07-25
  • Status: Approved scope amendment
  • Mode: B — controlled reconstruction from repository evidence
  • Supersedes: 2026-07-20-harness-policy-engine-design.md and 2026-07-20-harness-policy-engine.md in full as executable guidance; both superseded documents remain only as historical provenance

Decision

The repository will recover Gradle configuration and Clean Architecture dependency enforcement without reconstructing the absent development harness. A Gradle-owned JSON registry at src/config/architecture/modules.json becomes the single source of truth for the current 19 leaf modules, their repository-relative source paths, Gradle paths, and allowed production project dependencies.

Both src/settings.gradle and verifyCleanArchitectureDependencies consume that file. Settings validation fails closed for malformed, empty, duplicate, unsafe, or missing module entries. The dependency gate continues to require complete leaf coverage and reject unapproved production project edges; production leaves may never depend on the sample-portfolio fixture consumer.

Evidence and provenance

Registry entries are reconstructed from the checked-in Gradle topology and each leaf build.gradle's api, implementation, compileOnly, and runtimeOnly project dependencies. Test-only and fixture-only configurations are not architecture production edges. This is Mode B provenance: it restores the repository's observable build contract, not unavailable historical artifacts.

The pre-change RED command is:

cd src
./gradlew help --console=plain

It fails because src/settings.gradle requires the absent .harness/project/modules.yaml.

Explicit non-goals

  • No .harness/ tree, task resolver, task packet, or policy-hash runtime.
  • No .agents/, .claude/, .codex/, agent plugin, hook, renderer, or platform parity reconstruction.
  • No production Java or runtime behavior change.
  • No byte-identical restoration claim.
  • No claim that the earlier Harness Policy Engine plan or the broader refactor is complete.

Enforcement and workflow

Gradle and CI gates replace harness runtime dependencies for module discovery and dependency policy. Root and module guidance point to the Gradle-owned registry and retain the eight local HARD-STOP meanings, architecture responsibilities, focused-test discipline, human-only git policy, and LLM Wiki capture workflow.

Acceptance requires successful Gradle help, projects, and verifyCleanArchitectureDependencies, an independent deterministic 19-leaf registry check, git diff --check, and a reviewed working-tree status.