Repository navigation
v1.0.0
v1.0.0
First general release of ACCP after Stage A (M1–M3) and Stage B M4. Prefer digest-pinned images from the GitHub Release; do not install from a floating latest tag.
Highlights
Stage A (M1–M3)
- M1 verification: US-13a
Idempotency-Replayed: trueresponse header (PR #22); US-4 race+integration evidence recorded; US-6accp-ops checkfortask_contextsDELETE grants. US-5 (live GitHub token sync) remains open. - M2 release pipeline: US-7/8 tag→CI→GHCR + GitHub Release with Bridge packages and upgrade-notes gate (first exercised as
v0.1.0-rc.1). - M3 capacity: US-2/3/16 W0 load test and restore drill; optional
ACCP_DATABASE_MAX_CONNS; backups includepg_trgmviapg_dump --extension=pg_trgm.
Stage B (M4)
- US-10: Web console split of workspace/tasks/main into feature modules (structure only).
- US-11a / US-11b: Task list
sort/orderwith composite cursors; console server-side filter/sort and load-more (no total count). - US-12: OIDC
returnTokeeps search + hash; copy-link for filtered views. - US-13a / US-13b: Idempotent replay header (PR #22) and safe write-retry / replayed-success feedback (PR #23).
- US-17: Docs only — SPA client ID vs API audience wording aligned; real target-IdP drill deferred (Q8).
- Web follow-ups: prettier alignment (
ecbea4e), modal Escape with select overlay (bd2907e), forbidden deep-link copy (64c301c), browser acceptance locators (fb12b4d).
Compatibility
Supported upgrade-from: installs documented as v0.1.0-rc.1 (docs/releases/v0.1.0-rc.1.md). Fresh install is also supported. Untagged or pre-RC builds should treat this as a new install after backup, or follow the documented adopt path separately.
Migrations
Apply the normal production Compose sequence (migrate then grants) before returning traffic.
006_task_query.sql(required before enabling the M4 Web task list/search): creates task list indexes and a GIN trigram search index. It runsCREATE EXTENSION IF NOT EXISTS pg_trgm. New installs create the extension during migrate/init; existing upgrades must ensurepg_trgmalready exists in the application database (created once by a privileged role). Do not grant the migrator durable database-levelCREATEsolely for this step.- No additional migrate files beyond current
mainare required for this tag once006_task_query.sqland grants have succeeded. - After restore, confirm
accp.tasks_search_trgm(or equivalent) is present; production dumps include--extension=pg_trgmso restore recreates the extension with the schema dump.
Grants / privileges
Production installs must apply deploy/production/grants.sql after migrate so accp_api receives the targeted DELETE privilege on accp.task_contexts (required for editable-task context re-select after D09).
Verify with:
accp-ops check --database-url-file /run/secrets/migrator_urlOn failure, re-run grants:
docker compose -f deploy/production/compose.yaml run --rm grantsSkipping grants can silently break D07 context re-select on upgraded or adopted environments.
Config / secrets / compose
- Optional
ACCP_DATABASE_MAX_CONNS(default10, valid 1–1000) on API/Worker. Documented in Compose; omit to keep historical behavior. Size pools so API + Worker totals stay under PostgreSQLmax_connections(W0 evidence used40+40withmax_connections=100). - Dev Compose may expose metrics on
ACCP_METRICS_ADDR/ hostACCP_METRICS_PORT; production still pinsACCP_IMAGE(and ops image) to Release digests. - No new secret file names for this release. Keep SPA client ID (
ACCP_OIDC_CLIENT_ID, exampleaccp-web) distinct from API audience (ACCP_OIDC_AUDIENCE, exampleaccp-api).
Breaking / operator actions
- Pin
ACCP_IMAGE(and ops image for backups) to digests published on this Release; do not use mutable local tags as the install identity. - After migrate, always run grants and confirm with
accp-ops checkbefore returning traffic. - Do not use
down -vduring upgrade or maintenance; named volumes hold PostgreSQL, JetStream, and Caddy state. - Task list API (US-11a): clients that need a meaningful order must pass
sort(updated_atortitle) and optionalorder(asc/desc). Omittingsortkeeps the legacy id-keyset walk for old clients, but that order is not a product promise (ids are random). Default order whensort=updated_atisdesc; whensort=titleisasc. Unsupported sort/order values return400withINVALID_SORT/INVALID_ORDER. - Composite cursors:
next_cursorbinds sort/order and active filters. Reusing a cursor with a different sort, order, or filter returns400 INVALID_CURSOR. Drop the cursor and restart paging when the query signature changes. - Idempotency: successful replays add response header
Idempotency-Replayed: true(additive). Clients that ignore unknown headers remain compatible; the Web console uses the header for “already succeeded” feedback.
Known limits
- US-17: documentation only this release; real enterprise IdP rotation/expiry drill remains deferred per product decision Q8.
- US-5: live GitHub token commit-pinned context sync verification is not closed.
- M5 / US-14, US-14b, US-15: day-2 project member management, organization-ADMIN account deactivate, and console project/repo provisioning are not in this release.
- Web auth tokens live in memory only; a full page reload clears them and requires re-authentication (sessionStorage holds short-lived OIDC callback state only).
Reviewed-against
- docs/product-plan-next-phase.md
- docs/w0-baseline-2026-10-25.md
- docs/web-console-guide.md
- docs/production-deployment.md
- docs/loadtest/w0-2026-10-26.md
- docs/m1-control-plane.md
Artifacts
Image digests, Bridge archives, and SHA256SUMS.txt are attached to the GitHub Release for this tag. Use those digests in Compose (ACCP_IMAGE=ghcr.io/javaweh/accp@sha256:…) and backup --image / --ops-image flags.
Published digests
{
"tag": "v1.0.0",
"accp": "ghcr.io/javaweh/accp@sha256:eb5a39db7bb1693458f3bdf948c0d5b4ca5d0a268c1f74661605afa3b5b25eae",
"accp_ops": "ghcr.io/javaweh/accp-ops@sha256:ad96925a026f18df56f3171470ab66e1c5778d576bec9f26f80736ddae4b6792"
}Bridge checksums
e1e9e9fb8e2e675f5598a66955b617e98ad21da014de90688b3001c55dfd4d0a accp-bridge-v1.0.0-linux-amd64.tar.gz
a30848aef6a160a509d46446680fef004a2ecb1967776227074a60471c0a159b accp-bridge-v1.0.0-linux-arm64.tar.gz
a5adda0a362c45b33ee337aedb1c3557a53705f280f8e70855bf1055738cfbdb accp-bridge-v1.0.0-darwin-amd64.tar.gz
24745fc2cc01da955e33c764fc0ee1b2a97b28e0939262933a34f97f1734a4ca accp-bridge-v1.0.0-darwin-arm64.tar.gz
ada9536f1b0eb6842091dba2205c2883f4d13b7d74f2e544cd90b574cf94d670 accp-bridge-v1.0.0-windows-amd64.zip