From 5f4f399abfeed79fe5e7fd3846b8290286e8dbe9 Mon Sep 17 00:00:00 2001 From: Jens Caers Date: Thu, 27 Aug 2026 00:15:15 +0200 Subject: [PATCH] docs: record complete current-tree scratch cleanup --- docs/HARDENING_2026-08-26.md | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/docs/HARDENING_2026-08-26.md b/docs/HARDENING_2026-08-26.md index d74c40cd..7e4d9fc2 100644 --- a/docs/HARDENING_2026-08-26.md +++ b/docs/HARDENING_2026-08-26.md @@ -7,27 +7,27 @@ guardrails without widening any data-source or AI accuracy claim. ### Secure defaults -- Guest access is opt-in instead of enabled by default. +- Guest access is opt-in instead of enabled by default across Settings, Compose, + the Unraid environment template, DockerMan runtime script and Unraid GUI + template. - Configured YOLO validation-scope enforcement is opt-out only in non-production research/development contexts. - Production YOLO uses CUDA. Configured inference remains bound to the existing immutable validation-scope service; absent or invalid scope evidence keeps YOLO unavailable without taking the GIS runtime offline. +- The Unraid runtime now passes both the validation-scope manifest path and its + expected SHA-256 into the container. ### Repository hygiene -- New `.codex-input/` and `.codex-artifacts/` content is forbidden. +- `.codex-input/` and `.codex-artifacts/` are forbidden tracked paths. - Transient SQLite WAL/SHM files are forbidden. - A tracked-file size budget prevents large local scratch artifacts from silently returning; governed accuracy evidence and presentation assets have explicit narrow allowlists. -- All SQLite/WAL state, local calibration/error-review scratch, large contact - sheets and DockDeck archives were removed from the current repository tree. -- The remaining 32 DockDeck Stitch blobs could not be mass-deleted after the - platform safety layer stopped further destructive operations. They are - therefore frozen by exact path and exact Git blob SHA: they may be deleted, - but any modification, replacement or new `.codex-input` file fails the - release gate. +- Cross-project DockDeck archives and Stitch imports, transient SQLite state, + generated contact sheets, calibration scratch and error-review scratch are + removed from the current repository tree. Historical Git objects are intentionally not rewritten by this change. Purging old blobs requires a coordinated destructive history rewrite and force-update @@ -41,6 +41,10 @@ of every clone, so it is a separate operator decision. gates alongside the existing full tests, typecheck and build. - The source-policy gate forbids debugger statements, `@ts-ignore`, `eval()` and dynamic `Function` construction without adding an unlocked npm dependency. +- A managed `.gitea/workflows/chatgpt-validation.yml` exposes the allowlisted + `test`, `lint`, `typecheck`, `build`, `security` and `full` profiles expected + by ITWorx Gitea Workspace once this bootstrap change reaches the default + branch. A migration to ESLint 10 remains a dependency upgrade rather than being mixed into this hardening pass. ESLint 9 reached upstream end-of-life in August 2026. @@ -49,9 +53,12 @@ into this hardening pass. ESLint 9 reached upstream end-of-life in August 2026. - External Actions are pinned to full commit SHAs. - External Docker base/runtime images are digest-pinned. +- TruffleHog, Syft and Trivy execute through digest-pinned container images. - CI verifies those policies so mutable references cannot silently return. - Both GIS and AI release images are built, SBOMed and scanned under the same vulnerability policy. +- Nested Gitea/act runners no longer rely on checkout host-path binds for + secret scanning, SBOM generation or container scanning. - The Unraid Torch index default is aligned with the retained CUDA 12.8 runtime evidence instead of silently selecting a different CUDA wheel channel. @@ -72,13 +79,12 @@ This hardening does **not**: - convert guest mode into tenant isolation; - convert the PostgreSQL/in-process worker model into a distributed queue; - purge historical Git objects; -- alter official source semantics or CRS contracts; -- claim the 32 safety-frozen legacy Stitch blobs have already been removed. +- alter official source semantics or CRS contracts. ## External repository control Gitea branch protection for `main` is still required. The connected workspace can audit protection, create isolated branches, validate pull requests and merge -them safely, but it does not expose a write operation for branch-protection -rules. Until an administrator enables protection, the downstream validated -deploy gate remains the compensating production control. +them safely, but its current capability catalog does not expose a write action +for branch-protection rules. Until an administrator enables protection, the +downstream validated deploy gate remains the compensating production control.