Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
296 commits
Select commit Hold shift + click to select a range
c1398b6
Record Phase 1B Cloud Run parity
harrisonoconnorhover Aug 7, 2026
0a36e18
Complete Phase 1B cross-cloud proof
harrisonoconnorhover Aug 7, 2026
70d3c60
Merge pull request #108 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 7, 2026
6b3154d
Add named platform profiles and v1 migration
harrisonoconnorhover Aug 7, 2026
51d6f5e
Merge pull request #109 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 7, 2026
3ee3e90
Add lazy provider factory registry
harrisonoconnorhover Aug 7, 2026
820b743
Merge pull request #110 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 7, 2026
d7f058e
Add canonical relation and schema contracts
harrisonoconnorhover Aug 7, 2026
bc1737d
Merge pull request #111 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 7, 2026
13394c4
Add explicit portable SQL dialect contract
harrisonoconnorhover Aug 7, 2026
bfb1122
Merge pull request #112 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 7, 2026
a75ab26
Compile pipeline graphs through relational AST
harrisonoconnorhover Aug 8, 2026
4be03e4
Merge pull request #113 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 8, 2026
564b9c8
Add provider-neutral run telemetry
harrisonoconnorhover Aug 8, 2026
2274d66
Merge pull request #114 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 8, 2026
016ed7e
Assemble provider runtime dependencies
harrisonoconnorhover Aug 8, 2026
6f4b815
Merge pull request #115 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 8, 2026
a5fb2ec
Route BigQuery through warehouse capabilities
harrisonoconnorhover Aug 8, 2026
5478e1b
Merge pull request #116 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 8, 2026
ef54c1c
Route BigQuery state through provider runtime
harrisonoconnorhover Aug 8, 2026
8254720
Merge pull request #117 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 8, 2026
56d3d58
Route Dataplex through provider runtime
harrisonoconnorhover Aug 8, 2026
7c6c09c
Merge pull request #118 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 8, 2026
7f47fd9
Route GCP secrets through provider runtime
harrisonoconnorhover Aug 8, 2026
c57c948
Merge pull request #119 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 8, 2026
cf4e196
Route Cloud Run through launcher provider
harrisonoconnorhover Aug 8, 2026
2d8837d
Merge pull request #120 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 8, 2026
019209a
Add fail-closed Fargate projection
harrisonoconnorhover Aug 8, 2026
cff311c
Merge pull request #121 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 8, 2026
d43dedc
Prepare keyless AWS runtime identity
harrisonoconnorhover Aug 8, 2026
0d0b916
Merge pull request #122 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 8, 2026
df83edb
feat: provision bounded Fargate runtime
harrisonoconnorhover Aug 8, 2026
c9add20
Merge pull request #123 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 8, 2026
990395f
feat: plan manifest-defined Fargate deployments
harrisonoconnorhover Aug 8, 2026
7dd477b
Merge pull request #124 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 8, 2026
038e89d
feat: bootstrap AWS state and promote runtime images
harrisonoconnorhover Aug 8, 2026
27e3c8f
fix: keep AWS review commands copyable
harrisonoconnorhover Aug 8, 2026
a9ff25b
Merge pull request #125 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 8, 2026
f71241d
feat: add manifest-bound Fargate operations
harrisonoconnorhover Aug 8, 2026
08ce0a0
docs: record Fargate operations validation
harrisonoconnorhover Aug 8, 2026
fd644d1
Merge pull request #126 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 8, 2026
92f7873
feat: add PostgreSQL durable state
harrisonoconnorhover Aug 8, 2026
2e60e8e
Merge pull request #127 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 8, 2026
530a915
feat: add destination target fencing
harrisonoconnorhover Aug 8, 2026
b2063ab
Merge pull request #128 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 8, 2026
f9f25c5
feat: add bounded PostgreSQL warehouse writes
harrisonoconnorhover Aug 8, 2026
bbf262d
Merge pull request #129 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 8, 2026
5f17c72
feat: add PostgreSQL transform execution
harrisonoconnorhover Aug 9, 2026
c75592e
Merge pull request #130 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 9, 2026
01c3575
feat: compose native PostgreSQL runtime profile
harrisonoconnorhover Aug 9, 2026
4d4d481
Merge pull request #131 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 9, 2026
d6300d4
feat: add existing-cluster Kubernetes launcher
harrisonoconnorhover Aug 9, 2026
ea7403d
fix: keep Kubernetes plan paths unwrapped
harrisonoconnorhover Aug 9, 2026
c60b034
Merge pull request #132 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 9, 2026
99afe9a
test: publish PostgreSQL backend matrix evidence
harrisonoconnorhover Aug 9, 2026
8b5503f
Merge pull request #133 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 9, 2026
8815085
feat: add bounded columnar staging
harrisonoconnorhover Aug 9, 2026
7ab4881
Merge pull request #134 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 9, 2026
a28844c
refactor runtime relation coordinates
harrisonoconnorhover Aug 9, 2026
6cf2a90
Merge pull request #135 from harrisonoconnorhover/codex/provider-neut…
harrisonoconnorhover Aug 9, 2026
c65f53c
fix: batch BigQuery run-history migrations
harrisonoconnorhover Aug 9, 2026
f84a4fc
Merge pull request #141 from harrisonoconnorhover/codex/run-history-m…
harrisonoconnorhover Aug 9, 2026
6b48005
feat: add experimental Snowflake warehouse
harrisonoconnorhover Aug 9, 2026
5b815e7
Merge pull request #136 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 9, 2026
82c10b8
feat: add fenced Snowflake transforms
harrisonoconnorhover Aug 9, 2026
377ea78
docs: finalize Snowflake transform handoff
harrisonoconnorhover Aug 9, 2026
2f4ad94
Merge pull request #137 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 9, 2026
472dc3c
feat: add experimental Redshift SCD1 warehouse
harrisonoconnorhover Aug 9, 2026
121c7f7
fix: keep Redshift SDK imports optional
harrisonoconnorhover Aug 9, 2026
a733e56
docs: record Redshift CI evidence
harrisonoconnorhover Aug 9, 2026
c0f9c7b
fix: reconcile warehouse compatibility matrix
harrisonoconnorhover Aug 9, 2026
db5d79d
docs: record clean Redshift merge gate
harrisonoconnorhover Aug 9, 2026
c0261a4
Merge pull request #138 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 9, 2026
1fa1aac
Add fenced Redshift transforms
harrisonoconnorhover Aug 9, 2026
70e1173
Merge pull request #142 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 9, 2026
9c6dd4c
feat: add AWS Glue catalog provider
harrisonoconnorhover Aug 9, 2026
b8c70c8
Merge pull request #143 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 9, 2026
1c64bab
refactor: finish provider-neutral relation coordinates
harrisonoconnorhover Aug 9, 2026
3ab552f
Merge pull request #144 from harrisonoconnorhover/codex/provider-neut…
harrisonoconnorhover Aug 9, 2026
ec16c32
Add warehouse capability diagnostics
harrisonoconnorhover Aug 9, 2026
00600f1
Merge pull request #145 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 9, 2026
d3759c9
Make Phase 1B proof identities reusable
harrisonoconnorhover Aug 9, 2026
c848c7f
Merge pull request #146 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 9, 2026
efe037a
Fix state bucket permission preflight
harrisonoconnorhover Aug 9, 2026
d8609df
Merge pull request #147 from harrisonoconnorhover/codex/stage-zero-bu…
harrisonoconnorhover Aug 9, 2026
4529d5d
Prepare Dander 0.8.0rc1
harrisonoconnorhover Aug 9, 2026
5614f34
Merge pull request #148 from harrisonoconnorhover/codex/release-0-8-0rc1
harrisonoconnorhover Aug 9, 2026
3fb0826
Record successful Phase 1B portability proof
harrisonoconnorhover Aug 9, 2026
c573077
Merge pull request #149 from harrisonoconnorhover/codex/phase1b-accep…
harrisonoconnorhover Aug 9, 2026
75e5d3d
Renew Fargate Google workload credentials
harrisonoconnorhover Aug 9, 2026
192cc43
Merge pull request #150 from harrisonoconnorhover/codex/fargate-renew…
harrisonoconnorhover Aug 9, 2026
da00222
Prepare Dander 0.8.0rc2
harrisonoconnorhover Aug 9, 2026
07ce71a
Merge pull request #151 from harrisonoconnorhover/codex/release-0-8-0rc2
harrisonoconnorhover Aug 9, 2026
d455530
Fix Fargate failure topic policy
harrisonoconnorhover Aug 9, 2026
16515cb
Merge pull request #152 from harrisonoconnorhover/codex/aws-sns-topic…
harrisonoconnorhover Aug 9, 2026
de4e705
Prepare Dander 0.8.0rc3
harrisonoconnorhover Aug 9, 2026
de44b8b
Merge pull request #153 from harrisonoconnorhover/codex/release-0-8-0rc3
harrisonoconnorhover Aug 9, 2026
06c4dc6
Use the Step Functions AWS CLI namespace
harrisonoconnorhover Aug 9, 2026
1393b5f
Merge pull request #154 from harrisonoconnorhover/codex/aws-stepfunct…
harrisonoconnorhover Aug 9, 2026
5d0ac77
Prepare Dander 0.8.0rc4
harrisonoconnorhover Aug 9, 2026
3657a56
Merge pull request #155 from harrisonoconnorhover/codex/release-0-8-0rc4
harrisonoconnorhover Aug 9, 2026
bf2167a
Fix writable Fargate scratch storage
harrisonoconnorhover Aug 9, 2026
3dd5efc
Merge pull request #156 from harrisonoconnorhover/codex/fargate-writa…
harrisonoconnorhover Aug 9, 2026
c7f38e2
Prepare Dander 0.8.0rc5
harrisonoconnorhover Aug 9, 2026
8825a5a
Merge pull request #157 from harrisonoconnorhover/codex/release-0-8-0rc5
harrisonoconnorhover Aug 9, 2026
89c4d74
Fix Fargate controller result selection
harrisonoconnorhover Aug 10, 2026
57a9dd5
Merge pull request #158 from harrisonoconnorhover/codex/fargate-resul…
harrisonoconnorhover Aug 10, 2026
1fb8385
Prepare Dander 0.8.0rc6
harrisonoconnorhover Aug 10, 2026
85ed4f9
Merge pull request #159 from harrisonoconnorhover/codex/release-0-8-0rc6
harrisonoconnorhover Aug 10, 2026
585396e
fix(aws): classify Fargate runtime exits
harrisonoconnorhover Aug 10, 2026
44b9162
Merge pull request #160 from harrisonoconnorhover/codex/fargate-runti…
harrisonoconnorhover Aug 10, 2026
f04745c
Prepare Dander 0.8.0rc7
harrisonoconnorhover Aug 10, 2026
bedf1da
Merge pull request #161 from harrisonoconnorhover/codex/release-0-8-0rc7
harrisonoconnorhover Aug 10, 2026
f3d0416
fix(aws): preserve scheduler execution context
harrisonoconnorhover Aug 10, 2026
f3ccb86
Merge pull request #162 from harrisonoconnorhover/codex/aws-scheduler…
harrisonoconnorhover Aug 10, 2026
c5c73ae
Prepare Dander 0.8.0rc8
harrisonoconnorhover Aug 10, 2026
819a61c
Merge pull request #163 from harrisonoconnorhover/codex/release-0-8-0rc8
harrisonoconnorhover Aug 10, 2026
9cb32b3
Record Fargate lifecycle acceptance
harrisonoconnorhover Aug 10, 2026
57766e0
Merge pull request #164 from harrisonoconnorhover/codex/rc8-fargate-l…
harrisonoconnorhover Aug 10, 2026
f05b4ba
feat(snowflake): add fenced scalar writer modes
harrisonoconnorhover Aug 10, 2026
568b07d
docs: record Snowflake writer CI evidence
harrisonoconnorhover Aug 10, 2026
f5e2d8d
Merge pull request #165 from harrisonoconnorhover/codex/cloud-portabi…
harrisonoconnorhover Aug 10, 2026
9b8aad1
feat(runtime): preserve warehouse schema and telemetry
harrisonoconnorhover Aug 10, 2026
ef54a85
Merge pull request #166 from harrisonoconnorhover/codex/warehouse-sch…
harrisonoconnorhover Aug 10, 2026
a20282e
feat(snowflake): add adaptive direct loads
harrisonoconnorhover Aug 10, 2026
a102c85
Merge pull request #167 from harrisonoconnorhover/codex/snowflake-fir…
harrisonoconnorhover Aug 10, 2026
e73ae01
feat(snowflake): execute portable graph targets
harrisonoconnorhover Aug 10, 2026
44b836c
Merge pull request #168 from harrisonoconnorhover/codex/snowflake-tra…
harrisonoconnorhover Aug 10, 2026
a500459
feat(snowflake): enrich operation telemetry
harrisonoconnorhover Aug 10, 2026
5a0f2d3
Merge pull request #169 from harrisonoconnorhover/codex/snowflake-que…
harrisonoconnorhover Aug 10, 2026
7255b79
feat(redshift): implement all ingestion writer modes
harrisonoconnorhover Aug 10, 2026
7b04b3e
Merge pull request #170 from harrisonoconnorhover/codex/redshift-writ…
harrisonoconnorhover Aug 10, 2026
918f4af
Add explicit Redshift SUPER support
harrisonoconnorhover Aug 10, 2026
1af7d22
Merge pull request #171 from harrisonoconnorhover/codex/redshift-supe…
harrisonoconnorhover Aug 10, 2026
440af35
Execute portable graphs on Redshift
harrisonoconnorhover Aug 10, 2026
771ee52
Merge pull request #172 from harrisonoconnorhover/codex/redshift-grap…
harrisonoconnorhover Aug 10, 2026
5c68129
Add safe Redshift operation telemetry
harrisonoconnorhover Aug 10, 2026
85bbf87
Merge pull request #173 from harrisonoconnorhover/codex/redshift-tele…
harrisonoconnorhover Aug 10, 2026
30aeb74
Add bounded direct Redshift staging
harrisonoconnorhover Aug 10, 2026
8934241
Merge pull request #174 from harrisonoconnorhover/codex/redshift-dire…
harrisonoconnorhover Aug 10, 2026
00eaee5
Add PostgreSQL writer modes
harrisonoconnorhover Aug 10, 2026
3286a66
Merge pull request #175 from harrisonoconnorhover/codex/postgresql-wr…
harrisonoconnorhover Aug 10, 2026
6c7e6a1
Execute portable graphs on PostgreSQL
harrisonoconnorhover Aug 10, 2026
f2a3064
Merge pull request #176 from harrisonoconnorhover/codex/postgresql-gr…
harrisonoconnorhover Aug 10, 2026
a9804ac
Support immutable images from registries with ports
harrisonoconnorhover Aug 10, 2026
74afe6b
Record PostgreSQL Kubernetes lifecycle acceptance
harrisonoconnorhover Aug 10, 2026
9adb6da
Merge pull request #177 from harrisonoconnorhover/codex/postgresql-ku…
harrisonoconnorhover Aug 10, 2026
cc8625f
Qualify Snowflake warehouse runtime
harrisonoconnorhover Aug 10, 2026
4dd80b2
Qualify experimental Redshift runtime
harrisonoconnorhover Aug 10, 2026
75ce0f3
Fix Snowflake SQL found in live qualification
harrisonoconnorhover Aug 10, 2026
44f474e
Fix Redshift contracts found in live qualification
harrisonoconnorhover Aug 10, 2026
8b0e001
Merge pull request #178 from harrisonoconnorhover/codex/snowflake-liv…
harrisonoconnorhover Aug 10, 2026
fc5ca6d
Merge main into Redshift qualification
harrisonoconnorhover Aug 10, 2026
3a10c12
Merge pull request #179 from harrisonoconnorhover/codex/redshift-live…
harrisonoconnorhover Aug 10, 2026
2e546dd
Reconcile Phase 5 roadmap and evidence
Aug 10, 2026
b131ea2
Merge pull request #180 from harrisonoconnorhover/codex/phase5-roadma…
harrisonoconnorhover Aug 10, 2026
251dbd9
refactor launcher template requests
Aug 10, 2026
527a7c4
record launcher completion evidence
Aug 10, 2026
0195c3d
Merge pull request #181 from codex/execution-template-request
harrisonoconnorhover Aug 10, 2026
f1033f6
add four-warehouse correctness gate
Aug 10, 2026
e676444
record four-warehouse gate CI evidence
Aug 10, 2026
4927d5f
Merge pull request #182 from codex/four-warehouse-conformance
harrisonoconnorhover Aug 10, 2026
5f049cc
fix: harden warehouse correctness failure handling
Aug 11, 2026
53d28ec
docs: record correction CI evidence
Aug 11, 2026
4270643
Merge pull request #183 from codex/warehouse-correctness-live-fixes
harrisonoconnorhover Aug 11, 2026
abfd119
Encode BigQuery bytes for JSON loads
Aug 11, 2026
040e1cc
Merge pull request #184 from codex/bigquery-bytes-conformance
harrisonoconnorhover Aug 11, 2026
bdc83cf
Fix Redshift binary conformance
Aug 11, 2026
c0f3e2c
Merge pull request #185 from codex/redshift-binary-conformance
harrisonoconnorhover Aug 11, 2026
e347564
Record four-warehouse live correctness evidence
Aug 11, 2026
c0477ed
Clarify retained no-drift baseline
Aug 11, 2026
bcf9d71
Merge pull request #186 from codex/four-warehouse-live-evidence
harrisonoconnorhover Aug 11, 2026
1f91a1b
Finalize Phase 5 handoff
Aug 11, 2026
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
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
104 changes: 98 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,28 @@ 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
Expand All @@ -34,7 +49,7 @@ jobs:
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 +63,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 +74,50 @@ 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
- 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 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
- 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 +136,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 +154,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 +177,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 +197,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
- 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
Loading
Loading