Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,9 @@ capabilities enter through the next minor release.

### Compatibility

- The Control contract bundle and native repair protocol are unchanged. This Control candidate
can recover the accepted RC33 runtime execution without submitting its data work again.
- The Control contract bundle and native repair protocol are unchanged; RC34 Control uses the
verified RC33 worker. The original proof was cleaned up on its deadline. A distinct synthetic
fixture qualified the correction without repeating that accepted data operation.
- Public PyPI remains RC20. The fixed GitHub wheel and named runtime/client artifacts form an
experimental integration; broader qualification and support gates remain open.

Expand Down
44 changes: 21 additions & 23 deletions HANDOFF.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,41 +2,39 @@

## Finished

- Merged read-only graph change preview and recorded run explanations through [PR #547](https://github.com/harrisonoconnorhover/dander/pull/547).
- Merged selected-date output repair from retained raw data with single-task Cloud Run and BigQuery through [PR #548](https://github.com/harrisonoconnorhover/dander/pull/548).
- Reused durable run identity, cancellation, history, replay, lease fencing, and conditional cleanup.
- Added preview/start contracts, publication measurements, and operator documentation with explicit support limits.
- Published and verified Salesforce `0.3.2` and ServiceNow `0.2.3`; merged the matching catalog, starter, and documentation through PR #550.
- Published immutable RC34 Control with graph previews, recorded explanations, and selected-date repair; verified the paired RC33 worker image.
- Published Salesforce `0.3.2` and ServiceNow `0.2.3` with corrected compatibility and current catalog/starter pins.
- Published Druff `0.2.0-rc.1` after protected PR #25 and exact-main checks, generated from the exact published RC34 wheel. Its guided configure → preview → save/run → understand/recover flow is ready for the documented hosted setup.
- Completed a distinct native BigQuery/Cloud Run repair and actual Druff client observation; cleaned both temporary proof environments.
- Updated the setup guide, connector documentation, support boundaries, and delivery records.

## Try It

Use the API examples in `docs/control-contracts.md` and `docs/output-repair.md`. Preview a saved graph's UTC date interval with its `If-Match` ETag, then start `/repairs` with the same revision and an `Idempotency-Key`. A repair-capable runtime and existing partitioned outputs are required. Published clients do not yet expose this flow.
Follow the [guided workflow guide](docs/guided-workflow.md) for the exact RC34 Control wheel, RC33 worker, and hosted Druff setup. Use the configured OIDC deployment and matching bootstrap descriptor. Preview changes, save the reviewed revision, then run it. Repair's end date is excluded.

## Checks

- Repair protected CI: **2,515 tests passed**, including PostgreSQL; one existing test-client deprecation warning.
- Strict typing passed across 516 files; Ruff, generated contracts, distribution installation, infrastructure validation, and container/secret scans passed.
- Exact-main CI passed for preview/explanation at `099fb52` and for repair at [`79aa1cb`](https://github.com/harrisonoconnorhover/dander/actions/runs/36849004513).
- No live repair workload or paid qualification ran.
- RC33 preparation: 4 release metadata tests, Ruff lint/format, metadata consistency, and contract drift checks passed; lockfile dependencies stayed fixed.
- CI exposed 5 historical Redshift fixture failures after the version bump. Fixtures now explicitly bind RC32; all 32 focused benchmark/metadata tests pass. Candidate CI must rerun.
- PR #550 passed combined protected CI. A follow-up explicitly includes installed prereleases when checking compatibility; the catalog suite also runs against the declared minimum `packaging` version in CI.
- Backend exact-main [CI 36874195042](https://github.com/harrisonoconnorhover/dander/actions/runs/36874195042) passed: 2,528 tests, 516 strictly typed files, Ruff, contracts, distribution, infrastructure, container and secret checks. One existing test-client deprecation warning remains.
- Public wheel bytes and GitHub attestations verified; fresh installation checked all 45 contract files. Published connector packages passed 93 Salesforce and 23 ServiceNow tests against RC34, plus earlier supported-version checks.
- RC33 worker startup/shutdown, provider imports, vulnerability scan, and anonymous digest pull passed. Local secret-pattern matches were verified Oracle SDK examples.
- Druff passed 685 unit tests, nine artifact tests, 11 browser journeys, RC34 HTTP acceptance, and the real native-run client observation. Browser OIDC/API fixtures were synthetic.
- Druff exact-main [CI 36877515144](https://github.com/harrisonoconnorhover/druff/actions/runs/36877515144) passed, including both architecture scans and build reproducibility.
- Published Druff image bytes matched the verified OCI index through anonymous registry access; both architectures passed source-free, non-root, read-only runtime and scan checks. Existing active/rollback aliases were preserved.
- Native repair recorded two rows written, four affected, and zero ingestion rows; surrounding/raw data and watermark unchanged, one execution, original Job restored. Cloud cleanup passed before its deadline; local databases, processes, watchdogs, and task credentials were removed.

## Decisions

- Preview stays read-only; explanations use collected evidence and retain unknown measurements.
- Repair leaves source extraction progress untouched and replaces only the selected dates, atomically per output.
- Deliver one guided workflow in Druff; additional providers and broader graph execution are separate work.
- Measurements come from recorded results; missing values stay Unknown.
- Repair uses currently retained raw data and commits per output.
- Deliver an experimental matched candidate; public PyPI remains RC20.

## Remaining

- Complete current aggregate billing reconciliation and bounded live repair; AWS sign-in now works.
- Finish Druff's guided flow. The user approved its repository work and protected delivery.
- Publish and consume the verified RC33 GitHub integration candidate after protected merge and exact-main CI; public PyPI RC20 stays unchanged.
- Complete the protected prerelease comparison fix and final RC33 combined package check. Both connector releases are published and their downloaded wheels passed the existing 93 Salesforce and 23 ServiceNow tests.
- Production identity-provider, scale, additional-provider, and broader release gates remain separate.
- Keep the USD 1 proof reservation within the USD 21 October aggregate while billing settles.

## Review First

- `src/dander/providers/bigquery/graph.py` and `tests/pipeline/test_date_repair.py` for scoped publication.
- `src/dander/control/cloud_run_execution_backend.py` for execution binding and cleanup.
- `docs/output-repair.md` for practical behavior and limitations.
- [Exact artifacts and guided setup](docs/guided-workflow.md)
- [Repair behavior and limits](docs/output-repair.md)
- [Druff PR #25](https://github.com/harrisonoconnorhover/druff/pull/25)
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ workflow artifact is reviewed.
Operator-facing documentation:

- [Current implementation and support status](docs/support-status.md)
- [Guided workflow integration candidate](docs/guided-workflow.md)
- [Control startup profiles and PostgreSQL storage](docs/control-profiles.md)
- [Hosted Greenhouse quickstart](https://github.com/harrisonoconnorhover/dander/blob/main/docs/getting-started.md)
- [Experimental AWS-native Fargate runbook](https://github.com/harrisonoconnorhover/dander/blob/main/docs/aws-native-profile.md)
Expand Down
7 changes: 4 additions & 3 deletions docs/connector-plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,15 +165,16 @@ CLI results include an exact public package pin, its compatible Dander range, su
and provider-validation status. Catalog API metadata also includes documentation links. The
catalog ships with Dander; PyPI remains the package store and source of the actual distribution.

The RC33 catalog pins Salesforce `0.3.2` (`dander-platform>=0.6.0rc1,<0.10`) and ServiceNow
`0.2.3` (`dander-platform>=0.5.0,<0.10`). Both accept the public Dander RC20 beta and RC33
The RC34 catalog pins Salesforce `0.3.2` (`dander-platform>=0.6.0rc1,<0.10`) and ServiceNow
`0.2.3` (`dander-platform>=0.5.0,<0.10`). Both accept the public Dander RC20 beta and RC34
integration candidate. Older Dander installations retain their bundled catalog; use these exact
pins in the project's `plugins` configuration, then run `dander plugins install` and
`dander validate` before rebuilding the runtime image. Installing a package alone does not
activate it or replace a deployed image.

Compatibility checks cover clean package installations and each connector's existing behavior
suite. They do not add a new live Salesforce or ServiceNow acceptance result.
suite, including all 116 tests against the published RC34 wheel. They do not add a new live
Salesforce or ServiceNow acceptance result.

When `dander graph serve` opens a project, `GET /v1/plugin-catalog` exposes the same non-secret
catalog and marks only validated, manifest-declared plugins as installed. `GET /v1/connectors`
Expand Down
18 changes: 9 additions & 9 deletions docs/control-contracts.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Dander Control contract bundle

Published client baseline: Dander `0.9.0rc19`. The current source bundle also contains unreleased
additions described below; their presence in this checkout does not publish a new client artifact.

RC33 prepares those additions for a GitHub integration prerelease. Its bundle SHA-256 is
The [RC34 GitHub integration prerelease](https://github.com/harrisonoconnorhover/dander/releases/tag/v0.9.0rc34)
publishes the current contract additions. Its bundle SHA-256 is
`a28316b7e5158e0520fe1c24d59885083714f47b67aa396892fa9742060fb279`.
Consumers must wait for the verified release wheel and pin its separate SHA-256 as well as this
bundle digest. This candidate does not change the public PyPI beta or qualify a runtime profile.
The wheel SHA-256 is `d37c1d91c15cca9ce3d080af6dec384f7cd9cbc521dea253e10dc44772d35bad`.
Both digests are pinned by the paired Druff candidate. See [guided workflow](guided-workflow.md)
for the exact source, installation, and verification record. Public PyPI remains RC20; the
historical RC19 client baseline and its original publication evidence are preserved below.

Dander is the authority for data crossing the future Control API boundary. The deterministic
Dander is the authority for data crossing the Control API boundary. The deterministic
`io.dander.control.contracts/v1` bundle lives in `src/dander/control/contracts/v1` and is included
in the `dander-platform` wheel and source distribution. Druff must generate its client from a
separately approved, immutable Dander release artifact; it must not copy these files from a source
Expand Down Expand Up @@ -198,8 +198,8 @@ date-range repair; replaying a repair run retains its recorded date window.
Neither operation requires provider-specific browser logic or a new service dependency.

Editors can request change previews; viewers can read run explanations when a lifecycle is wired.
Regenerate consumers from the immutable producer artifact after its release. The guided Druff
surface is separate work, not delivered by these two routes. Current source also exposes
The [paired Druff candidate](guided-workflow.md) consumes these routes through contracts generated
from the exact published RC34 wheel. That bundle also exposes
`graph.repair-preview` and `run.repair` for eligible execution plans; see
[selected output date repair](output-repair.md) for the request, supported scope, and evidence limits.

Expand Down
Loading
Loading