feat: harden support, localize knowledge and add operator availability [skip ci]

Source-only publication of reviewed commit 64e96a7f423673dc29ad56485be9fc79bce8af1c.

Passed in isolation: focused frontend/backend tests, race checks, TypeScript typecheck, lint, Go compilation, Flowgram build, and deterministic SDK build/tests.

Not accepted as a production release: Next.js export/native assembly remains blocked by environment memory limits; browser interaction and MySQL staging acceptance remain unverified. No production server, database/schema, runtime configuration, deployment, release tag, or workflow execution was performed.

Expected source tree: 0a4a7528e9.
This commit is contained in:
2026-10-16 15:21:42 +00:00
parent 299ea50fb5
commit 2f7a491666
176 changed files with 11869 additions and 2716 deletions

View File

@@ -273,3 +273,25 @@ Before handing off a change, confirm the applicable items:
- Generated files were regenerated from their source and were not manually edited.
- Relevant tests/typechecks/lint/build/browser checks were run, and any validation limitation is reported.
- `git diff --check` passes and unrelated worktree changes remain untouched.
## Independent hardening fork boundaries
Modified in this independent fork. Preserve the upstream license and existing
notices. Public history begins from a source snapshot, not the upstream Git
history. See docs/hardening/README.md for the source revision and release gate.
- Treat canonical customer/channel identity, scoped issuer proof, live-session
revalidation and permission-filtered WebSocket delivery as security invariants.
Never restore raw external-ID topic routing or unscoped public identity lookup.
- Old customer tokens and legacy identity reconciliation have explicit upgrade
implications. Do not auto-merge legacy customers or delete history to make a
migration pass; follow docs/hardening/CUSTOMER_IDENTITY_UPGRADE.md.
- Setup repair previews must bind exact named changes to the caller and current
state. Apply requires explicit matching approval and transactional writes.
Never resurrect deleted configuration or silently create working schedules.
- Keep editor drafts, sends and delayed async responses bound to their captured
identity and conversation. Clear only the sent draft revision after success.
- Maintain Russian alongside English and Chinese for every changed UI/API string.
- Keep docs/hardening/VALIDATION.md accurate. Tests authored but not executed are
not passing tests; source parsing is not a build or browser acceptance check.