Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
469 commits
Select commit Hold shift + click to select a range
70a4a56
Merge pull request #187 from codex/final-phase5-handoff
harrisonoconnorhover Aug 11, 2026
9623e66
Add Azure launcher contract
harrisonoconnorhover Aug 11, 2026
3b7d339
Merge pull request #188 from harrisonoconnorhover/codex/phase6-azure-…
harrisonoconnorhover Aug 11, 2026
808e30c
Add plan-first Azure infrastructure
harrisonoconnorhover Aug 11, 2026
8bafa4e
Merge pull request #189 from harrisonoconnorhover/codex/phase6-azure-…
harrisonoconnorhover Aug 11, 2026
8c71f97
Add Azure image promotion and job operations
harrisonoconnorhover Aug 11, 2026
e78e9e3
Merge pull request #190 from harrisonoconnorhover/codex/phase6-azure-…
harrisonoconnorhover Aug 11, 2026
129d667
feat: prepare Azure Google workload federation
harrisonoconnorhover Aug 11, 2026
e73d08a
docs: record federation review checkpoint
harrisonoconnorhover Aug 11, 2026
9a12b5c
Prepare Azure-to-Google workload federation (#191)
harrisonoconnorhover Aug 11, 2026
1eb5259
fix: authorize the Azure proof secret operator
harrisonoconnorhover Aug 11, 2026
fc35f1c
Authorize the Azure proof secret operator (#192)
harrisonoconnorhover Aug 11, 2026
6e2ab09
Fail closed on Azure Key Vault network access
harrisonoconnorhover Aug 11, 2026
a75e511
Merge pull request #193 from harrisonoconnorhover/codex/phase6-azure-…
harrisonoconnorhover Aug 11, 2026
77db677
Add canonical Azure acceptance preflight
harrisonoconnorhover Aug 11, 2026
eeaccf3
Merge pull request #194 from harrisonoconnorhover/codex/phase6-azure-…
harrisonoconnorhover Aug 11, 2026
41de097
Correct Azure candidate sequencing
harrisonoconnorhover Aug 11, 2026
a67e700
Merge pull request #195 from harrisonoconnorhover/codex/phase6-azure-…
harrisonoconnorhover Aug 11, 2026
97b5996
fix(azure): retry stage-zero state RBAC propagation (#196)
harrisonoconnorhover Aug 11, 2026
8a8e3bc
fix(azure): pin consumption workload profile
harrisonoconnorhover Aug 11, 2026
0409f8e
Merge pull request #197 from harrisonoconnorhover/codex/phase6-azure-…
harrisonoconnorhover Aug 11, 2026
eff4bde
fix(azure): pin job consumption profile
harrisonoconnorhover Aug 11, 2026
190bccb
Merge pull request #198 from harrisonoconnorhover/codex/phase6-azure-…
harrisonoconnorhover Aug 11, 2026
5f5be47
fix(azure): stage key vault job bootstrap
harrisonoconnorhover Aug 11, 2026
d117fe0
Merge pull request #199 from harrisonoconnorhover/codex/phase6-azure-…
harrisonoconnorhover Aug 11, 2026
105dc74
fix(runtime): publish source-only metadata
harrisonoconnorhover Aug 11, 2026
35758a7
Merge pull request #200 from harrisonoconnorhover/codex/phase6-source…
harrisonoconnorhover Aug 11, 2026
a89b6da
Report Azure cancellation as requested state
harrisonoconnorhover Aug 11, 2026
a8ad0d4
Merge pull request #201 from harrisonoconnorhover/codex/phase6-azure-…
harrisonoconnorhover Aug 11, 2026
b36d4ea
fix(azure): require explicit GCP project for federation plan
harrisonoconnorhover Aug 11, 2026
d14eff2
Merge pull request #202 from harrisonoconnorhover/codex/phase6-azure-…
harrisonoconnorhover Aug 11, 2026
78948ab
Route GCP project into Azure live operations
harrisonoconnorhover Aug 11, 2026
0c9d052
Merge pull request #203 from harrisonoconnorhover/codex/phase6-azure-…
harrisonoconnorhover Aug 11, 2026
bf23e99
Accept Azure null empty secret collections
harrisonoconnorhover Aug 11, 2026
1f4a742
Merge pull request #204 from harrisonoconnorhover/codex/phase6-azure-…
harrisonoconnorhover Aug 11, 2026
3101d7a
Transport Azure runtime arguments safely
harrisonoconnorhover Aug 11, 2026
8bf53b6
Merge pull request #205 from harrisonoconnorhover/codex/phase6-azure-…
harrisonoconnorhover Aug 11, 2026
45f5c07
Preserve Azure execution container contract
harrisonoconnorhover Aug 11, 2026
97cdeaf
Merge pull request #206 from harrisonoconnorhover/codex/phase6-azure-…
harrisonoconnorhover Aug 11, 2026
4bfca88
Preserve Azure supplier across Google auth clones
harrisonoconnorhover Aug 11, 2026
f188247
Merge pull request #207 from harrisonoconnorhover/codex/phase6-azure-…
harrisonoconnorhover Aug 11, 2026
06b64cc
fix: install v2 plugins without deployment selection
harrisonoconnorhover Aug 11, 2026
eb074c5
Merge pull request #208 from harrisonoconnorhover/codex/phase6-plugin…
harrisonoconnorhover Aug 11, 2026
22b6324
Prepare 0.9.0rc1 release candidate
harrisonoconnorhover Aug 12, 2026
2b90f7a
Merge pull request #209 from harrisonoconnorhover/codex/release-0.9.0rc1
harrisonoconnorhover Aug 12, 2026
09d0d91
docs: record Phase 6 Azure acceptance
harrisonoconnorhover Aug 12, 2026
0197d93
Merge pull request #210 from harrisonoconnorhover/codex/phase6-azure-…
harrisonoconnorhover Aug 12, 2026
1145b07
docs: finalize Phase 6 handoff
harrisonoconnorhover Aug 12, 2026
1079fe4
Merge pull request #211 from harrisonoconnorhover/codex/phase6-comple…
harrisonoconnorhover Aug 12, 2026
75eb052
Add OCI Vault provider runtime
harrisonoconnorhover Aug 12, 2026
788a30d
Document OCI Vault test fixture
harrisonoconnorhover Aug 12, 2026
e8e2d14
Merge pull request #212 from harrisonoconnorhover/codex/phase7-oci-co…
harrisonoconnorhover Aug 12, 2026
410b64c
Add OCI Container Instances projection
harrisonoconnorhover Aug 12, 2026
058046f
Merge pull request #213 from harrisonoconnorhover/codex/phase7-oci-la…
harrisonoconnorhover Aug 12, 2026
2f0c3b6
Add OCI Terraform foundation
harrisonoconnorhover Aug 12, 2026
17a008d
Merge pull request #214 from harrisonoconnorhover/codex/phase7-oci-infra
harrisonoconnorhover Aug 12, 2026
33154a0
feat(oci): add lifecycle controller and operations
harrisonoconnorhover Aug 12, 2026
e79e30b
Merge pull request #215 from harrisonoconnorhover/codex/phase7-oci-li…
harrisonoconnorhover Aug 12, 2026
be9d797
feat(oci): add digest-preserving OCIR promotion
harrisonoconnorhover Aug 12, 2026
fae47a3
Merge pull request #216 from harrisonoconnorhover/codex/phase7-oci-ar…
harrisonoconnorhover Aug 12, 2026
cffa9d0
feat(oci): publish controller from reviewed wheel
harrisonoconnorhover Aug 12, 2026
653e93f
Merge pull request #217 from harrisonoconnorhover/codex/phase7-oci-co…
harrisonoconnorhover Aug 12, 2026
49bab65
Prepare 0.9.0rc2 release candidate
harrisonoconnorhover Aug 12, 2026
7c94992
Merge pull request #218 from harrisonoconnorhover/codex/release-0.9.0rc2
harrisonoconnorhover Aug 12, 2026
f902e3f
fix(oci): preserve digest identity without tag immutability
harrisonoconnorhover Aug 12, 2026
cf8d808
test(oci): assert supported registry contract
harrisonoconnorhover Aug 12, 2026
1cc7b1e
Merge pull request #219 from harrisonoconnorhover/codex/phase7-ocir-d…
harrisonoconnorhover Aug 12, 2026
817fee7
Prepare 0.9.0rc3 release candidate
harrisonoconnorhover Aug 12, 2026
7c9b161
Merge pull request #220 from harrisonoconnorhover/codex/release-0.9.0rc3
harrisonoconnorhover Aug 12, 2026
52fcbeb
fix(oci): schedule automatic key rotation
harrisonoconnorhover Aug 12, 2026
b5a650e
Merge pull request #221 from harrisonoconnorhover/codex/phase7-oci-ke…
harrisonoconnorhover Aug 12, 2026
39881c0
fix(oci): verify exact repository metadata
harrisonoconnorhover Aug 12, 2026
32ac5c8
Merge pull request #222 from harrisonoconnorhover/codex/phase7-ocir-r…
harrisonoconnorhover Aug 12, 2026
e6fc14a
Prepare 0.9.0rc4 release candidate (#223)
harrisonoconnorhover Aug 12, 2026
75f7456
Respect OCI default Vault rotation limits (#224)
harrisonoconnorhover Aug 12, 2026
9b4448d
release: prepare 0.9.0rc5 (#225)
harrisonoconnorhover Aug 12, 2026
b2f5288
fix(oci): preserve Buildx in scoped Docker config
harrisonoconnorhover Aug 12, 2026
4be855d
Merge pull request #226 from harrisonoconnorhover/codex/oci-isolated-…
harrisonoconnorhover Aug 12, 2026
ee477ae
release: prepare 0.9.0rc6
harrisonoconnorhover Aug 12, 2026
a1273ec
Merge pull request #227 from harrisonoconnorhover/codex/release-0.9.0rc6
harrisonoconnorhover Aug 12, 2026
55fa677
Fix OCIR scoped token authentication
harrisonoconnorhover Aug 12, 2026
7f79efb
Format OCIR credential tests
harrisonoconnorhover Aug 12, 2026
083c82b
Merge pull request #228 from harrisonoconnorhover/codex/fix-ocir-shor…
harrisonoconnorhover Aug 12, 2026
90d9cb1
release: prepare 0.9.0rc7
harrisonoconnorhover Aug 12, 2026
31abaeb
Merge pull request #229 from harrisonoconnorhover/codex/release-0.9.0rc7
harrisonoconnorhover Aug 12, 2026
cfb2f87
fix(oci): preserve scoped registry bearer token
harrisonoconnorhover Aug 12, 2026
3687a86
Merge pull request #230 from harrisonoconnorhover/codex/fix-ocir-regi…
harrisonoconnorhover Aug 12, 2026
1889c2a
release: prepare 0.9.0rc8
harrisonoconnorhover Aug 12, 2026
f889c99
Merge pull request #231 from harrisonoconnorhover/codex/release-0.9.0rc8
harrisonoconnorhover Aug 12, 2026
52f20a5
fix(oci): accept live vault OCID shape
harrisonoconnorhover Aug 12, 2026
94746ca
style: format OCI Vault OCID parser
harrisonoconnorhover Aug 12, 2026
bb9a0f2
Merge pull request #232 from harrisonoconnorhover/codex/fix-oci-vault…
harrisonoconnorhover Aug 12, 2026
5c8bfce
release: prepare 0.9.0rc9
harrisonoconnorhover Aug 12, 2026
1a7cccd
Merge pull request #233 from harrisonoconnorhover/codex/release-0.9.0rc9
harrisonoconnorhover Aug 12, 2026
9874cfe
fix(oci): omit scheduler request body
harrisonoconnorhover Aug 12, 2026
2fdc519
Merge pull request #234 from harrisonoconnorhover/codex/fix-oci-sched…
harrisonoconnorhover Aug 12, 2026
333a486
release: prepare 0.9.0rc10
harrisonoconnorhover Aug 12, 2026
5a98192
Merge pull request #235 from harrisonoconnorhover/codex/release-0.9.0…
harrisonoconnorhover Aug 12, 2026
84dc822
fix: make starter Greenhouse model portable
harrisonoconnorhover Aug 12, 2026
cfbbd2a
Merge pull request #236 from harrisonoconnorhover/codex/fix-portable-…
harrisonoconnorhover Aug 12, 2026
3903f49
release: prepare 0.9.0rc11
harrisonoconnorhover Aug 12, 2026
1563270
Merge remote-tracking branch 'origin/main' into codex/release-0.9.0rc11
harrisonoconnorhover Aug 12, 2026
26b2952
Merge pull request #237 from harrisonoconnorhover/codex/release-0.9.0…
harrisonoconnorhover Aug 12, 2026
fd5e092
fix(oci): honor live function contracts
harrisonoconnorhover Aug 13, 2026
73a72dd
Merge pull request #238 from harrisonoconnorhover/codex/release-0.9.0…
harrisonoconnorhover Aug 13, 2026
0dae949
release: prepare 0.9.0rc12
harrisonoconnorhover Aug 13, 2026
8d772db
Merge pull request #239 from harrisonoconnorhover/codex/publish-0.9.0…
harrisonoconnorhover Aug 13, 2026
9a75d62
fix: preserve OCI container tag parity
harrisonoconnorhover Aug 13, 2026
7b66270
Merge pull request #240 from harrisonoconnorhover/codex/fix-oci-conta…
harrisonoconnorhover Aug 13, 2026
a3ca993
release: prepare 0.9.0rc13
harrisonoconnorhover Aug 13, 2026
66259c1
Merge pull request #241 from harrisonoconnorhover/codex/publish-0.9.0…
harrisonoconnorhover Aug 13, 2026
9bc3fcc
fix(oci): reconcile terminal container details
harrisonoconnorhover Aug 13, 2026
6964767
Merge pull request #242 from harrisonoconnorhover/codex/phase7-oci-te…
harrisonoconnorhover Aug 13, 2026
3de03a6
release: prepare 0.9.0rc14
harrisonoconnorhover Aug 13, 2026
1447dfd
Merge pull request #243 from harrisonoconnorhover/codex/publish-0.9.0…
harrisonoconnorhover Aug 13, 2026
b5dfcad
fix(transform): select explicit provider SQL variants
harrisonoconnorhover Aug 13, 2026
3078ce7
Merge pull request #244 from harrisonoconnorhover/codex/phase7-postgr…
harrisonoconnorhover Aug 13, 2026
942c9c0
release: prepare 0.9.0rc15
harrisonoconnorhover Aug 13, 2026
4ecf3d5
Merge pull request #245 from harrisonoconnorhover/codex/publish-0.9.0…
harrisonoconnorhover Aug 13, 2026
ab2cec4
fix(oci): authorize scheduled function starts
harrisonoconnorhover Aug 13, 2026
7f3c26d
style: format OCI scheduler test
harrisonoconnorhover Aug 13, 2026
2148ab0
Merge pull request #246 from harrisonoconnorhover/codex/phase7-oci-sc…
harrisonoconnorhover Aug 13, 2026
6199291
release: prepare 0.9.0rc16
harrisonoconnorhover Aug 13, 2026
bc9ce7f
Merge pull request #247 from harrisonoconnorhover/codex/publish-0.9.0…
harrisonoconnorhover Aug 13, 2026
e6a7fd3
fix(runtime): resume retryable launcher attempts
harrisonoconnorhover Aug 13, 2026
9065b98
Merge pull request #248 from harrisonoconnorhover/codex/phase7-runtim…
harrisonoconnorhover Aug 13, 2026
6657f66
release: prepare 0.9.0rc17
harrisonoconnorhover Aug 13, 2026
018d472
Merge pull request #249 from harrisonoconnorhover/codex/publish-0.9.0…
harrisonoconnorhover Aug 13, 2026
536b31b
docs: accept Phase 7 OCI lifecycle (#250)
harrisonoconnorhover Aug 13, 2026
e0026c6
docs: define Druff control-plane architecture
harrisonoconnorhover Aug 13, 2026
435d50f
Merge pull request #251 from harrisonoconnorhover/codex/druff-d0-roadmap
harrisonoconnorhover Aug 13, 2026
c4ea8a5
feat: package Dander control contracts
harrisonoconnorhover Aug 13, 2026
6a3bf92
Merge pull request #252 from harrisonoconnorhover/codex/druff-d1-cont…
harrisonoconnorhover Aug 13, 2026
a11ec8b
release: prepare 0.9.0rc18
harrisonoconnorhover Aug 13, 2026
488cad2
Merge pull request #253 from harrisonoconnorhover/codex/druff-d1-rele…
harrisonoconnorhover Aug 13, 2026
6792757
release: promote 0.9.0rc18
harrisonoconnorhover Aug 13, 2026
ae2f8f6
Merge pull request #254 from harrisonoconnorhover/codex/druff-d1-publ…
harrisonoconnorhover Aug 13, 2026
a043db9
docs: record 0.9.0rc18 contract release evidence
harrisonoconnorhover Aug 13, 2026
a60e42b
Merge pull request #255 from harrisonoconnorhover/codex/druff-d1-rele…
harrisonoconnorhover Aug 13, 2026
756b34b
Add provider-neutral graph storage
harrisonoconnorhover Aug 13, 2026
2ed32ed
Merge pull request #256 from harrisonoconnorhover/codex/druff-graph-s…
harrisonoconnorhover Aug 13, 2026
dfd2936
Add hosted Dander Control API
harrisonoconnorhover Aug 13, 2026
0312658
Make console smoke test ANSI-safe
harrisonoconnorhover Aug 13, 2026
88826c3
Merge pull request #257 from harrisonoconnorhover/codex/druff-hosted-…
harrisonoconnorhover Aug 13, 2026
7ab48ed
feat(control): add GCS graph store
harrisonoconnorhover Aug 13, 2026
81e750f
Merge pull request #258 from harrisonoconnorhover/codex/druff-gcs-gra…
harrisonoconnorhover Aug 13, 2026
850f7c0
Qualify the GCS GraphStore live (#259)
harrisonoconnorhover Aug 13, 2026
867ed60
Add the S3 GraphStore (#260)
harrisonoconnorhover Aug 13, 2026
0207f69
feat(control): add Azure Blob graph store (#261)
harrisonoconnorhover Aug 14, 2026
edf0ee3
DANDER-125: add OCI Object Storage GraphStore (#262)
harrisonoconnorhover Aug 14, 2026
6b8205d
Record the Phase D3 exit-gate disposition (#263)
harrisonoconnorhover Aug 14, 2026
fe323f9
Add hosted OIDC authorization boundary (#264)
harrisonoconnorhover Aug 14, 2026
3e832d8
release: prepare 0.9.0rc19 (#265)
harrisonoconnorhover Aug 14, 2026
cad383b
release: promote 0.9.0rc19 (#266)
harrisonoconnorhover Aug 14, 2026
6af0e64
docs: record 0.9.0rc19 release evidence (#267)
harrisonoconnorhover Aug 14, 2026
395a18d
Add Control service deployment contract
harrisonoconnorhover Aug 14, 2026
b80e2d4
Record D6 protected review evidence
harrisonoconnorhover Aug 14, 2026
d959135
Merge pull request #268 from harrisonoconnorhover/codex/druff-d6-serv…
harrisonoconnorhover Aug 14, 2026
20a5812
feat: add local hosted control-plane deployment
harrisonoconnorhover Aug 14, 2026
195cbbc
Merge pull request #270 from harrisonoconnorhover/codex/druff-d7-loca…
harrisonoconnorhover Aug 14, 2026
c74df0c
release: prepare 0.9.0rc20
harrisonoconnorhover Aug 14, 2026
15345d7
Merge pull request #271 from harrisonoconnorhover/codex/dander-0.9.0r…
harrisonoconnorhover Aug 14, 2026
f247f10
release: promote 0.9.0rc20
harrisonoconnorhover Aug 14, 2026
75c5654
Merge pull request #272 from harrisonoconnorhover/codex/dander-0.9.0r…
harrisonoconnorhover Aug 14, 2026
8bf6af2
docs: record 0.9.0rc20 release evidence
harrisonoconnorhover Aug 14, 2026
63ba867
Merge pull request #273 from harrisonoconnorhover/codex/dander-0.9.0r…
harrisonoconnorhover Aug 14, 2026
4d735ab
WIP: checkpoint Phase 8 qualification baseline
harrisonoconnorhover Aug 13, 2026
8f0d77a
Add Phase 8 qualification diagnostics
harrisonoconnorhover Aug 14, 2026
b3074c2
Implement AWS-native Phase 8 Fargate profile
harrisonoconnorhover Aug 14, 2026
c3ca8d6
Record Phase 8 release preflight
harrisonoconnorhover Aug 14, 2026
803b175
Fix Phase 8 qualification review blockers
harrisonoconnorhover Aug 14, 2026
0ba96ea
Preserve Fargate deployment selection
harrisonoconnorhover Aug 14, 2026
f75a34e
Harden AWS qualification diagnostics
harrisonoconnorhover Aug 14, 2026
097dc44
Complete qualification diagnostic guards
harrisonoconnorhover Aug 14, 2026
ff283a7
Fix Phase 8 review diagnostics
harrisonoconnorhover Aug 14, 2026
e086aa1
Harden Phase 8 evidence contracts
harrisonoconnorhover Aug 14, 2026
fe325ff
Merge pull request #269 from harrisonoconnorhover/codex/phase8-qualif…
harrisonoconnorhover Aug 14, 2026
f77d04d
Fix local GraphStore volume initialization
harrisonoconnorhover Aug 14, 2026
ee03b94
Merge pull request #274 from harrisonoconnorhover/codex/d7-local-volu…
harrisonoconnorhover Aug 14, 2026
209191b
release: prepare 0.9.0rc21 qualification candidate
harrisonoconnorhover Aug 14, 2026
070fe30
docs: note inherited D7 fix in RC21
harrisonoconnorhover Aug 14, 2026
c10968a
Merge pull request #275 from harrisonoconnorhover/codex/phase8-qualif…
harrisonoconnorhover Aug 14, 2026
a3cf363
fix: select deployment for runtime inspection
harrisonoconnorhover Aug 14, 2026
e969f70
docs: record retained Phase 8 diagnostics
harrisonoconnorhover Aug 14, 2026
011ee6e
Fix multi-deployment runtime inspection for Phase 8 (#276)
harrisonoconnorhover Aug 14, 2026
721ff5b
docs: record D7 local live qualification
harrisonoconnorhover Aug 14, 2026
69b17a0
Merge pull request #278 from harrisonoconnorhover/codex/d7-local-live…
harrisonoconnorhover Aug 14, 2026
742beae
release: prepare 0.9.0rc22 qualification candidate
harrisonoconnorhover Aug 14, 2026
57bff09
docs: authorize private RC22 qualification
harrisonoconnorhover Aug 14, 2026
aebecad
Prepare private RC22 Phase 8 candidate (#277)
harrisonoconnorhover Aug 14, 2026
0c2a6aa
Add Kubernetes hosted control plane
harrisonoconnorhover Aug 14, 2026
95540e8
Merge pull request #279 from harrisonoconnorhover/codex/d7-kubernetes…
harrisonoconnorhover Aug 14, 2026
0e95525
fix(kubernetes): verify served bootstrap bytes
harrisonoconnorhover Aug 14, 2026
682f0fa
Merge pull request #280 from harrisonoconnorhover/codex/d7-kubernetes…
harrisonoconnorhover Aug 14, 2026
de99e6c
docs(kubernetes): record D7 live qualification
harrisonoconnorhover Aug 14, 2026
1bbddb8
Merge pull request #281 from harrisonoconnorhover/codex/d7-kubernetes…
harrisonoconnorhover Aug 14, 2026
0389006
docs: record private RC22 qualification candidate
harrisonoconnorhover Aug 14, 2026
471ba2c
docs: correct Kubernetes qualification objectives
harrisonoconnorhover Aug 14, 2026
8c43aa1
docs: record RC22 Kubernetes lifecycle qualification
harrisonoconnorhover Aug 14, 2026
dfa4c28
docs: approve RC22 PostgreSQL scale slice
harrisonoconnorhover Aug 14, 2026
5add9ff
docs: record PostgreSQL memory retry gate
harrisonoconnorhover Aug 14, 2026
28563ea
docs: record RC22 PostgreSQL scale slice
harrisonoconnorhover Aug 14, 2026
37934e8
docs: approve RC22 GCP profile rerun
harrisonoconnorhover Aug 14, 2026
b8be5ee
docs: record RC22 GCP profile rerun
harrisonoconnorhover Aug 14, 2026
3bf21d9
docs: record Phase 8 credential blockers
harrisonoconnorhover Aug 14, 2026
c1d3068
test: approve PostgreSQL bulk and incremental qualification
harrisonoconnorhover Aug 14, 2026
bf5225c
docs: record RC22 PostgreSQL bulk and incremental evidence
harrisonoconnorhover Aug 14, 2026
c2327e5
test: approve PostgreSQL correctness qualification
harrisonoconnorhover Aug 14, 2026
fe20c91
docs: record RC22 PostgreSQL correctness evidence
harrisonoconnorhover Aug 14, 2026
e7643f2
test: approve PostgreSQL transform qualification
harrisonoconnorhover Aug 14, 2026
967a400
fix: make PostgreSQL transform fixture fail cleanly
harrisonoconnorhover Aug 14, 2026
0700ec1
docs: record RC22 PostgreSQL transform evidence
harrisonoconnorhover Aug 14, 2026
a07f19c
test: approve PostgreSQL failure qualification
harrisonoconnorhover Aug 14, 2026
d5846ee
docs: record RC22 PostgreSQL failure evidence
harrisonoconnorhover Aug 14, 2026
3ea7730
test: approve Kubernetes PostgreSQL scale qualification
harrisonoconnorhover Aug 14, 2026
82defc8
feat(deployment): add GCP control plane profile
harrisonoconnorhover Aug 14, 2026
06b1609
docs: record RC22 Kubernetes PostgreSQL scale evidence
harrisonoconnorhover Aug 14, 2026
54c8581
Merge pull request #282 from harrisonoconnorhover/codex/d7-gcp-contro…
harrisonoconnorhover Aug 14, 2026
b5eacf8
style: format Phase 8 PostgreSQL benchmark
harrisonoconnorhover Aug 14, 2026
03755ce
Merge remote-tracking branch 'origin/main' into codex/phase8-rc22-qua…
harrisonoconnorhover Aug 14, 2026
9275b41
fix gcp bucket verifier cli shape
harrisonoconnorhover Aug 14, 2026
add3f9e
docs: record RC22 final candidate audit
harrisonoconnorhover Aug 14, 2026
a501c67
Merge pull request #283 from harrisonoconnorhover/codex/d7-gcp-storag…
harrisonoconnorhover Aug 14, 2026
2ad8350
feat(postgresql): add bounded direct write crossover path
harrisonoconnorhover Aug 14, 2026
38ee4a0
Merge remote-tracking branch 'origin/main' into codex/phase8-rc22-qua…
harrisonoconnorhover Aug 14, 2026
dd33204
test: add PostgreSQL crossover qualification harness
harrisonoconnorhover Aug 14, 2026
2455fc3
chore: prepare private 0.9.0rc23 candidate
harrisonoconnorhover Aug 14, 2026
3ae3885
docs: authorize bounded private RC23 qualification
harrisonoconnorhover Aug 14, 2026
583e75e
test: approve RC23 PostgreSQL crossover objectives
harrisonoconnorhover Aug 14, 2026
48e4e11
fix: sort PostgreSQL crossover metrics
harrisonoconnorhover Aug 14, 2026
322179c
docs: record private RC23 crossover qualification
harrisonoconnorhover Aug 14, 2026
9bfb99e
fix(gcp): align live verifier with Cloud Run
harrisonoconnorhover Aug 14, 2026
a740582
Merge pull request #284 from harrisonoconnorhover/codex/d7-gcp-live-v…
harrisonoconnorhover Aug 14, 2026
dd99d7c
fix(gcp): record Cloud Run scaling defaults
harrisonoconnorhover Aug 14, 2026
c414bd1
Merge pull request #285 from harrisonoconnorhover/codex/d7-gcp-explic…
harrisonoconnorhover Aug 14, 2026
03f7c92
docs(gcp): record D7 control plane qualification
harrisonoconnorhover Aug 14, 2026
0d8e1c7
Merge pull request #286 from harrisonoconnorhover/codex/d7-gcp-contro…
harrisonoconnorhover Aug 14, 2026
783914c
Authorize scoped AWS D7 deployment resources
harrisonoconnorhover Aug 14, 2026
ea15ed3
Merge pull request #287 from harrisonoconnorhover/codex/d7-aws-deploy…
harrisonoconnorhover Aug 14, 2026
dcbbae6
Add AWS D7 hosted control profile
harrisonoconnorhover Aug 14, 2026
58f99b9
Merge pull request #288 from harrisonoconnorhover/codex/d7-aws-contro…
harrisonoconnorhover Aug 14, 2026
6dd4984
Merge remote-tracking branch 'origin/main' into codex/phase8-rc22-qua…
harrisonoconnorhover Aug 15, 2026
107d505
Pin AWS state backend to stage-zero KMS key
harrisonoconnorhover Aug 15, 2026
c6a4ec8
docs: authorize bounded AWS native qualification
harrisonoconnorhover Aug 15, 2026
00dc6cb
infra: add disposable AWS qualification data plane
harrisonoconnorhover Aug 15, 2026
4c63510
Merge pull request #289 from harrisonoconnorhover/codex/aws-stage-zer…
harrisonoconnorhover Aug 15, 2026
033fc81
fix: project AWS runtime platform at launch
harrisonoconnorhover Aug 15, 2026
73b7aee
docs: add AWS native operator runbook
harrisonoconnorhover Aug 15, 2026
b8ce1ac
docs: restore Azure and OCI qualification access
harrisonoconnorhover Aug 15, 2026
ffaa0b2
Merge remote-tracking branch 'origin/main' into codex/phase8-rc22-qua…
harrisonoconnorhover Aug 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
!examples/**
!infra/
!infra/**
!dist/
!dist/*.whl
infra/.DS_Store
infra/.terraform/
infra/**/.terraform/
Expand Down
120 changes: 114 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,24 +17,41 @@ jobs:
python-quality:
name: Python quality
runs-on: ubuntu-latest
env:
DANDER_TEST_POSTGRES_DSN: postgresql://postgres:dander_test@127.0.0.1:5432/dander_test
services:
postgres:
image: postgres:15-alpine@sha256:3d0f7584ed7d04e27fa050d6683a74746608faf21f202be78460d679cc56461f
env:
POSTGRES_PASSWORD: dander_test
POSTGRES_DB: dander_test
ports:
- 5432:5432
options: >-
--health-cmd "pg_isready -U postgres -d dander_test"
--health-interval 5s
--health-timeout 5s
--health-retries 10
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.2.2
- uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
with:
enable-cache: true
- name: Install locked environment
run: uv sync --frozen --extra dev
run: uv sync --frozen --extra dev --extra postgres
- name: Ruff lint
run: uv run ruff check .
- name: Ruff format
run: uv run ruff format --check .
- name: Strict typing
run: uv run mypy src tests
- name: Control contract drift
run: uv run python scripts/check_control_contracts.py
- name: Tests
run: uv run pytest
- name: Dependency audit
run: |
uv export --frozen --format requirements.txt --no-dev --no-emit-project \
uv export --frozen --extra runtime-all --format requirements.txt --no-dev --no-emit-project \
--output-file /tmp/dander-requirements.txt
uv run --with pip-audit pip-audit --strict -r /tmp/dander-requirements.txt

Expand All @@ -48,7 +65,7 @@ jobs:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.2.2
- uses: hashicorp/setup-terraform@b9cd54a3c349d3f38e8881555d616ced269862dd # v3
with:
terraform_version: 1.9.8
terraform_version: 1.15.8
- name: Format
run: terraform fmt -check -recursive
- name: Initialize without a backend
Expand All @@ -59,6 +76,64 @@ jobs:
run: |
terraform -chdir=bootstrap-admin init -backend=false -input=false
terraform -chdir=bootstrap-admin validate
- name: Validate AWS Terraform stacks
run: |
terraform -chdir=aws/bootstrap-admin init -backend=false -input=false
terraform -chdir=aws/bootstrap-admin validate
terraform -chdir=aws/bootstrap-admin test
terraform -chdir=aws init -backend=false -input=false
terraform -chdir=aws validate
terraform -chdir=aws/modules/fargate init -backend=false -input=false
terraform -chdir=aws/modules/fargate test
terraform -chdir=aws-control init -backend=false -input=false
terraform -chdir=aws-control validate
terraform -chdir=aws-control test
- name: Validate Azure Terraform stacks
run: |
terraform -chdir=azure/bootstrap-admin init -backend=false -input=false
terraform -chdir=azure/bootstrap-admin validate
terraform -chdir=azure/bootstrap-admin test
terraform -chdir=azure init -backend=false -input=false
terraform -chdir=azure validate
terraform -chdir=azure test
terraform -chdir=azure/modules/container-apps-jobs init -backend=false -input=false
terraform -chdir=azure/modules/container-apps-jobs test
- name: Validate OCI Terraform stacks
run: |
terraform -chdir=oci/bootstrap-admin init -backend=false -input=false
terraform -chdir=oci/bootstrap-admin validate
terraform -chdir=oci/bootstrap-admin test
terraform -chdir=oci init -backend=false -input=false
terraform -chdir=oci validate
terraform -chdir=oci test
- name: Validate GCP Control Terraform stack
run: |
terraform -chdir=gcp-control init -backend=false -input=false
terraform -chdir=gcp-control validate
terraform -chdir=gcp-control test
- name: Validate Kubernetes Helm chart
run: |
helm lint kubernetes/chart/dander --values ../tests/fixtures/kubernetes-values.yaml
helm template dander kubernetes/chart/dander \
--namespace dander-test \
--values ../tests/fixtures/kubernetes-values.yaml >/tmp/dander-kubernetes.yaml
helm lint kubernetes/chart/dander-control \
--values ../tests/fixtures/kubernetes-control-values.yaml
helm template dander-control kubernetes/chart/dander-control \
--namespace dander-control \
--values ../tests/fixtures/kubernetes-control-values.yaml \
>/tmp/dander-control-kubernetes.yaml
- name: Validate cross-cloud feasibility roots
run: |
terraform fmt -check -recursive ../acceptance/cloud-portability/phase1b
terraform -chdir=../acceptance/cloud-portability/phase1b/ecr init -backend=false -input=false
terraform -chdir=../acceptance/cloud-portability/phase1b/ecr validate
terraform -chdir=../acceptance/cloud-portability/phase1b/smoke init -backend=false -input=false
terraform -chdir=../acceptance/cloud-portability/phase1b/smoke validate
terraform fmt -check -recursive ../acceptance/cloud-portability/phase6/azure-google-federation
terraform -chdir=../acceptance/cloud-portability/phase6/azure-google-federation init -backend=false -input=false
terraform -chdir=../acceptance/cloud-portability/phase6/azure-google-federation validate
terraform -chdir=../acceptance/cloud-portability/phase6/azure-google-federation test
- name: Static security analysis
uses: aquasecurity/trivy-action@a9c7b0f06e461e9d4b4d1711f154ee024b8d7ab8 # v0.36.0
with:
Expand All @@ -77,14 +152,16 @@ jobs:
- uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
- uses: hashicorp/setup-terraform@b9cd54a3c349d3f38e8881555d616ced269862dd # v3
with:
terraform_version: 1.9.8
terraform_version: 1.15.8
- name: Build and inspect artifacts
run: |
python3 scripts/check_release_metadata.py
uv build
python scripts/check_distribution.py dist/*.whl dist/*.tar.gz
- name: Install and run outside the checkout
run: |
TEMP_DIR="$(mktemp -d)"
VERSION="$(uv version --short)"
INDEX=0
for ARTIFACT in dist/*.whl dist/*.tar.gz; do
ENV_DIR="$TEMP_DIR/venv-$INDEX"
Expand All @@ -93,15 +170,20 @@ jobs:
uv pip install --python "$ENV_DIR/bin/python" "$ARTIFACT"
(
cd "$TEMP_DIR"
"$ENV_DIR/bin/dander" --version | grep -F "dander 0.5.1"
"$ENV_DIR/bin/dander" --version | grep -F "dander $VERSION"
"$ENV_DIR/bin/dander" new "$PROJECT_DIR"
cd "$PROJECT_DIR"
"$ENV_DIR/bin/dander" validate
grep -F "ARG DANDER_VERSION=0.5.1" Dockerfile
grep -F "ARG DANDER_VERSION=$VERSION" Dockerfile
"$ENV_DIR/bin/python" -c 'import dander; assert "site-packages" in dander.__file__'
)
INDEX=$((INDEX + 1))
done
FULL_ENV="$TEMP_DIR/venv-runtime-all"
uv venv "$FULL_ENV"
uv pip install --python "$FULL_ENV/bin/python" "dist/dander_platform-${VERSION}-py3-none-any.whl[runtime-all]"
"$FULL_ENV/bin/python" -c \
'from dander.providers.dependencies import require_full_runtime; require_full_runtime()'
terraform -chdir="$TEMP_DIR/project-0/infra" init -backend=false -input=false
terraform -chdir="$TEMP_DIR/project-0/infra" validate

Expand All @@ -111,13 +193,16 @@ jobs:
needs: [python-quality, terraform-quality]
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.2.2
- uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
- name: Build immutable-check image
run: docker build --tag dander-ci:${{ github.sha }} .
- name: Verify CLI starts
run: docker run --rm dander-ci:${{ github.sha }} --help
- name: Verify runtime contract and bundled proof assets
run: |
test "$(docker run --rm --entrypoint /usr/bin/id dander-ci:${{ github.sha }} -u)" = "65532"
docker run --rm --read-only --tmpfs /tmp dander-ci:${{ github.sha }} runtime conformance \
| grep -F '"status":"succeeded"'
docker run --rm --entrypoint /usr/bin/test dander-ci:${{ github.sha }} -f /app/connectors/hubspot_test.yaml
docker run --rm --entrypoint /usr/bin/test dander-ci:${{ github.sha }} -f /app/models/staging/stg_hubspot__companies.yml
- name: Scan image
Expand All @@ -128,6 +213,29 @@ jobs:
exit-code: 1
ignore-unfixed: true
severity: CRITICAL,HIGH
- name: Build OCI lifecycle controller
run: |
uv build --wheel
VERSION="$(uv version --short)"
docker build --platform linux/amd64 \
--file infra/oci/controller/Dockerfile \
--build-arg DANDER_WHEEL="dist/dander_platform-${VERSION}-py3-none-any.whl" \
--tag dander-oci-controller:${{ github.sha }} .
- name: Verify OCI lifecycle controller contract
run: |
test "$(docker image inspect dander-oci-controller:${{ github.sha }} --format '{{.Architecture}}')" = "amd64"
test "$(docker run --rm --platform linux/amd64 --entrypoint /usr/bin/id dander-oci-controller:${{ github.sha }} -u)" = "1000"
docker run --rm --platform linux/amd64 --read-only --tmpfs /tmp \
--entrypoint /usr/bin/python3.12 dander-oci-controller:${{ github.sha }} \
-c 'import dander, func, oci; assert callable(func.handler)'
- name: Scan OCI lifecycle controller
uses: aquasecurity/trivy-action@a9c7b0f06e461e9d4b4d1711f154ee024b8d7ab8 # v0.36.0
with:
image-ref: dander-oci-controller:${{ github.sha }}
format: table
exit-code: 1
ignore-unfixed: true
severity: CRITICAL,HIGH

secrets:
name: Secret scan
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/live-proof.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ jobs:
- uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
- uses: hashicorp/setup-terraform@b9cd54a3c349d3f38e8881555d616ced269862dd # v3
with:
terraform_version: 1.9.8
terraform_version: 1.15.8
- name: Locked Python checks
run: |
uv sync --frozen --extra dev
Expand Down Expand Up @@ -90,7 +90,7 @@ jobs:
- uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
- uses: hashicorp/setup-terraform@b9cd54a3c349d3f38e8881555d616ced269862dd # v3
with:
terraform_version: 1.9.8
terraform_version: 1.15.8
- name: Install locked runtime
run: uv sync --frozen --extra dev
- uses: google-github-actions/auth@c200f3691d83b41bf9bbd8638997a462592937ed # v2
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ jobs:
run: |
VERSION="$(uv version --short)"
test "$GITHUB_REF" = "refs/tags/v$VERSION"
- name: Reject stale public release metadata
run: python3 scripts/check_release_metadata.py --publication
- name: Build wheel and source distribution
run: uv build
- name: Validate distribution contents
Expand Down
5 changes: 5 additions & 0 deletions .gitleaksignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,8 @@ b5ea9389a35354a3da154238abba2446f42069cf:tests/security/test_enterprise_auth.py:
# rk_live_ prefixes gitleaks's stripe-access-token rule matches on, but the historical commit still
# contains the original wording and can't be edited after the fact without rewriting pushed history.
60dc73b90458055b5d8a9d7c7d3e830d283199be:tickets/DANDER-72-row-level-operations.md:stripe-access-token:345

# tests/providers/test_oci_vault_runtime.py — a synthetic OCI Vault resource OCID assembled
# from a fixed prefix plus repeated test characters. The scanner matched the original constant
# name, not credential material; the current tree uses a neutral fixture name as well.
75eb05281ec614fce4a596fcfd0ff452d9e8a1bc:tests/providers/test_oci_vault_runtime.py:generic-api-key:16
12 changes: 12 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Dander Engineering Guide

- Use Python 3.12+ through `uv`; keep `uv.lock` synchronized with `pyproject.toml`.
- Run Ruff lint/format, strict mypy, focused pytest, and proportionate full checks before merge.
- Regenerate Control contracts with `scripts/generate_control_contracts.py` and verify drift with
`scripts/check_control_contracts.py`; never hand-edit generated schemas or fixtures.
- Keep provider SDK imports lazy and inside the selected provider boundary. Public Control models
and GraphStore semantics must remain provider-neutral and fail closed.
- Preserve existing CLI, runtime, and cloud-provider behavior unless the ticket explicitly changes
it. Use focused protected PRs and verify exact-main CI after merge.
- Never commit credentials, secret values, business rows, Terraform state/plan files, caches, or
unreviewed live-provider evidence.
Loading
Loading