Rogee and rogee
eaf6edef66
HH-503: harden production Docker mock assertions ( #112 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 07:40:23 +08:00
Rogee and rogee
a5d244d293
HH-500: add reproducible production dist bundle ( #111 )
...
* HH-500: add reproducible production dist bundle
* HH-500: make production bundle builds reproducible
* HH-500: lock complete runtime APK closure
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 00:22:20 +08:00
Rogee and rogee
ef8931099c
HH-469: close WebSocket fanout contract gaps ( #109 )
...
* HH-469: close websocket fanout contract gaps
* fix: unify message sender contracts
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 00:22:01 +08:00
Rogee and rogee
f91dc6ca1a
test(HH-460): observe restore file order ( #108 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 21:35:31 +08:00
Rogee and rogee
4004645574
HH-459: disable worker HTTP healthcheck in quickstart ( #105 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 21:20:44 +08:00
Rogee and rogee
43253b51c9
HH-460: cover migration and backup restore regressions ( #104 )
...
* test(HH-460): cover migration and restore regressions
* test(HH-460): verify real restore evidence
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 21:20:27 +08:00
Rogee and rogee
c86744d326
docs: update production config references (HH-465) ( #103 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 21:20:11 +08:00
Rogee and rogee
2b75390529
HH-452: cover upload security boundaries ( #106 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 21:19:43 +08:00
Rogee and rogee
6444c40531
test: preserve quality and websocket evidence ( #107 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 21:19:09 +08:00
Rogee and rogee
fb83285617
HH-445: deploy production observability and runbooks ( #96 )
...
* HH-445: deploy production observability and runbooks
* fix(ops): share production database DSN
* fix(HH-445): enforce database TLS gate
* fix(HH-445): preserve production serve command
* fix(prod): require external database dependencies
* fix(prod): unify database host rejection gates
* test(prod): enforce exact database TLS runbook contract
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 19:39:57 +08:00
Rogee and rogee
61376a57fd
HH-446: restore auditable quality gates from current main ( #102 )
...
* HH-446: restore auditable quality gates
* test(HH-446): restore help center smoke contract
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 15:45:58 +08:00
Rogee and rogee
f719529d66
fix(security): harden auth and secret handling (HH-444) ( #101 )
...
* fix(security): harden auth and credential handling (HH-444)
* fix(security): address HH-444 review blockers
* fix(security): close remaining HH-444 review blockers
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 15:45:06 +08:00
Rogee and rogee
e1557e7f21
test(HH-468): reject tampered promoted attestations ( #98 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 04:35:33 +08:00
Rogee and rogee
fccfa85c3a
ci(HH-464): pin browser harness Chrome ( #97 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 04:30:06 +08:00
Rogee and rogee
b6b1597e90
HH-462: harden release attestation semantics ( #94 )
...
* HH-462: bind release attestations to source and digest
* HH-462: exercise release attestation production paths
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 04:07:32 +08:00
Rogee and rogee
0e23ccc465
ci(HH-451): harden production Compose smoke ( #95 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 03:58:11 +08:00
Rogee and rogee
02a188dc29
HH-443: establish production CI and supply-chain evidence ( #93 )
...
* ci: enforce production release gates
* ci: close release gate review blockers
* ci: preserve verified digests during promotion
* ci: serialize and verify release cleanup
* ci: build govulncheck with Shangwutong toolchain
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 03:26:38 +08:00
Rogee and rogee
798ea43c2f
HH-442: isolate runtime processes and harden shutdown ( #90 )
...
* HH-442: isolate runtime processes and harden shutdown
* HH-442: harden worker shutdown races
* HH-442: gate dependency shutdown on active handlers
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 02:38:15 +08:00
Rogee and rogee
6d6d80dd86
HH-441: harden durable storage and recovery ( #92 )
...
* HH-441: harden durable storage and recovery
* HH-441: clear recovery review blockers
* HH-441: enforce offsite backup failure domain
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 02:16:02 +08:00
Rogee and rogee
77c91662d2
HH-438: close upload and remote URL attack surfaces ( #89 )
...
* HH-438: close upload and remote URL attack surfaces
* HH-438: use valid PNG in direct upload test
* HH-438: align PostgreSQL upload staging schema
* HH-438: run upload migrations before PostgreSQL E2E
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 20:36:52 +08:00
Rogee and rogee
7a9fec33c5
HH-439: harden production artifact pipeline ( #86 )
...
* HH-439: harden production artifact pipeline
* fix(HH-439): address production compose review
* fix(HH-439): preserve previous JWT secrets in production
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 20:20:00 +08:00
Rogee and rogee
7e3872170f
HH-448: enforce PostgreSQL E2E gate ( #87 )
...
* HH-448 enforce PostgreSQL E2E gate
* HH-448 fail CI when concurrency test is missing
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 20:00:41 +08:00
Rogee and rogee
cf263d10b4
HH-437: harden production auth and tenant authorization ( #84 )
...
* HH-437 harden auth and account authorization
* HH-437 reject revoked platform access
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 19:13:10 +08:00
Rogee and rogee
04c1654086
HH-427: add runtime config browser smoke ( #81 )
...
* HH-427: add runtime config browser smoke
* HH-427: enforce browser smoke in CI
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 16:02:54 +08:00
Rogee and rogee
46d63245a1
HH-424: clean up Vite build warnings ( #80 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 15:06:05 +08:00
Rogee and rogee
26d494c6d6
test(autoassignment): report cleanup errors (HH-423) ( #79 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 14:41:25 +08:00
Rogee and rogee
e665abbfb8
H-417: include frontend TypeScript in format checks ( #78 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 14:37:23 +08:00
Rogee and rogee
a0f668b2d8
H-419: run auto-assignment concurrency on PostgreSQL ( #77 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 14:18:32 +08:00
Rogee and rogee
e8fa7c9c2c
H-418: cover widget direct upload file flow ( #76 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 14:17:03 +08:00
Rogee and rogee
b971b09ac7
H-409: restore frontend ESLint and Prettier baseline ( #72 )
...
* H-409: restore frontend lint baseline
* ci(H-409): check representative frontend lint
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 14:11:08 +08:00
Rogee and rogee
646449ebee
test(autoassignment): stabilize concurrency diagnostics ( #75 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 13:57:19 +08:00
Rogee and rogee
dddbe25899
H-412: cover legacy widget attachment parity ( #73 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 13:50:08 +08:00
Rogee and rogee
1afe9dddeb
H-413: cover mismatched ContactInbox history ( #74 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 13:49:11 +08:00
Rogee and rogee
5135793bd2
test(autoassignment): cover concurrent CAS loser ( #71 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 13:25:39 +08:00
Rogee and rogee
40ab664b08
H-388: tighten contact inbox conversation scope ( #68 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 13:19:12 +08:00
Rogee and rogee
a0a6c338f5
H-386: unify legacy widget message serialization ( #69 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 13:18:13 +08:00
Rogee and rogee
517a6090b3
test(H-359): assert direct upload completes after retry ( #70 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 13:13:58 +08:00
Rogee and rogee
181e9051ec
H-354: cover Captain provider timeout ( #67 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 13:10:04 +08:00
Rogee and rogee
038f185b57
H-392: surface Captain playground failures ( #66 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 13:01:13 +08:00
Rogee and rogee
d948222ac6
H-337: restore Captain inbox takeover and KB citations ( #65 )
...
* fix(captain): restore inbox takeover and KB citations
* fix(captain): harden grounded citations and smoke seed
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-20 22:33:38 +08:00
Rogee and rogee
b31b1b9562
H-337: restore Web widget reply visibility ( #64 )
...
* H-337: restore widget reply delivery
* H-337: harden widget conversation ownership
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-20 22:22:27 +08:00
Rogee and rogee
abb1bed424
H-337: add local Captain acceptance fixture ( #63 )
...
* H-337: add local Captain acceptance fixture
* fix(H-337): close acceptance fixture review gaps
* fix(H-337): reject non-string skill metadata
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-20 20:05:40 +08:00
Rogee and rogee
60ad320e8d
[H-337] Fix Captain provider runtime and knowledge flow ( #61 )
...
* fix(H-337): configure Captain provider runtime
* fix(captain): make knowledge rebuild atomic
* fix(captain): scope retrieval provider failures
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-20 14:46:01 +08:00
Rogee and rogee
3d9817c9f5
H-337: fix Web Channel availability and realtime delivery ( #60 )
...
* H-337: fix Web Channel availability and realtime delivery
* fix(widget): preserve realtime sender and activity contracts
* fix(widget): keep realtime sender payloads consistent
* fix(widget): make public message persistence atomic
* fix(inbox): keep availability projection out of schema
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-20 14:30:05 +08:00
Rogee and rogee
55b56ee172
H-337: restore minimal GitHub Actions CI ( #62 )
...
* ci(H-337): restore minimal GitHub Actions checks
* ci(H-337): preserve workflow check identity
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-20 14:17:41 +08:00
Rogee and rogee
6c78820a1f
H-338: close H-335 release blockers ( #59 )
...
* H-16: align takeover with channel AI workflow (#2 )
* feat(conversations): complete manual AI takeover
* fix(conversations): align AI takeover flow with channel AI
* fix(conversations): close takeover review gaps
---------
Co-authored-by: Rogee <rogee@ipao.vip >
* feat(shangwutong): sync customer names back to channel (#3 )
Co-authored-by: Rogee <rogee@ipao.vip >
* fix(shangwutong): close contact sync review gaps (#4 )
Co-authored-by: Rogee <rogee@ipao.vip >
* H-28: harden Shangwutong CID sync (#5 )
* fix(shangwutong): close contact sync review gaps
* fix(shangwutong): harden CID sync boundaries
---------
Co-authored-by: Rogee <rogee@ipao.vip >
* fix(conversations): sync AI takeover exit in realtime (#6 )
Co-authored-by: Rogee <rogee@ipao.vip >
* test(shangwutong): cover CID rename reliability (#7 )
Co-authored-by: Rogee <rogee@ipao.vip >
* H-43: fix WEB Captain takeover E2E flow (#8 )
* test(shangwutong): cover CID rename reliability
* H-43: fix WEB Captain takeover flow
* H-48: preserve compatible provider model
* H-49: make Captain takeover atomic
* H-50: prevent duplicate widget initialization
---------
Co-authored-by: Rogee <rogee@ipao.vip >
* H-55: make Captain bindings atomic (#9 )
Co-authored-by: Rogee <rogee@ipao.vip >
* H-60: harden Captain migration rollback and concurrency
* chore(agent): baseline — uncommitted work from the local directory
* H-335: add safe Captain skills and user deactivation
* H-338: close auth and Captain review blockers
* H-338: close assignment and session races
* H-338: close assignment and websocket invalidation gaps
* H-338: enforce assignment write invariants
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-20 10:21:19 +08:00
Rogee and rogee
1d8145f3b5
H-332: remove committed runtime artifacts ( #58 )
...
* H-332: remove committed runtime artifacts
* H-332: remove nested Playwright artifact
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-19 21:11:46 +08:00
Rogee and rogee
8a8750c9f4
H-328: codify frontend delivery checks ( #57 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-19 20:30:32 +08:00
Rogee and rogee
6e582c767c
H-296: cover stale Captain Skills list errors ( #52 )
...
* test: cover stale captain skill list errors
* test: flush stale skill request rejection
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-19 20:24:10 +08:00
Rogee and rogee
644267f24a
H-303: count cached Skill payloads against budget ( #53 )
...
* H-303: count cached skill payloads against budget
* H-303: exercise cached budget through skill runtime
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-19 18:23:09 +08:00