Skip to content

Required Go validation cannot provision isolated PostgreSQL test fixtures #573

Open
3 of 3 issues completed

Description

@devantler

🤖 Generated by the Agentic Engineer

Delivered on: 2026-10-13

Description

The shared Go Test and Coverage jobs originally ran consumer tests without a disposable database fixture. Database-backed applications that deliberately refused missing fixture configuration could not pass input-free required validation, even when their own CI provisioned an isolated service and passed the full race suite. The maintained contract and compatible legacy delivery have since landed; this issue now tracks the remaining end-to-end rollout acceptance described below.

Steps to Reproduce

  1. Use a Go application whose integration tests require explicit runtime and migration database URLs and refuse skipping database tests.
  2. Run the shared input-free required workflow. Its Test and Coverage jobs provide neither a service nor fixture URLs.
  3. Run the same full suite against a fresh local PostgreSQL 17 fixture with separate restricted roles; it passes.

Expected Behavior

A source-reviewed, absent-by-default declaration beside the resolved module can opt into a strictly typed disposable PostgreSQL fixture for each Test and Coverage job. Existing consumers start no service unless explicitly configured. Non-fixture test commands and fail-closed missing-fixture behavior remain unchanged; opted-in fixture runs disable cached verdicts while retaining full test scope and race/coverage settings.

Actual Behavior

The original reproduction failed when both fixture URLs were unset and passed with a new disposable fixture. That implementation gap has since been delivered: the maintained contract and compatible legacy mirror have merged, and the historical hosted checkpoints below record actual database tests. The pilot required-workflow checkpoint also records Test and race-Coverage execution with separate disposable fixtures and runner teardown at the merged pilot module contents.\n\nSee the released legacy checkpoint and pilot required-workflow checkpoint. Remaining acceptance is release-gate retirement and any outstanding cleanup acceptance; runner teardown is not an independent later container/volume absence check. The separate production-activation prerequisites devantler-tech/monorepo#3936 and #3939 remain open as of 2026-10-15. This issue remains open; the body correction grants no rollout or production activation.

Acceptance Criteria

  • Use immutable catalogue code to parse a bounded, tracked, closed-schema declaration and generate local URLs and provisioning SQL.
  • No remote endpoints, credentials, arbitrary commands, arbitrary scripts, container options or caller-selected images.
  • Keep owner, migrator and runtime roles separate; preserve least privilege and fixture-only data.
  • Test and Coverage each receive a fresh digest-pinned PostgreSQL 17 service; unconfigured consumers start none.
  • Declaration changes select actual Test and Coverage execution.
  • Prove healthy, absent, malformed, unsafe, failed-provisioning and privilege controls plus real native database tests.
  • Deliver the maintained contract first, then only the urgent compatible legacy mirror and explicit consumer adoption. Never suppress checks, skip database tests or alter protection.
  • Keep this issue open until hosted maintained/legacy validation, pilot adoption and release-gate retirement are verified. A source-only PR is part of delivery, not completion of the whole rollout.

Delivery rationale

High priority: this blocks completion of an already-started portal validation slice. Medium end-to-end effort includes shared and legacy validation, substantive review, consumer adoption and publication. No paid service or production database is involved.

Primary references

Part of #287.

Activity

  1. added theissue type on Oct 12, 2026
  2. updated Priority High and Effort Medium on Oct 12, 2026
  3. moved this to 📥 Backlog in 🌊 Project Boardon Oct 12, 2026
  4. self-assigned this
    on Oct 12, 2026
  5. moved this from 📥 Backlog to 🏃🏻‍♂️ In Progress in 🌊 Project Boardon Oct 12, 2026
  6. added 2 commits that reference this issue on Oct 12, 2026
  7. moved this from 🏃🏻‍♂️ In Progress to 👀 In Review in 🌊 Project Boardon Oct 12, 2026
  8. devantler commented on Oct 12, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    The maintained fixture implementation is merged in #574 at dacbc94, and its urgent legacy mirror is now merged in actions#1411 at 52e17809f0eb2be98184930325092d7aa31302e3. The mirror had complete current-head native CI, actual isolated PostgreSQL Test/race-Coverage receipts and a substantive CodeRabbit green before its normal protected exact-head squash merge; actions#1410 is closed.

    The normal release pipeline merged actions#1412 and published v13.10.10 at the signed release commit 6f3d2b43ca2f00c772d4eb62c0c0c0cfa7a23a53. The release/tag and successful run 38308060112 were verified directly. Business-site#63 published its signed adoption/runtime corrections at ef9f6d24f4156125ee8658ec92f671b7aef52e8e. Its real organization-required Test and race-Coverage jobs successfully provisioned isolated PostgreSQL-17 fixtures through that exact immutable helper, passed all four module packages and removed their service containers. Source CI 38308430588 also completed successfully.

    The consumer now has signed source-quality corrections at 12e97e54a54277f7e2d9a0a18ddbd39abce57f52. Source CI 38314849880 succeeds, and required run 38314850754 again passes actual Test/race-Coverage, build, tidy, vulnerability and dead-code jobs. Its exact-head MegaLinter result confirms zero duplication, CSS and djlint findings; the remaining template/context/dictionary/link/fictional-fixture reports are preserved, never waived.

    The shared Go compatibility repair #578 is now normally merged at d3bd1ca with fresh substantive current-head review and complete post-promotion CI, then published as v7.10.2 with its tag bound to that exact squash. The urgent frozen-catalogue mirror actions#1414 is draft at a34f19c1e653f6fca2609d47cfc0a9398037e4f4 with native CI still pending. Compiler compatibility remains #577 until release and actual consumer verification; container root-configuration loading is independently tracked in #579.

    The consumer remains draft. Actual final-head complete validation, substantive review, protected merge and source-owned distribution/publication remain outstanding. This rollout stays OPEN; no test, protection, native code-quality evidence or portal launch gate is waived.

  9. added a commit that references this issue on Oct 12, 2026
  10. devantler commented on Oct 12, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    Hosted fixture checkpoint, 2026-10-12 23:06 UTC: Legacy Coverage job 115045791412, on actions#1414 head dba6239e1dbf2520876059f62bbbe29920e880ea, failed before any coverage or database test ran. The PostgreSQL service initialized successfully and accepted connections at 23:05:03; its retained server log then records a fast shutdown at 23:05:23. Fixture provisioning at 23:06:44 consequently found that exact service container stopped.

    The runner journal records a Docker restart at 23:05:21. Disk reclamation began later, at 23:05:24, so it cannot explain the preceding shutdown. The restart is a concrete service-lifecycle lead; the initiating cause and whether it recurs remain unproven. The failure is not a database privilege assertion, failed application test, or evidence that the linter compatibility change caused it.

    Keep this rollout acceptance open. Before collecting another verdict, establish service continuity through runner initialization and distinguish an environment interruption from a reproducible fixture defect while retaining hardening, isolated roles, full test scope and failure propagation. Earlier successful Test/Coverage receipts remain valid for their own runs; this failed job supplies no new acceptance pass. No workflow was rerun, check suppressed, or active delivery branch changed in that checkpoint.

    New consumer checkpoint, 2026-10-13 00:41 UTC: The urgent producer repair is now merged in actions#1414 and released as v13.10.11. Business-site's current signed head 3ada2bfc5d7fe3d7187a34e3bdbf09c9ef446fc3 runs the immutable provisioner at release commit 10ab0f1c94b951c16f6db58d094b42d49e2f775f, with the fixed service restart policy and final TCP-readiness check. Nevertheless, Test job 115070717540 fails during fixture preparation, before application tests run.

    Its service was initially healthy. The retained server log records a subsequent fast shutdown, and the runner journal records two Docker restarts during hardening initialization. The exact bound service still fails all thirty readiness attempts and emits the bounded TCP-readiness failure. That is a newly observed recurrence despite the restart-policy correction; it does not establish why automatic restart failed, and no container state beyond the recorded observations is claimed.

    The same head's Coverage job 115070717464 succeeds with the actual database/race suite, and source CI 38327781571 succeeds. Required Go run 38327782114 remains FAILURE: Test fixture setup and the separately tracked runtime-template link checker both fail. All twelve jobs and all thirty-six native contexts were read; no pending context remains. These distinct results are not a clean overall consumer rollout.

    Next repair must reproduce interruption of the exact owned disposable service through runner initialization, preserve the immutable image/environment/container binding and restricted roles, and prove successful complete provisioning before emitting either fixture URL. Retain refusal of wrong service identity, failed inspection/start/readiness, partial SQL and privilege failures. Never retry partially executed provisioning or weaken runner hardening to pass the pilot. Fresh native Test and race-Coverage proof is still required after any correction.

    This observation changes no branch, protection, portal release gate or deployment. No retry was requested in this checkpoint, and #573 remains OPEN.

  11. 8 remaining items

  12. added a commit that references this issue on Oct 13, 2026
  13. devantler commented on Oct 13, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    The maintained stopped-service recovery is delivered in #586 at 8ed2071ebe18864b8b86efe0f6b1df8d73d2a6ab and published as v7.10.4. Its release run and post-merge CI both completed successfully at that exact revision. This confirms maintained source validation and release publication; the legacy mirror and complete pilot rollout are still outstanding.

    The separate manifest publication run failed before uploading any artifact: its OIDC setup could not resolve the hosted token endpoint. The publication workflow itself is unchanged from the previous successful release. One bounded failed-job recovery was requested; attempt 2 was read back in progress at the same released revision. No recovery success or cluster adoption is claimed, and no hardening or publication check was changed.

    Keep #573 open. Next delivery remains the urgent compatible legacy recovery mirror, actual native Test/race-Coverage and cleanup proof, and explicit consumer adoption; the separate publication recovery also needs its terminal result collected. Earlier fixture receipts do not prove those remaining conditions.

  14. added a commit that references this issue on Oct 13, 2026
  15. devantler commented on Oct 13, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    Publication recovery checkpoint: attempt 2 of manifest publication run 38377204300 completed successfully at released revision 8ed2071ebe18864b8b86efe0f6b1df8d73d2a6ab. Native job 115247919690 records successful immutable-helper checkout and Sign & promote manifests artifact. The original failed attempt remains part of the history; no additional retry or workflow change was made by this run.

    This collects the terminal recovery result left pending in the previous checkpoint. It does not prove cluster adoption, the compatible legacy mirror, or the complete pilot rollout. Keep #573 open for those remaining acceptance conditions.

  16. added a commit that references this issue on Oct 13, 2026
  17. devantler commented on Oct 13, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    Legacy hosted-validation checkpoint: CI run 38397346200 completed successfully on actions#1418 revision e4f19e8fe3943c396f3160d4cb538722ff13c3bb. All 241 native jobs were collected across the complete paginated response.

    The native recovery job exercised a deliberately stopped service, recovered that same disposable service, and passed actual database tests with restricted roles. Its log separately confirms the cleanup refusal controls and verified removal. The isolated Test and Coverage jobs both completed fixture preparation and their real test paths successfully.

    This collects the hosted behavior left pending by the legacy mirror. It establishes proof for this PR revision only: #1418 is still a draft awaiting substantive current-head review and merge, and the required code-quality rule has no readable verdict. No review request, retry, branch change, promotion, merge or deployment was performed in this checkpoint; the recent delivery writer is preserved.

    Keep #573 open for released legacy delivery, explicit pilot adoption and release-gate retirement. Passing source fixtures does not complete that rollout.

  18. added a commit that references this issue on Oct 13, 2026
  19. devantler commented on Oct 13, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    Released legacy checkpoint: actions#1418 has now merged from reviewed source e4f19e8fe3943c396f3160d4cb538722ff13c3bb as 13da43d5196ddcff0119c58090489e335ba7105f. Post-merge CI 38414368910 completed successfully at that merge, with all 237 native jobs collected across three complete pages and no failed or pending job.

    The actual native fixture job confirms stopped-service recovery, real database and restricted-role tests, and the cleanup refusal controls. The isolated Test and race Coverage jobs also completed successfully.

    Release 38415584294 succeeded at ea4df9004d4ab43b6c9af5b0c5f55712f7211328, and the published v13.10.12 release binds that exact revision. The four producer/admission/recovery/cleanup files are byte-identical across the PR source, merge and release trees. Thus the legacy mirror is released, replacing the earlier draft-only checkpoint on this issue. Its delivery issue actions#1417 is already completed; this run did not merge another PR.

    Keep #573 open for complete pilot adoption and release-gate retirement. This checkpoint verifies legacy delivery and publication, not those remaining rollout conditions or production database behavior. No rerun, deployment or source mutation was made.

  20. added a commit that references this issue on Oct 13, 2026
  21. devantler commented on Oct 13, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    Pilot acceptance checkpoint: business-site main e6b5b44d1896543e5e44b8f0e5e4a9cb6f466fe5 retains the tracked module-local disposable PostgreSQL declaration. Its native portal identity job and complete CI aggregate report success at that source. These are application-owned checks; this observation does not establish maintained/legacy required Test and race-Coverage execution, service recovery, or cleanup at the pilot revision. The job-log and required-workflow reads needed for that join were unavailable under the current GitHub REST request limit.

    The pilot’s reviewed server contract also keeps production activation off until monorepo#3936 and monorepo#3939 clear. Both remain open; #3939 currently has three open native prerequisites. Successful fixture publication or source CI therefore cannot authorize that activation or satisfy the rollout’s release-gate retirement criterion.

    Keep #573 open. The next check must bind the pilot’s actual organization-required Test/Coverage and cleanup receipts to released immutable catalogue code, then verify release-gate retirement against its separate deployment prerequisites. No source, protection, feature flag, workflow run, or production resource was changed.

  22. added a commit that references this issue on Oct 13, 2026
  23. devantler commented on Oct 13, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    Pilot required-workflow checkpoint, 2026-10-13: the evidence unavailable at the previous checkpoint is now collected. Required Go validation 38450251958 completed successfully for business-site#74 final head e0d3e6391746d47598fbbf103a3b49b58419d192; all twelve native jobs were read without a pagination cap.

    The actual Test job and race-Coverage job each prepared its disposable fixture and passed all five Go packages with cached verdicts disabled. Coverage retained race detection and atomic coverage. Their logs bind the immutable provisioner to released actions v13.10.12 source ea4df9004d4ab43b6c9af5b0c5f55712f7211328; the release record confirms that source. Both jobs record successful runner removal of their separate service container and network. This is the runner's teardown receipt, not an independent later container or volume absence check, and this pilot did not deliberately interrupt its service to exercise recovery.

    The tested synthetic merge 02cdd1d3fbffa40a23b6948c5936604ecac1526c, final PR head and merged main e6b5b44d1896543e5e44b8f0e5e4a9cb6f466fe5 have the identical complete server subtree 4f9e99a5195b5f9166a889eeffb6f1031071a91e. These receipts therefore cover the merged pilot's module contents, including its tracked fixture declaration, rather than merely an earlier source revision.

    Keep #573 open for release-gate retirement and any remaining cleanup acceptance. The reviewed server contract still requires monorepo#3936 and monorepo#3939 before production activation. Both are open, and #3939 has three open native prerequisites. This checkpoint performs no rerun, source change, protection change, flag activation or production write.

  24. moved this from 👀 In Review to 🫴 Ready in 🌊 Project Boardon Oct 18, 2026
  25. devantler commented on Oct 18, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    Board reconciliation, 2026-10-18: returned from In Review to Ready.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Fields

Priority

High

Effort

Medium

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions