Commit Graph
1092 Commits
Author SHA1 Message Date
admin ef84832cdb Merge pull request 'fix(manifest): provenRestore=true (restore-drill 2026-09-29)' (#469) from fix/prod-restore-2026-09-29 into main
CI (SIAX Cloud) / sonar (push) Successful in 1m4s
masterplan-lock / check (push) Successful in 5s
Security Scan (SIAX Cloud) / security (push) Successful in 17s
CI (SIAX Cloud) / security (push) Successful in 59s
CI (SIAX Cloud) / quality (push) Successful in 1m29s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 54s
Deploy to Coolify / deploy (push) Successful in 1m19s
CI (SIAX Cloud) / integration (push) Successful in 9m47s
2026-11-03 15:28:31 +00:00
admin 10b989351a Merge branch 'main' into fix/prod-restore-2026-09-29
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (push) Successful in 6s
masterplan-lock / check (pull_request) Successful in 5s
CI (SIAX Cloud) / integration (pull_request) Failing after 16s
CI (SIAX Cloud) / security (pull_request) Successful in 16s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 18s
CI (SIAX Cloud) / quality (pull_request) Successful in 53s
2026-11-03 15:28:19 +00:00
admin 6265734a34 Merge pull request 'fix(signing): cosign-pubkey + SBOM + deployment/env-poster (8b5e23aa9b)' (#467) from fix/prod-evidence-2026-09-29 into main
masterplan-lock / check (push) Successful in 5s
CI (SIAX Cloud) / quality (push) Canceled after 14s
CI (SIAX Cloud) / integration (push) Canceled after 14s
CI (SIAX Cloud) / security (push) Canceled after 13s
CI (SIAX Cloud) / sonar (push) Canceled after 13s
Security Scan (SIAX Cloud) / security (push) Canceled after 14s
Deploy to Coolify / deploy (push) Successful in 4m34s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 4m38s
2026-11-03 15:28:16 +00:00
admin f135ab2ac0 Merge branch 'main' into fix/prod-evidence-2026-09-29
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (push) Successful in 4s
masterplan-lock / check (pull_request) Successful in 6s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 15s
CI (SIAX Cloud) / security (pull_request) Successful in 15s
CI (SIAX Cloud) / quality (pull_request) Successful in 1m0s
CI (SIAX Cloud) / integration (pull_request) Successful in 9m46s
2026-11-03 15:28:03 +00:00
admin cc72e5d434 Merge pull request 'feat(analytics): add 0pt analytics HTTP surface + AUD0 ingestion' (#468) from feat/analytics-api into main
Security Scan (SIAX Cloud) / security (push) Successful in 15s
CI (SIAX Cloud) / security (push) Successful in 16s
CI (SIAX Cloud) / quality (push) Successful in 40s
CI (SIAX Cloud) / sonar (push) Successful in 1m27s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 1m36s
Deploy to Coolify / deploy (push) Successful in 1m44s
CI (SIAX Cloud) / integration (push) Successful in 10m14s
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (push) Successful in 4s
masterplan-lock / check (pull_request) Successful in 7s
CI (SIAX Cloud) / security (pull_request) Successful in 15s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 25s
CI (SIAX Cloud) / quality (pull_request) Successful in 44s
CI (SIAX Cloud) / integration (pull_request) Successful in 56s
2026-11-03 13:12:52 +00:00
admin 766db9e9bb fix(analytics): bump PyJWT to 2.14.0 (CVE-2026-102268)
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (pull_request) Successful in 5s
CI (SIAX Cloud) / security (pull_request) Successful in 17s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 17s
masterplan-lock / check (push) Successful in 23s
CI (SIAX Cloud) / quality (pull_request) Successful in 1m11s
CI (SIAX Cloud) / integration (pull_request) Successful in 9m49s
2026-11-03 14:02:39 +01:00
admin 5f5d31f86d feat(analytics): add 0pt analytics HTTP surface + AUD0 ingestion
masterplan-lock / check (push) Successful in 5s
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (pull_request) Successful in 4s
CI (SIAX Cloud) / security (pull_request) Failing after 14s
Security Scan (SIAX Cloud) / security (pull_request) Failing after 17s
CI (SIAX Cloud) / integration (pull_request) Successful in 58s
CI (SIAX Cloud) / quality (pull_request) Canceled after 1m59s
2026-11-03 14:00:34 +01:00
siax-bot 4d88157cc1 fix(signing): cosign-pubkey + SBOM + deployment/env-poster för prod-imagen prod-8b5e23aa9b
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (push) Successful in 4s
masterplan-lock / check (pull_request) Successful in 4s
CI (SIAX Cloud) / security (pull_request) Successful in 16s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 15s
CI (SIAX Cloud) / integration (pull_request) Successful in 9m48s
CI (SIAX Cloud) / quality (pull_request) Successful in 10m27s
2026-11-03 13:30:22 +01:00
admin 8b5e23aa9b Merge pull request 'fix(manifest): provenRestore=true (restore-drill 2026-09-29)' (#466) from fix/prod-restore-2026-09-29 into main
masterplan-lock / check (push) Successful in 4s
Security Scan (SIAX Cloud) / security (push) Successful in 15s
CI (SIAX Cloud) / security (push) Successful in 17s
CI (SIAX Cloud) / sonar (push) Successful in 1m5s
Deploy to Coolify / deploy (push) Successful in 3m2s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 3m13s
CI (SIAX Cloud) / quality (push) Successful in 10m0s
CI (SIAX Cloud) / integration (push) Successful in 10m30s
2026-11-03 11:24:46 +00:00
admin 068d00febb Merge branch 'main' into fix/prod-restore-2026-09-29
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (push) Successful in 4s
masterplan-lock / check (pull_request) Successful in 4s
CI (SIAX Cloud) / security (pull_request) Successful in 23s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 22s
CI (SIAX Cloud) / integration (pull_request) Successful in 9m48s
CI (SIAX Cloud) / quality (pull_request) Successful in 10m7s
2026-11-03 11:24:35 +00:00
admin 9f74b53a4d Merge pull request 'fix(signing): cosign-pubkey + SBOM + deployment/env-poster (5772b4043a)' (#465) from fix/prod-evidence-2026-09-29 into main
masterplan-lock / check (push) Successful in 4s
CI (SIAX Cloud) / security (push) Successful in 13s
Security Scan (SIAX Cloud) / security (push) Successful in 15s
CI (SIAX Cloud) / quality (push) Canceled after 16s
CI (SIAX Cloud) / integration (push) Canceled after 16s
CI (SIAX Cloud) / sonar (push) Canceled after 15s
Deploy to Coolify / deploy (push) Successful in 2m31s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 2m31s
2026-11-03 11:24:31 +00:00
siax-bot ea16eabf79 fix(signing): cosign-pubkey + SBOM + deployment/env-poster för prod-imagen prod-5772b4043a
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (push) Successful in 5s
masterplan-lock / check (pull_request) Successful in 5s
CI (SIAX Cloud) / security (pull_request) Successful in 16s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 16s
CI (SIAX Cloud) / integration (pull_request) Successful in 1m3s
CI (SIAX Cloud) / quality (pull_request) Successful in 10m25s
2026-11-03 09:30:18 +01:00
admin 5772b4043a Merge pull request 'fix(manifest): provenRestore=true (restore-drill 2026-09-29)' (#464) from fix/prod-restore-2026-09-29 into main
Security Scan (SIAX Cloud) / security (push) Successful in 16s
CI (SIAX Cloud) / security (push) Successful in 34s
CI (SIAX Cloud) / quality (push) Successful in 1m0s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 56s
Deploy to Coolify / deploy (push) Successful in 32s
CI (SIAX Cloud) / sonar (push) Successful in 2m30s
CI (SIAX Cloud) / integration (push) Successful in 9m50s
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (push) Successful in 5s
masterplan-lock / check (pull_request) Successful in 5s
CI (SIAX Cloud) / security (pull_request) Successful in 18s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 16s
CI (SIAX Cloud) / integration (pull_request) Successful in 27s
CI (SIAX Cloud) / quality (pull_request) Successful in 10m2s
2026-11-03 07:28:15 +00:00
admin afa3a888bc Merge branch 'main' into fix/prod-restore-2026-09-29
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (pull_request) Successful in 6s
masterplan-lock / check (push) Successful in 13s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 25s
CI (SIAX Cloud) / security (pull_request) Successful in 34s
CI (SIAX Cloud) / integration (pull_request) Successful in 51s
CI (SIAX Cloud) / quality (pull_request) Successful in 10m14s
2026-11-03 07:28:03 +00:00
admin 9c99c2c633 Merge pull request 'fix(signing): cosign-pubkey + SBOM + deployment/env-poster (b70ae2bbfe)' (#463) from fix/prod-evidence-2026-09-29 into main
masterplan-lock / check (push) Successful in 6s
CI (SIAX Cloud) / quality (push) Canceled after 16s
CI (SIAX Cloud) / integration (push) Canceled after 16s
CI (SIAX Cloud) / security (push) Canceled after 16s
CI (SIAX Cloud) / sonar (push) Canceled after 16s
Security Scan (SIAX Cloud) / security (push) Canceled after 17s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 1m22s
Deploy to Coolify / deploy (push) Successful in 1m55s
2026-11-03 07:28:00 +00:00
siax-bot 2ec3fe9b64 fix(signing): cosign-pubkey + SBOM + deployment/env-poster för prod-imagen prod-b70ae2bbfe
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (push) Successful in 5s
masterplan-lock / check (pull_request) Successful in 4s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 16s
CI (SIAX Cloud) / integration (pull_request) Successful in 25s
CI (SIAX Cloud) / security (pull_request) Successful in 38s
CI (SIAX Cloud) / quality (pull_request) Successful in 10m20s
2026-11-03 05:30:19 +01:00
admin b70ae2bbfe Merge pull request 'fix(manifest): provenRestore=true (restore-drill 2026-09-29)' (#462) from fix/prod-restore-2026-09-29 into main
Security Scan (SIAX Cloud) / security (push) Successful in 17s
CI (SIAX Cloud) / sonar (push) Successful in 1m20s
CI (SIAX Cloud) / security (push) Successful in 1m43s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 1m57s
Deploy to Coolify / deploy (push) Successful in 2m26s
CI (SIAX Cloud) / integration (push) Successful in 10m13s
CI (SIAX Cloud) / quality (push) Successful in 10m41s
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (push) Successful in 3s
masterplan-lock / check (pull_request) Successful in 5s
CI (SIAX Cloud) / security (pull_request) Successful in 17s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 16s
CI (SIAX Cloud) / quality (pull_request) Successful in 42s
CI (SIAX Cloud) / integration (pull_request) Successful in 58s
2026-11-03 03:00:45 +00:00
admin c33d3f4d76 Merge branch 'main' into fix/prod-restore-2026-09-29
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (push) Successful in 5s
masterplan-lock / check (pull_request) Successful in 9s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 24s
CI (SIAX Cloud) / security (pull_request) Successful in 26s
CI (SIAX Cloud) / integration (pull_request) Successful in 10m2s
CI (SIAX Cloud) / quality (pull_request) Successful in 10m33s
2026-11-03 03:00:33 +00:00
admin 03e065c34d Merge pull request 'fix(signing): cosign-pubkey + SBOM + deployment/env-poster (140a02a797)' (#461) from fix/prod-evidence-2026-09-29 into main
masterplan-lock / check (push) Successful in 6s
CI (SIAX Cloud) / quality (push) Canceled after 14s
CI (SIAX Cloud) / integration (push) Canceled after 14s
CI (SIAX Cloud) / security (push) Canceled after 13s
CI (SIAX Cloud) / sonar (push) Canceled after 13s
Security Scan (SIAX Cloud) / security (push) Canceled after 14s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 3m22s
Deploy to Coolify / deploy (push) Successful in 3m25s
2026-11-03 03:00:30 +00:00
siax-bot 35719a6c68 fix(signing): cosign-pubkey + SBOM + deployment/env-poster för prod-imagen prod-140a02a797
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (pull_request) Successful in 5s
masterplan-lock / check (push) Successful in 8s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 17s
CI (SIAX Cloud) / security (pull_request) Successful in 19s
CI (SIAX Cloud) / quality (pull_request) Successful in 10m0s
CI (SIAX Cloud) / integration (pull_request) Successful in 10m38s
2026-11-03 01:30:31 +01:00
admin 140a02a797 Merge pull request 'fix(portal): en idempotensnyckel per vald fil' (#460) from fix/ui-upload-key into main
Security Scan (SIAX Cloud) / security (push) Successful in 34s
CI (SIAX Cloud) / security (push) Successful in 42s
CI (SIAX Cloud) / sonar (push) Successful in 1m13s
CI (SIAX Cloud) / quality (push) Successful in 1m32s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 1m35s
Deploy to Coolify / deploy (push) Successful in 1m38s
CI (SIAX Cloud) / integration (push) Successful in 10m10s
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (push) Successful in 7s
masterplan-lock / check (pull_request) Successful in 6s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 16s
CI (SIAX Cloud) / security (pull_request) Successful in 19s
CI (SIAX Cloud) / integration (pull_request) Successful in 59s
CI (SIAX Cloud) / quality (pull_request) Successful in 11m57s
2026-11-03 00:04:54 +00:00
admin 446b9aa299 fix(portal): one idempotency key per selected file
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (push) Successful in 6s
masterplan-lock / check (pull_request) Successful in 6s
CI (SIAX Cloud) / security (pull_request) Successful in 17s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 34s
CI (SIAX Cloud) / quality (pull_request) Successful in 10m37s
CI (SIAX Cloud) / integration (pull_request) Successful in 10m40s
A double click or a retry after a network error generated a new key each time
and therefore a duplicate document. The key is now stable until the file
selection changes, so the same upload returns the same verified receipt.
2026-11-03 00:51:42 +01:00
admin 6652fde6df Merge pull request 'fix(upload): idempotent retry ger samma verifierade kvitto' (#459) from fix/upload-retry-receipt into main
masterplan-lock / check (push) Successful in 3s
Security Scan (SIAX Cloud) / security (push) Successful in 17s
CI (SIAX Cloud) / security (push) Successful in 18s
CI (SIAX Cloud) / integration (push) Successful in 59s
CI (SIAX Cloud) / sonar (push) Successful in 59s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 1m7s
Deploy to Coolify / deploy (push) Successful in 1m27s
CI (SIAX Cloud) / quality (push) Successful in 10m3s
2026-11-02 23:36:57 +00:00
admin 92eb78ba0a fix(upload): an idempotent retry returns the same verified receipt
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (push) Successful in 4s
masterplan-lock / check (pull_request) Successful in 5s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 16s
CI (SIAX Cloud) / security (pull_request) Successful in 35s
CI (SIAX Cloud) / integration (pull_request) Successful in 37s
CI (SIAX Cloud) / quality (pull_request) Successful in 43s
A client retry with the same idempotency key replayed the journal and got
'outcome_unknown' even when the first upload had succeeded, because the
verified DOC0 receipt was never persisted. Store document/version/checksum/
stage on the attempt (sql/021) and return it on replay; only a missing receipt
falls back to observation. No second POST, no duplicate document.
2026-11-03 00:35:32 +01:00
admin 96d61d1308 Merge pull request 'fix(credits): importera trial-helpern i balance-routen' (#457) from fix/balance-trial-import into main
CI (SIAX Cloud) / security (push) Successful in 24s
Deploy to Coolify / deploy (push) Successful in 1m35s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 1m33s
CI (SIAX Cloud) / sonar (push) Successful in 1m41s
Security Scan (SIAX Cloud) / security (push) Successful in 1m54s
CI (SIAX Cloud) / quality (push) Successful in 3m21s
CI (SIAX Cloud) / integration (push) Successful in 9m57s
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (pull_request) Successful in 4s
masterplan-lock / check (push) Successful in 11s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 17s
CI (SIAX Cloud) / security (pull_request) Successful in 37s
CI (SIAX Cloud) / integration (pull_request) Successful in 1m11s
CI (SIAX Cloud) / quality (pull_request) Successful in 1m36s
2026-11-02 21:39:17 +00:00
admin 4ea55c74bb fix(credits): import the trial-credit helper in the balance route
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (push) Successful in 3s
masterplan-lock / check (pull_request) Successful in 6s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 46s
CI (SIAX Cloud) / security (pull_request) Successful in 46s
CI (SIAX Cloud) / quality (pull_request) Successful in 1m17s
CI (SIAX Cloud) / integration (pull_request) Successful in 9m47s
The call was added without its import, so GET /api/0pt/credits/balance
returned CREDITS_UNAVAILABLE (readTrialCredits is not defined). Caught live
right after enabling trial credits.
2026-11-02 22:27:19 +01:00
admin ffd7e3341e Merge pull request 'feat(credits): engångs trial-grant så ledgern körs skarpt' (#456) from feat/credit-trial-grant into main
masterplan-lock / check (push) Successful in 4s
Security Scan (SIAX Cloud) / security (push) Successful in 24s
CI (SIAX Cloud) / security (push) Successful in 32s
CI (SIAX Cloud) / integration (push) Successful in 49s
CI (SIAX Cloud) / sonar (push) Successful in 1m8s
CI (SIAX Cloud) / quality (push) Successful in 1m13s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 1m21s
Deploy to Coolify / deploy (push) Successful in 1m38s
2026-11-02 21:17:39 +00:00
admin dade37ee05 feat(credits): one-time trial grant so the ledger runs in production
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (pull_request) Successful in 4s
masterplan-lock / check (push) Successful in 5s
CI (SIAX Cloud) / security (pull_request) Successful in 16s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 16s
CI (SIAX Cloud) / integration (pull_request) Successful in 9m58s
CI (SIAX Cloud) / quality (pull_request) Successful in 10m25s
- Ledger accepts kind='grant' (a server-owned balance grant, not a payment).
- OPT_TRIAL_CREDITS=N grants N credits once per tenant (idempotent key
  trial:<tenant>) on balance/structure, so reserve -> settle is exercised
  before any customer purchase.
- sql/020 extends the kind constraint (re-runnable).
- Tests for the grant helper; full suite 1345 passed.
2026-11-02 22:05:06 +01:00
admin 456e331d80 Merge pull request 'fix(signing): cosign-pubkey + SBOM + deployment/env-poster (6a4a45a480)' (#455) from fix/prod-evidence-2026-09-29 into main
masterplan-lock / check (push) Successful in 4s
CI (SIAX Cloud) / security (push) Successful in 19s
Security Scan (SIAX Cloud) / security (push) Successful in 19s
CI (SIAX Cloud) / quality (push) Successful in 1m13s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 1m20s
Deploy to Coolify / deploy (push) Successful in 1m32s
CI (SIAX Cloud) / sonar (push) Successful in 1m50s
CI (SIAX Cloud) / integration (push) Successful in 10m58s
2026-11-02 20:50:29 +00:00
admin 6a4a45a480 Merge pull request 'ci(integration): rensa OpenSearch read-only-block (inte bara vattenmärket)' (#454) from fix/ci-opensearch-clear-readonly into main
masterplan-lock / check (push) Successful in 7s
CI (SIAX Cloud) / security (push) Successful in 21s
Security Scan (SIAX Cloud) / security (push) Successful in 27s
CI (SIAX Cloud) / quality (push) Successful in 40s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 49s
Deploy to Coolify / deploy (push) Successful in 56s
CI (SIAX Cloud) / sonar (push) Successful in 58s
CI (SIAX Cloud) / integration (push) Successful in 10m5s
2026-11-02 19:41:48 +00:00
admin f29d2876a1 ci(integration): clear the OpenSearch read-only block, not just the watermark
masterplan-lock / check (push) Successful in 4s
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (pull_request) Successful in 3s
CI (SIAX Cloud) / security (pull_request) Successful in 17s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 18s
CI (SIAX Cloud) / integration (pull_request) Successful in 59s
CI (SIAX Cloud) / quality (pull_request) Successful in 10m24s
Disabling cluster.routing.allocation.disk.threshold_enabled does not clear a
cluster already in flood stage: it keeps cluster.blocks.read_only_allow_delete
and every write returns 403 index_create_block_exception (run 389046, still red
after the previous fix). Clear that block explicitly on every attempt, set the
threshold off at boot, and print the probe/settings bodies for future triage.

Verified locally against opensearch:2.11.1: read-only block -> 403, then
PUT {... read_only_allow_delete: null} -> index creation 200.
2026-11-02 20:29:30 +01:00
admin 24f4a407c8 Merge pull request 'fix(live): betalningsspärr i pilot + tydligt OCR-fel' (#453) from fix/live-honesty-and-billing-guard into main
masterplan-lock / check (push) Successful in 5s
Security Scan (SIAX Cloud) / security (push) Successful in 24s
CI (SIAX Cloud) / security (push) Successful in 26s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 1m1s
CI (SIAX Cloud) / quality (push) Successful in 1m13s
Deploy to Coolify / deploy (push) Successful in 1m14s
CI (SIAX Cloud) / sonar (push) Successful in 2m17s
CI (SIAX Cloud) / integration (push) Failing after 5m39s
2026-11-02 19:14:57 +00:00
admin a0dd6b7653 fix(live): refuse billing in pilot mode and explain unparsed documents
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (pull_request) Successful in 3s
masterplan-lock / check (push) Successful in 14s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 18s
CI (SIAX Cloud) / security (pull_request) Successful in 23s
CI (SIAX Cloud) / quality (pull_request) Successful in 54s
CI (SIAX Cloud) / integration (pull_request) Successful in 1m2s
- Checkout returns 503 CREDITS_DISABLED while OPT_CREDITS_MODE=off, so a
  customer can never pay for credits that the pipeline will not consume.
- Packs expose purchases_enabled; the portal hides Buy and says billing is off.
- Structuring an unparsed document (e.g. a scanned PDF with no text layer) now
  answers 422 DOCUMENT_NOT_PARSED instead of a generic INVALID_REQUEST.
2026-11-02 20:14:12 +01:00
admin 8822b2adaa Merge pull request 'ci(integration): åtgärda OpenSearch disk-vattenmärke (index_create_block)' (#451) from fix/ci-opensearch-watermark into main
masterplan-lock / check (push) Successful in 9s
CI (SIAX Cloud) / security (push) Successful in 26s
Security Scan (SIAX Cloud) / security (push) Successful in 33s
CI (SIAX Cloud) / sonar (push) Successful in 2m2s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 2m26s
Deploy to Coolify / deploy (push) Successful in 2m28s
CI (SIAX Cloud) / integration (push) Successful in 10m1s
CI (SIAX Cloud) / quality (push) Successful in 10m22s
2026-11-02 18:40:50 +00:00
admin 153c9b0cfc ci(integration): disable the CI-only OpenSearch disk watermark and prove index creation
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (pull_request) Successful in 4s
masterplan-lock / check (push) Successful in 5s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 15s
CI (SIAX Cloud) / security (pull_request) Successful in 17s
CI (SIAX Cloud) / integration (pull_request) Successful in 9m48s
CI (SIAX Cloud) / quality (pull_request) Successful in 10m0s
The throwaway single-node cluster inherits the runner's disk watermark; on a
busy runner the flood stage turns every new index read-only and the blocking
suite fails with 403 index_create_block_exception (run 388536). Disable the
threshold for this container and create+delete a probe index before the tests.
2026-11-02 19:18:03 +01:00
admin 32182b50dd Merge pull request 'docs(deploy): runbook + workflow-rubriker matchar live-pipelinen' (#450) from docs/deploy-runbook into main
CI (SIAX Cloud) / security (push) Successful in 18s
Security Scan (SIAX Cloud) / security (push) Successful in 21s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 1m9s
CI (SIAX Cloud) / sonar (push) Successful in 1m17s
Deploy to Coolify / deploy (push) Successful in 1m23s
CI (SIAX Cloud) / quality (push) Successful in 1m28s
CI (SIAX Cloud) / integration (push) Failing after 5m23s
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (push) Successful in 5s
masterplan-lock / check (pull_request) Successful in 7s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 16s
CI (SIAX Cloud) / security (pull_request) Successful in 16s
CI (SIAX Cloud) / quality (pull_request) Successful in 10m7s
CI (SIAX Cloud) / integration (pull_request) Successful in 10m30s
2026-11-02 17:58:38 +00:00
admin ea40a67940 docs(deploy): runbook and workflow headers match the live pipeline
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (push) Successful in 5s
masterplan-lock / check (pull_request) Successful in 4s
CI (SIAX Cloud) / security (pull_request) Successful in 16s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 17s
CI (SIAX Cloud) / integration (pull_request) Successful in 9m49s
CI (SIAX Cloud) / quality (pull_request) Successful in 10m1s
The runbook still described Vercel and an unprovisioned Coolify app. It now
documents the verified chain (ci -> release attestation -> cd -> Coolify),
the proven manual dispatch, the verification endpoints and the rollback.
2026-11-02 18:57:45 +01:00
siax-bot 6e2d7b3068 Merge pull request 'feat(auth): central Keycloak portal-trust' (#449) from fix/keycloak-portal-trust-20261102 into main
masterplan-lock / check (push) Successful in 8s
Security Scan (SIAX Cloud) / security (push) Successful in 21s
CI (SIAX Cloud) / security (push) Successful in 43s
CI (SIAX Cloud) / sonar (push) Successful in 1m6s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 1m17s
Deploy to Coolify / deploy (push) Successful in 1m20s
CI (SIAX Cloud) / integration (push) Failing after 5m18s
CI (SIAX Cloud) / quality (push) Successful in 10m15s
2026-11-02 17:47:25 +00:00
admin c4a7b83f61 feat(auth): central Keycloak portal-trust (KEYCLOAK_ISSUER/audience/azp)
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (pull_request) Successful in 4s
masterplan-lock / check (push) Successful in 5s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 16s
CI (SIAX Cloud) / security (pull_request) Successful in 21s
CI (SIAX Cloud) / quality (pull_request) Successful in 39s
CI (SIAX Cloud) / integration (pull_request) Successful in 9m57s
2026-11-02 18:45:40 +01:00
admin 56d3a8341b Merge pull request 'ci(smoke): läs main-SHA från commits-listan' (#448) from fix/smoke-main-sha into main
masterplan-lock / check (push) Successful in 4s
CI (SIAX Cloud) / security (push) Successful in 16s
Security Scan (SIAX Cloud) / security (push) Successful in 17s
CI (SIAX Cloud) / integration (push) Successful in 45s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 47s
Deploy to Coolify / deploy (push) Successful in 58s
CI (SIAX Cloud) / sonar (push) Successful in 58s
CI (SIAX Cloud) / quality (push) Successful in 1m49s
2026-11-02 17:31:39 +00:00
admin 118fd39f87 ci(smoke): read main SHA from the commits list endpoint
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (push) Successful in 5s
masterplan-lock / check (pull_request) Successful in 5s
CI (SIAX Cloud) / security (pull_request) Successful in 28s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 1m1s
CI (SIAX Cloud) / quality (pull_request) Successful in 1m9s
CI (SIAX Cloud) / integration (pull_request) Failing after 5m5s
/commits/main returns 404 on this Gitea; use /commits?limit=1 and parse the
first sha with python instead of a greedy sed.
2026-11-02 18:30:44 +01:00
admin d2854553e7 Merge pull request 'ci: optimera pipelines + automatisk produktionssmoke' (#447) from chore/optimize-pipelines into main
CI (SIAX Cloud) / security (push) Successful in 25s
masterplan-lock / check (push) Successful in 10s
Security Scan (SIAX Cloud) / security (push) Successful in 43s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 1m8s
Deploy to Coolify / deploy (push) Successful in 1m46s
CI (SIAX Cloud) / sonar (push) Successful in 1m54s
CI (SIAX Cloud) / quality (push) Canceled after 5m35s
CI (SIAX Cloud) / integration (push) Canceled after 5m34s
2026-11-02 17:25:58 +00:00
admin c01deca048 ci: optimize delivery pipelines and add a production smoke gate
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (push) Successful in 5s
masterplan-lock / check (pull_request) Successful in 10s
CI (SIAX Cloud) / security (pull_request) Successful in 19s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 21s
CI (SIAX Cloud) / integration (pull_request) Successful in 40s
CI (SIAX Cloud) / quality (pull_request) Successful in 2m13s
- One run per ref (concurrency) for CI, security, nightly and release; branch
  pushes no longer duplicate pull_request runs (push is main-only).
- Deploys keep their own concurrency group so two runs never race Coolify.
- pnpm store cache on every Node job.
- New /api/version returns the deployed commit (no secrets).
- New scheduled prod-smoke workflow: readiness, db/stripe health, running
  commit == main, and the document/credit routes exist (401/405, never 5xx).
2026-11-02 18:24:45 +01:00
admin 4f5deec857 Merge pull request 'fix(workbench): numerisk decimal → källans exakta sträng' (#446) from fix/decimal-number-source into main
masterplan-lock / check (push) Successful in 7s
CI (SIAX Cloud) / security (push) Successful in 15s
Security Scan (SIAX Cloud) / security (push) Successful in 21s
CI (SIAX Cloud) / integration (push) Successful in 30s
CI (SIAX Cloud) / quality (push) Successful in 47s
CI (SIAX Cloud) / sonar (push) Successful in 56s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 1m6s
Deploy to Coolify / deploy (push) Successful in 1m20s
2026-11-02 17:10:22 +00:00
admin c7187368de fix(workbench): accept a JSON-number decimal and deliver the source's exact string
CI (SIAX Cloud) / sonar (pull_request) Skipped
CI (SIAX Cloud) / sonar (push) Skipped
CI (SIAX Cloud) / integration (push) Skipped
masterplan-lock / check (push) Successful in 4s
masterplan-lock / check (pull_request) Successful in 8s
CI (SIAX Cloud) / security (push) Successful in 17s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 24s
CI (SIAX Cloud) / security (pull_request) Successful in 25s
CI (SIAX Cloud) / integration (pull_request) Successful in 33s
Security Scan (SIAX Cloud) / security (push) Successful in 33s
CI (SIAX Cloud) / quality (push) Successful in 54s
CI (SIAX Cloud) / quality (pull_request) Successful in 58s
The local model returns 12500.00 as a JSON number, which the contract rejects
as a non-string decimal. A numeric value now matches a source span numerically
and the delivered value is rewritten to that span's decimal string (12500.00),
so precision is preserved instead of rounded. Exact string equality is still
required for string decimals, and ambiguous formats still go to review.
2026-11-02 18:07:52 +01:00
admin a23c744588 Merge pull request 'fix(decision-ollama): native JSON-läge utan thinking' (#445) from fix/ollama-native-json into main
masterplan-lock / check (push) Successful in 12s
Security Scan (SIAX Cloud) / security (push) Successful in 14s
CI (SIAX Cloud) / security (push) Successful in 28s
CI (SIAX Cloud) / integration (push) Successful in 42s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 58s
CI (SIAX Cloud) / quality (push) Successful in 1m1s
CI (SIAX Cloud) / sonar (push) Successful in 1m8s
Deploy to Coolify / deploy (push) Successful in 1m11s
2026-11-02 16:52:32 +00:00
admin 8b571cf2f4 fix(decision-ollama): use Ollama's native JSON mode without thinking
CI (SIAX Cloud) / integration (push) Skipped
CI (SIAX Cloud) / sonar (push) Skipped
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (pull_request) Successful in 5s
Security Scan (SIAX Cloud) / security (push) Successful in 14s
CI (SIAX Cloud) / security (push) Successful in 17s
masterplan-lock / check (push) Successful in 17s
CI (SIAX Cloud) / security (pull_request) Successful in 20s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 21s
CI (SIAX Cloud) / integration (pull_request) Successful in 54s
CI (SIAX Cloud) / quality (push) Successful in 1m24s
CI (SIAX Cloud) / quality (pull_request) Successful in 1m29s
The 9B model spent its whole 4000-token budget on reasoning and came back
model_incomplete. Call /api/chat with format=json, think=false and num_predict,
and read prompt_eval_count/eval_count/done_reason. Structured extraction no
longer needs chain-of-thought.
2026-11-02 17:51:09 +01:00
admin ce2d8b58ea Merge pull request 'feat(workbench): entydig decimal/datum-evidens utan AI-beroende' (#444) from feat/deterministic-date-decimal into main
masterplan-lock / check (push) Successful in 6s
CI (SIAX Cloud) / security (push) Successful in 20s
Security Scan (SIAX Cloud) / security (push) Successful in 23s
CI (SIAX Cloud) / integration (push) Successful in 27s
CI (SIAX Cloud) / quality (push) Successful in 48s
Release chain (G17, ADR-W16-003) / Build, push, G17 (SBOM/scan/attest/verify/evidence) (push) Successful in 1m19s
Deploy to Coolify / deploy (push) Successful in 1m31s
CI (SIAX Cloud) / sonar (push) Successful in 1m30s
2026-11-02 16:42:02 +00:00
admin 6c4f1998dc feat(workbench): locale-aware decimal/date evidence without an AI dependency
CI (SIAX Cloud) / integration (push) Skipped
CI (SIAX Cloud) / sonar (push) Skipped
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (push) Successful in 4s
masterplan-lock / check (pull_request) Successful in 10s
CI (SIAX Cloud) / security (push) Successful in 20s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 20s
CI (SIAX Cloud) / security (pull_request) Successful in 21s
Security Scan (SIAX Cloud) / security (push) Successful in 28s
CI (SIAX Cloud) / integration (pull_request) Successful in 38s
CI (SIAX Cloud) / quality (push) Successful in 48s
CI (SIAX Cloud) / quality (pull_request) Successful in 47s
A source span now supports a decimal ('12 500,00' -> '12500.00') or a date
('14/10/2026' -> '2026-10-14') when the reading is unambiguous. Ambiguous
formats (01/02/2026, 1,234) still go to review. Evidence derivation scans the
source for typed candidates, so the local decision-server model only has to
return values, not UTF-16 offsets.
2026-11-02 17:39:31 +01:00
siax-bot 0b50f342a3 fix(signing): cosign-pubkey + SBOM + deployment/env-poster för prod-imagen prod-c386004f2e
CI (SIAX Cloud) / integration (push) Skipped
CI (SIAX Cloud) / sonar (push) Skipped
masterplan-lock / check (push) Successful in 5s
Security Scan (SIAX Cloud) / security (push) Successful in 20s
CI (SIAX Cloud) / security (push) Successful in 23s
CI (SIAX Cloud) / quality (push) Successful in 1m35s
CI (SIAX Cloud) / sonar (pull_request) Skipped
masterplan-lock / check (pull_request) Successful in 6s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 18s
CI (SIAX Cloud) / security (pull_request) Successful in 19s
CI (SIAX Cloud) / integration (pull_request) Successful in 28s
CI (SIAX Cloud) / quality (pull_request) Successful in 45s
2026-11-02 17:30:19 +01:00