Jesse_Chen
8169bd85f7
feat(consult): classify consultation workflow failures for diagnosis
...
Independent Staging Quality Gate / validate (push) Failing after 13m12s
Independent Staging Quality Gate / publish (push) Has been skipped
Every workflow fault except abort and timeout collapsed into the single
calculation_failed code, and the upstream message was discarded, so a failing
run left no evidence of whether the API rejected the call or returned a payload
that missed the response contract.
Classify failures into a closed vocabulary carried on ConsultationWorkflowError
and record it as the failureCode of the runtime step. The observability tool
call schema gains one controlled optional field; upstream error text stays out
of logs, as that contract requires. Forward request_id to the API so a run can
be aligned with its access log.
Build public receipts from an explicit allowlist. The internal failure code
must not reach the client contract, whose step schema is strict and would
otherwise reject a successful run.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-17 12:44:19 +08:00
Jesse_Chen
7886629b36
fix(consult): accept a calculation that succeeds after transient failures
...
Independent Staging Quality Gate / validate (push) Failing after 12m9s
Independent Staging Quality Gate / publish (push) Has been skipped
The runtime contract gated on total consultation tool attempts, so a single
transient calculation failure raised the counter past one and made the run
unrecoverable even after a later attempt succeeded. The already-computed chart
was discarded and the request ended as runtime_contract_incomplete.
Count only successful workflow executions against the single-calculation
boundary. Failed attempts stay in the attempt counter for observability. The
request-scoped cache still retains the successful promise, so a request can
never run more than one billable calculation.
Also record the staging-first branch delivery convention in AGENTS.md.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-17 12:12:48 +08:00
Jesse_Chen
bced1b9d57
fix(ui): keep mobile onboarding and login usable
...
Independent Staging Quality Gate / validate (push) Failing after 12m37s
Independent Staging Quality Gate / publish (push) Has been skipped
Hide the dead composer during birth-time intake, replace internal
copy with user-facing hints, and keep short-screen login, location
search, and session history reachable on phones.
2026-08-17 11:41:35 +08:00
Jesse_Chen
7050f7ee17
fix(admin): restore product visibility and code copying
Independent Staging Quality Gate / validate (push) Successful in 13m47s
Independent Staging Quality Gate / publish (push) Successful in 10m6s
2026-08-17 10:25:16 +08:00
Jesse_Chen
1cbdb774e0
fix(admin): pass verified identity role to code RPCs
Independent Staging Quality Gate / validate (push) Successful in 13m41s
Independent Staging Quality Gate / publish (push) Successful in 9m41s
2026-08-16 20:40:25 +08:00
Jesse_Chen
9e725babd9
test(admin): enforce direct action contracts
Independent Staging Quality Gate / validate (push) Successful in 12m27s
Independent Staging Quality Gate / publish (push) Successful in 9m35s
2026-08-16 18:33:37 +08:00
Jesse_Chen
ab238bf55f
test(admin): align redemption audit permission contract
Independent Staging Quality Gate / validate (push) Failing after 12m13s
Independent Staging Quality Gate / publish (push) Has been skipped
2026-08-16 18:15:28 +08:00
Jesse_Chen
945d61fa1c
fix(admin): remove redundant confirmations and repair code access
Independent Staging Quality Gate / validate (push) Failing after 12m38s
Independent Staging Quality Gate / publish (push) Has been skipped
2026-08-16 17:55:15 +08:00
Jesse_Chen
f12a43ad1d
fix(consult): allow reported-time precision and persist receipts
Independent Staging Quality Gate / validate (push) Successful in 12m1s
Independent Staging Quality Gate / publish (push) Successful in 9m50s
2026-08-16 16:59:16 +08:00
Jesse_Chen
a8279623aa
fix(reports): accept exact family birth time
Independent Staging Quality Gate / validate (push) Has been cancelled
Independent Staging Quality Gate / publish (push) Has been cancelled
2026-08-16 16:55:09 +08:00
Jesse_Chen
c712787ec2
fix(admin): remove manual reasons and repair code creation
Independent Staging Quality Gate / validate (push) Has been cancelled
Independent Staging Quality Gate / publish (push) Has been cancelled
2026-08-16 16:49:11 +08:00
Jesse_Chen
9df43e8112
fix(rectification): bind skill before provider run
Independent Staging Quality Gate / validate (push) Successful in 15m7s
Independent Staging Quality Gate / publish (push) Successful in 9m36s
2026-08-16 15:31:00 +08:00
Jesse_Chen
4f6cf5782d
fix(admin): remove operation-level email reauthentication
Independent Staging Quality Gate / validate (push) Successful in 12m37s
Independent Staging Quality Gate / publish (push) Successful in 10m0s
2026-08-16 14:07:57 +08:00
Jesse_Chen
9d8570640d
fix(frontend): recover rectification and consultation retries
Independent Staging Quality Gate / validate (push) Successful in 14m1s
Independent Staging Quality Gate / publish (push) Successful in 9m58s
2026-08-16 13:13:49 +08:00
Jesse_Chen
8ddcef4cf1
fix(deploy): prevent Next.js chunk version skew
Independent Staging Quality Gate / validate (push) Successful in 13m28s
Independent Staging Quality Gate / publish (push) Successful in 10m14s
2026-08-16 09:09:27 +08:00
Jesse_Chen
7b620c7a2e
fix: repair production lock through direct mount
Independent Staging Quality Gate / validate (push) Successful in 13m1s
Independent Staging Quality Gate / publish (push) Successful in 2m13s
2026-08-16 04:16:12 +08:00
Jesse_Chen
9f31de7b4a
fix: preserve recovery helper traversal
Independent Staging Quality Gate / validate (push) Successful in 12m19s
Independent Staging Quality Gate / publish (push) Successful in 2m14s
2026-08-16 03:30:03 +08:00
Jesse_Chen
29a7295667
fix: reuse docker boundary for production recovery
Independent Staging Quality Gate / validate (push) Successful in 13m32s
Independent Staging Quality Gate / publish (push) Successful in 2m13s
2026-08-16 02:42:18 +08:00
Jesse_Chen
2b1deff0e9
fix: repair production recovery lock ownership
Independent Staging Quality Gate / validate (push) Successful in 12m23s
Independent Staging Quality Gate / publish (push) Successful in 2m6s
2026-08-16 01:50:50 +08:00
Jesse_Chen
934c4175d3
ops: automate production recovery attestation
Independent Staging Quality Gate / validate (push) Successful in 13m3s
Independent Staging Quality Gate / publish (push) Successful in 2m18s
2026-08-16 01:03:10 +08:00
Jesse_Chen
0d59d51814
fix: allow public daily guidance without birth minute
Independent Staging Quality Gate / validate (push) Successful in 14m4s
Independent Staging Quality Gate / publish (push) Successful in 9m22s
2026-08-15 23:55:57 +08:00
Jesse_Chen
b6df2d9e82
test: accept stable profile refresh semantics
Independent Staging Quality Gate / validate (push) Has been cancelled
Independent Staging Quality Gate / publish (push) Has been cancelled
2026-08-15 23:45:34 +08:00
Jesse_Chen
1084dce770
fix: avoid repeated daily starlanguage refresh
Independent Staging Quality Gate / validate (push) Failing after 11m57s
Independent Staging Quality Gate / publish (push) Has been skipped
2026-08-15 23:28:49 +08:00
Jesse_Chen
cf945b3455
test: accept user-centered daily draft
Independent Staging Quality Gate / validate (push) Successful in 12m21s
Independent Staging Quality Gate / publish (push) Successful in 9m12s
2026-08-15 22:07:43 +08:00
Jesse_Chen
12b6398c7b
fix: make starter questions user-centered
Independent Staging Quality Gate / validate (push) Failing after 12m39s
Independent Staging Quality Gate / publish (push) Has been skipped
2026-08-15 21:52:02 +08:00
Jesse_Chen
47a22319fd
fix(rectification): resolve missing birth timezone offsets
Independent Staging Quality Gate / validate (push) Successful in 12m36s
Independent Staging Quality Gate / publish (push) Successful in 9m33s
2026-08-15 21:01:00 +08:00
Jesse_Chen
5b023e9480
fix(rectification): open cases for uncertain birth times
Independent Staging Quality Gate / validate (push) Successful in 12m32s
Independent Staging Quality Gate / publish (push) Successful in 9m9s
2026-08-15 20:24:43 +08:00
Jesse_Chen
995da2d4b4
fix(onboarding): restore uncertain birth-time intake
Independent Staging Quality Gate / validate (push) Successful in 20m10s
Independent Staging Quality Gate / publish (push) Successful in 8m46s
2026-08-15 19:29:33 +08:00
Jesse_Chen
2984b6d1d0
test(rectification): align staging gate contracts
Independent Staging Quality Gate / validate (push) Successful in 12m25s
Independent Staging Quality Gate / publish (push) Successful in 8m48s
2026-08-15 18:17:51 +08:00
Jesse_Chen
1e7104b45c
Merge remote-tracking branch 'origin/staging' into codex/fix-rectification-focus-baseline
...
Independent Staging Quality Gate / validate (push) Failing after 12m10s
Independent Staging Quality Gate / publish (push) Has been skipped
# Conflicts:
# docs/BUG_HISTORY.md
2026-08-15 17:51:29 +08:00
Jesse_Chen
075c62e579
fix(rectification): reset fresh cases to reported time
2026-08-15 17:50:51 +08:00
Jesse_Chen
48a6f43b64
fix(ui): restore mobile scroll and theme layout
Independent Staging Quality Gate / validate (push) Successful in 13m32s
Independent Staging Quality Gate / publish (push) Successful in 9m8s
2026-08-15 16:25:39 +08:00
Jesse_Chen
b0a1174eae
test(deploy): guard unreadable staging revision fallback
Independent Staging Quality Gate / validate (push) Successful in 13m47s
Independent Staging Quality Gate / publish (push) Successful in 2m30s
2026-08-15 14:32:58 +08:00
Jesse_Chen
cc1d1d3fb3
fix(deploy): fall back to container SHA discovery when the staging revision state file is unreadable
...
The staging host currently has .state/deployed-revision unreadable by the
deploy user, so the forward-only revision check failed with 'Permission
denied' before it could compare revisions. Treat an unreadable state file
like a missing one and discover the running revision from the web
container's GITHUB_SHA, in both the workflow step and the server-side
deploy/migration scripts.
2026-08-15 14:32:40 +08:00
Jesse_Chen
192cb5577d
fix(consultation): close staging integration contracts
Independent Staging Quality Gate / validate (push) Successful in 13m39s
Independent Staging Quality Gate / publish (push) Successful in 9m49s
2026-08-15 12:42:44 +08:00
Jesse_Chen
5bcc283d26
merge: integrate consultation runtime v2 into staging
2026-08-15 12:28:28 +08:00
Jesse_Chen
24fc83d972
Merge codex/pr2-final-response into staging integration
2026-08-15 12:27:00 +08:00
Jesse_Chen
3756c0ed9d
merge: integrate upstream governance into staging
2026-08-15 12:17:22 +08:00
Jesse_Chen
8abd248f49
feat(governance): pin selective upstream import contract
2026-08-15 12:13:09 +08:00
Jesse_Chen
7cc7d424fe
fix: preserve complete skill package snapshot
Independent Staging Quality Gate / validate (push) Successful in 12m20s
Independent Staging Quality Gate / publish (push) Successful in 9m30s
2026-08-15 10:14:28 +08:00
Jesse_Chen
48d2104300
docs: clarify release gate evidence
Independent Staging Quality Gate / validate (push) Failing after 12m0s
Independent Staging Quality Gate / publish (push) Has been skipped
2026-08-15 09:37:44 +08:00
Jesse_Chen
0e5575a8a9
test: close local release gate regressions
Independent Staging Quality Gate / validate (push) Has been cancelled
Independent Staging Quality Gate / publish (push) Has been cancelled
2026-08-15 09:32:28 +08:00
Jesse_Chen
e58bc36909
test: add agent evals and safe observability
2026-08-15 07:06:19 +08:00
Jesse_Chen
6d192ad175
feat: add consultation and product domain registries
2026-08-15 06:04:23 +08:00
Jesse_Chen
5012ff7212
feat: add persistent personal report document v2
2026-08-15 05:10:37 +08:00
Jesse_Chen
9d2d79801d
feat: add report evidence bundle v2
2026-08-15 02:15:45 +08:00
Jesse_Chen
83fef19779
feat: add rectification event decision contract v2
2026-08-15 00:56:06 +08:00
Jesse_Chen
21fce9513c
feat(rectification): enforce v10 runtime and conversation focus
2026-08-14 22:49:18 +08:00
Jesse_Chen
65a75ab29f
feat(consultation): enforce server plan boundaries
2026-08-14 20:22:52 +08:00
Jesse_Chen
09f811a79e
fix(consultation): decouple reply metadata from prompt
2026-08-14 18:01:30 +08:00