hygiene: finalize GeoIntel public release
Managed validation / Managed repository validation (pull_request) Successful in 1m54s
GeoIntel release gates / Compile, test, contracts and builds (pull_request) Successful in 1m53s
GeoIntel release gates / Python and npm vulnerability policy (pull_request) Failing after 20s
GeoIntel release gates / Production AI image, SBOM and container scan (pull_request) Failing after 12m1s
GeoIntel release gates / Deploy exact gated revision to Unraid (pull_request) Skipped
Managed validation / Managed repository validation (pull_request) Successful in 1m54s
GeoIntel release gates / Compile, test, contracts and builds (pull_request) Successful in 1m53s
GeoIntel release gates / Python and npm vulnerability policy (pull_request) Failing after 20s
GeoIntel release gates / Production AI image, SBOM and container scan (pull_request) Failing after 12m1s
GeoIntel release gates / Deploy exact gated revision to Unraid (pull_request) Skipped
This commit is contained in:
@@ -23,6 +23,8 @@ jobs:
|
|||||||
# Gitea Actions does not consistently evaluate the GitHub-style `||`
|
# Gitea Actions does not consistently evaluate the GitHub-style `||`
|
||||||
# expression for pull-request runs without workflow inputs.
|
# expression for pull-request runs without workflow inputs.
|
||||||
name: Managed repository validation
|
name: Managed repository validation
|
||||||
|
# Public fork code must never execute automatically on the private runner.
|
||||||
|
if: ${{ gitea.event_name != 'pull_request' || gitea.event.pull_request.head.repo.full_name == gitea.repository }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ concurrency:
|
|||||||
jobs:
|
jobs:
|
||||||
quality:
|
quality:
|
||||||
name: Compile, test, contracts and builds
|
name: Compile, test, contracts and builds
|
||||||
|
# Public fork code must never execute automatically on the private runner.
|
||||||
|
if: ${{ gitea.event_name != 'pull_request' || gitea.event.pull_request.head.repo.full_name == gitea.repository }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
steps:
|
steps:
|
||||||
@@ -74,6 +76,7 @@ jobs:
|
|||||||
|
|
||||||
dependency-audit:
|
dependency-audit:
|
||||||
name: Python and npm vulnerability policy
|
name: Python and npm vulnerability policy
|
||||||
|
if: ${{ gitea.event_name != 'pull_request' || gitea.event.pull_request.head.repo.full_name == gitea.repository }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 20
|
timeout-minutes: 20
|
||||||
steps:
|
steps:
|
||||||
@@ -112,6 +115,7 @@ jobs:
|
|||||||
|
|
||||||
container:
|
container:
|
||||||
name: Production AI image, SBOM and container scan
|
name: Production AI image, SBOM and container scan
|
||||||
|
if: ${{ gitea.event_name != 'pull_request' || gitea.event.pull_request.head.repo.full_name == gitea.repository }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 120
|
timeout-minutes: 120
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -257,6 +257,9 @@ originele campagnebeelden staan in
|
|||||||
WebP-varianten worden door de applicatie gebruikt; de PNG-bronnen blijven
|
WebP-varianten worden door de applicatie gebruikt; de PNG-bronnen blijven
|
||||||
beschikbaar voor drukwerk en portfolio-opmaak.
|
beschikbaar voor drukwerk en portfolio-opmaak.
|
||||||
|
|
||||||
|
Herkomst en hergebruik van deze bestanden zijn vastgelegd in
|
||||||
|
[Asset provenance and redistribution](docs/ASSET_PROVENANCE.md).
|
||||||
|
|
||||||
Actuele rasterassets:
|
Actuele rasterassets:
|
||||||
|
|
||||||
| Asset | Gebruik |
|
| Asset | Gebruik |
|
||||||
|
|||||||
+1
-1
@@ -8,7 +8,7 @@ explicitly documented otherwise.
|
|||||||
|
|
||||||
## Reporting vulnerabilities
|
## Reporting vulnerabilities
|
||||||
|
|
||||||
Report suspected security issues privately to the repository owner. Do not put
|
Report suspected security issues privately to `security@itworx.tech`. Do not put
|
||||||
credentials, access tokens, private infrastructure, precise sensitive
|
credentials, access tokens, private infrastructure, precise sensitive
|
||||||
locations, proprietary imagery or datasets, model artifacts, production
|
locations, proprietary imagery or datasets, model artifacts, production
|
||||||
database contents, personal data or exploit-sensitive evidence in a public
|
database contents, personal data or exploit-sensitive evidence in a public
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
# Asset provenance and redistribution
|
||||||
|
|
||||||
|
The visual files distributed with GeoIntel were created for this project and
|
||||||
|
are released by the repository owner with the source under Apache-2.0. They do
|
||||||
|
not include private operator data, proprietary model weights, unpublished
|
||||||
|
imagery, or a bundled third-party geospatial dataset.
|
||||||
|
|
||||||
|
## Project artwork
|
||||||
|
|
||||||
|
The original PNG masters in `frontend/design-assets/portfolio/` and their
|
||||||
|
optimized WebP derivatives in `frontend/public/portfolio/` are project artwork.
|
||||||
|
The WebP files are mechanical resizes of the corresponding masters; the
|
||||||
|
reproduction command is documented in `frontend/design-assets/README.md`.
|
||||||
|
|
||||||
|
## Product captures and generated documents
|
||||||
|
|
||||||
|
Files in `docs/assets/portfolio/` are captures or diagrams of the GeoIntel
|
||||||
|
public-demo interface using synthetic/public demonstration content. The case
|
||||||
|
study at `output/pdf/geointel-case-study.pdf` is generated from repository
|
||||||
|
sources by `scripts/create_portfolio_case_study.py`.
|
||||||
|
|
||||||
|
Any provider name, logo, map attribution, or dataset title visible inside a
|
||||||
|
capture remains the property of its respective owner and is included only to
|
||||||
|
identify the source or reproduce the application's attribution UI. This
|
||||||
|
repository does not relicense or redistribute the underlying provider data.
|
||||||
|
|
||||||
|
## Integrity
|
||||||
|
|
||||||
|
Release review verifies these paths through the repository's normal Git object
|
||||||
|
hashes and the public-release gate. Regenerated derivatives must come from a
|
||||||
|
tracked master or reproducible repository source; do not replace them with
|
||||||
|
unlicensed stock material, private screenshots, or local operator exports.
|
||||||
@@ -4,6 +4,19 @@ This public log records release-relevant repository work only. Machine-specific
|
|||||||
paths, production database state, deployment addresses, model outputs and
|
paths, production database state, deployment addresses, model outputs and
|
||||||
generated evidence remain in controlled local storage.
|
generated evidence remain in controlled local storage.
|
||||||
|
|
||||||
|
## 2026-09-02 — public-release handoff
|
||||||
|
|
||||||
|
- Added an explicit monitored reporting address to `SECURITY.md`.
|
||||||
|
- Documented ownership, redistribution boundaries and regeneration of the
|
||||||
|
retained portfolio assets.
|
||||||
|
- Confirmed the existing Linux/CUDA/Ultralytics lock is platform-specific,
|
||||||
|
version-pinned and SHA-256 hashed.
|
||||||
|
- Prevented pull requests from external public forks from executing code on
|
||||||
|
the private validation runners; push and maintainer-dispatch gates remain.
|
||||||
|
- Re-ran repository hygiene and full-history secret scanning successfully.
|
||||||
|
- The complete backend, frontend, migration and container gate remains the
|
||||||
|
required exact-commit check before changing repository visibility.
|
||||||
|
|
||||||
## 2026-08-31 — public-release readiness
|
## 2026-08-31 — public-release readiness
|
||||||
|
|
||||||
- Confirmed Apache-2.0 as the repository license.
|
- Confirmed Apache-2.0 as the repository license.
|
||||||
|
|||||||
+3
-3
@@ -5,10 +5,10 @@
|
|||||||
- [ ] Pass the complete backend, frontend, migration and container release gate.
|
- [ ] Pass the complete backend, frontend, migration and container release gate.
|
||||||
- [ ] Verify the clean-root publication candidate and local all-ref recovery
|
- [ ] Verify the clean-root publication candidate and local all-ref recovery
|
||||||
bundle.
|
bundle.
|
||||||
- [ ] Confirm redistribution/provenance for the retained portfolio screenshots.
|
- [x] Confirm redistribution/provenance for the retained portfolio screenshots.
|
||||||
- [ ] Configure a monitored private security-reporting address or Gitea security
|
- [x] Configure a monitored private security-reporting address or Gitea security
|
||||||
channel in `SECURITY.md`.
|
channel in `SECURITY.md`.
|
||||||
- [ ] Finish a fully hashed, platform-specific lock for optional CUDA/Ultralytics
|
- [x] Finish a fully hashed, platform-specific lock for optional CUDA/Ultralytics
|
||||||
packages; base container images are already digest-pinned.
|
packages; base container images are already digest-pinned.
|
||||||
|
|
||||||
## Product work
|
## Product work
|
||||||
|
|||||||
Reference in New Issue
Block a user