Repository navigation
feat: add Java Spring Boot implementation - #69
Conversation
Add test-first MVC, JDBC settings, BIGINT, Fibonacci and readiness cases. Establish reviewed dependency generation separately from immutable validation. Keep production Java absent for initial red evidence; keep the official eight-stack cohort unchanged.
…flags Keep immutable lock and checksum validation. Replace deprecated collection filtering in the temporary dependency preparation step and inspect actually published Java image variants.
Add native MVC JSON, BIGINT validation, parameterized JDBC reads, per-request direct recursion, bounded database startup and standalone health checks. Run the existing red tests against immutable dependency candidates before importing their Git objects. No official cohort or result changes.
Attach the six reviewed bootstrap blobs and remove the temporary contents-write object-import job. Subsequent builds validate committed lock/checksum data without regeneration.
Cover actual application startup failures versus Docker launch errors, secret suppression, graceful exit, OOM/restart rejection, missing inspect fields and bounded pool counts before adding the acceptance harness.
Add strict lifecycle/pool evidence validation, isolated real-PostgreSQL acceptance, native BIGINT and changed-row checks, non-root/resource/process constraints and owned cleanup. Read runtime versions from committed dependency evidence without invoking a toolchain. Container integration follows before these gates enter normal CI.
…ration Pin base digests and exact AMD64/ARM64 hotfix archive checksums. Build only locked production dependencies and run a non-root direct JVM. Prepare narrowly scoped registry, static metadata and Java-only CI edits on a read-only runner, with real-container and shared-contract gates before explicit blob import. Preserve all existing official cohort and result bytes.
Resolve the observed E402 failures by applying the test entry point's path bootstrap before module imports, without disabling shared lint rules or changing application behavior.
Keep all development jobs read-only, remove the no-longer-needed Git object importer, and retain an exact source bundle for local review. Inspect base image identities without changing dependency pins or publishing any benchmark.
Reproduce the existing fail-closed rejection of the malformed runtime image digest, then use the actual JDK/JRE index identities inspected in development run 35190249988. Preserve exact checksum-verified 25.0.4.1+1 archives, strict Gradle locks and all acceptance checks.
…t policy Use the exact x64 and aarch64 JRE SHA-256 identities from Temurin release assets 523665431 and 523666840. Preserve the independently verified JDK pins and strict build checks. Reproduce malformed-archive rejection locally before correcting the pins. Integrate main's AGENTS.md and local-only investigation/plan cleanup without restoring scratch documents. After successful read-only development gates, import only the existing fifteen explicit integration candidates as immutable Git blobs for reviewed connector-side commit construction; never create refs or publish results from the helper job. Remove temporary development tooling before final PR gates.
Development run 35191432054 reproduced a real image build failure because the pinned Temurin image deliberately removes download utilities. Use architecture-selected scratch stages with ADD --checksum instead of installing floating packages or weakening archive verification. Add fail-closed regressions for malformed, missing, duplicated and wrong-platform archive pins. Confirm the new repository regression fails against the former Dockerfile and all nine acceptance-helper tests pass with the corrected layout. Native tests and real container gates remain required; no official measurement or publication.
Import the exact fifteen reviewed source blobs from successful development run 35192167889, independently verified against its artifact digest and source bundle. Real Java container acceptance, 22 native tests, 186 shared regression tests, 38 contract-runner tests and 14 live Java contract checks passed; the active eight-stack cohort, existing implementations and result bytes remain unchanged. Stage the separately reviewed durable documentation updates through an uncredentialed, before/after-hash-bound helper. Its temporary follow-up job may create only nine explicitly named and content-verified documentation blobs, never refs or publication commits. Remove both temporary helper files before normal PR gates. No official benchmark, release, protection or publisher redesign.
Import the nine exact reviewed public-documentation blobs from successful run 35193242290, independently checked against artifact SHA-256 and the exported source identity. Clearly distinguish nine registered implementations from eight officially measured ones and document the locked Java build, acceptance commands and unverified ARM64 execution boundary. Remove both temporary preparation/workflow files. Fix the expected CI toolchain mapping to include Java after reproducing its KeyError; all 21 permanent workflow tests now pass without weakening the fail-closed aggregate. Preserve generated README result blocks, all result files, historical cohorts and existing application versions. No official benchmark or publication.
PR CI 35194002760 passed Python 3.10 regressions, actionlint, all 21 workflow tests and Ruff, then correctly rejected committed CRLF bytes as trailing whitespace in gradlew.bat. Normalize the Git blob to LF and add launcher-scoped attributes so checkouts still use CRLF for Windows and LF for POSIX. Reproduce the exact whole-PR whitespace failure with default whitespace rules before the fix, then verify the entire candidate passes without relaxing CI or Git settings. Launcher content, dependency pins, application behavior and published results are unchanged.
Normal-CI correction and final candidateNormal PR run 35194002760 passed the Python 3.10 shared regression suite (186 tests), contract-runner suite (38 tests), actionlint, all 21 workflow tests, and Ruff (59 files already formatted; all lint checks passed). The subsequent whole-PR Commit Final candidate tree: The final head's complete normal CI is still pending. The supplementary full local regression replay hit this runtime's command-execution timeout and is not claimed as a pass; the recorded GitHub-hosted suite is the executed complete evidence. No official benchmark or publication was run. |
Summary
Closes #67.
Add
java-spring-bootas the ninth registered, CI-covered implementation. Keepeight-stack-v1active and both historical cohorts frozen. Java has not been officially measured and no synthetic result is added.Verified identities and integration
6e25eb07759bd6eed4de9ab9ee3d1dd35562932b.ad0d02bcf0323153f7228ad5c28319f27ada22eb.5916fff3612e03ea882b2938dbcbf9b4eee741c9.9b92c74cba34bd5a4bfc389075b9bef135131034, completed 2026-09-17 at 07:54:11 UTC.TDD, corrections and verification
Earlier red/green evidence is recorded on #67. Development run 35192167889 exercised actual Linux x86-64 production-container acceptance, 22 native Java tests, 186 shared regressions, 38 contract-runner tests and 14 live Java HTTP checks. Documentation run 35193242290 checked registry/README output and unchanged-result invariants.
Corrections retained fail-closed checks: verified actual image/archive pins; replaced unavailable in-image downloading with architecture-selected
ADD --checksum; completed the Java workflow-language mapping; and normalized the stored Windows Gradle launcher to LF with launcher-scoped checkout attributes. No validation rule was relaxed.Final-head normal PR CI 35194319804 passed all 13 jobs: all nine implementation acceptance/contract jobs, shared, plan, non-publishing smoke and
required. The retained Axum diagnostic also passed.The reconstructed local review snapshot exactly matched the final remote tree. Replayed 42 focused tests successfully (12 Java metadata/registration, 9 acceptance-helper, 21 workflow tests), plus static production-pin validation, registry/README generation checks and whole-scope whitespace/invariant checks. Supplementary local full-contract and whole-site replays hit execution timeouts and are not claimed as passes; the site replay completed its 24 Python tests before timing out in the Node portion. The complete corresponding hosted suites passed in normal CI. Review was self-review, not independent reviewer approval.
Completed post-merge gates
pushon the exact merge commit: all 13 jobs succeeded, including all nine implementations, shared, plan, smoke andrequired. Java production acceptance, 22 native Java tests, 38 contract-runner tests and 14 live Java HTTP checks passed again.deploy / buildanddeploy / deploysucceeded; current-main validation ran inside the deployment lock.10486941394, namedgithub-pages-9b92c74cba34bd5a4bfc389075b9bef135131034-35197629301-1, withpages_build_versionequal to the merge SHA and a successful deployment status.e3133fccf5a0a752643f365350c82635ff3e6dde4c98373c01d0b684c8311083. All 10 distribution files byte-match a fresh local build from the reviewed merge tree, including the latest report, all three immutable history reports and the history index.The retained latest result remains official run
34925168324, attempt 1, measured sourcec8e033ea176366644f5bed5ded12cab79e6fcbeb. Its bytes have SHA-25615f22d39e3b1ab7b73e61effdbaec378767845889ae6ab969cb631c11393e82d. The current Pages deployment SHA is not a new measured-source or publication SHA.Preserved boundaries and limitations
Existing eight application directories, published result/history bytes, generated README result blocks, official benchmark workflow and Pages workflows remain unchanged. Both temporary Java development files are removed.
AGENTS.mdand the local-onlydocs/superpowers//docs/investigations/policy are preserved; no scratch files were committed.No official benchmark, result publication, cohort activation, release/tag, credential/App or protection change was performed. #52 stays deferred and #59 stays open; ordinary Pages success is not producer-to-publication handoff evidence.
ARM64 archive paths/checksums are provided, but actual ARM64 acceptance has not been executed. Direct public-site retrieval was unavailable from this environment (web retrieval rejected; container DNS lookup failed). Deployment and exact distribution bytes are verified; live HTTP/CDN/browser behavior is not claimed. A Java-inclusive official cohort and an appropriate common JVM warm-up profile require a separate decision.