167 Commits

Author SHA1 Message Date
24761c5df3 Merge PR #16: add REV004 release ops checklist\n\nConstraint: Keep release operations guidance aligned with verified mainline state\nConfidence: high\nScope-risk: narrow\nDirective: Update this checklist only when release-critical reality changes, not for routine doc churn\nTested: PR #16 checklist cross-checked against current summary, truth matrix, and evidence set\nNot-tested: No document export/render pipeline executed at merge time 2026-04-17 18:23:08 +08:00
feb0da254f Add REV004 release ops checklist
This adds an operations-oriented checklist for REV004 covering environment
readiness, rollout order, smoke validation, rollback posture, and fast-path
triage hints for on-call and release engineers.

Constraint: Checklist must stay concise and executable for frontline release use
Rejected: Bury release steps across evidence and design docs only | too slow for runtime operations
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Update this checklist only when release-critical reality changes, not for every minor doc change
Tested: Cross-checked against final summary, go-live checklist, and current evidence set
Not-tested: No document export/render pipeline executed for this checklist
2026-04-17 18:19:47 +08:00
9946fa7572 Merge PR #15: add REV004 go-live and joint-debug checklist\n\nConstraint: Keep the checklist aligned with verified mainline state and evidence set\nConfidence: high\nScope-risk: narrow\nDirective: Update this checklist only when mainline reality or release blockers change materially\nTested: PR #15 checklist cross-checked against final summary, truth matrix, and evidence set\nNot-tested: No document export/render pipeline executed at merge time 2026-04-17 18:15:27 +08:00
74c951641f Add REV004 go-live and joint-debug checklist
This adds a concise operator-facing checklist for REV004 covering current
mainline SHAs, environment prerequisites, smoke order, remaining cautions,
and the evidence index used for release and joint-debug work.

Constraint: Checklist must reflect verified mainline reality and remain short enough for frontline use
Rejected: Keep launch guidance scattered across evidence files only | too slow for release/joint-debug coordination
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Update this checklist only when mainline reality materially changes or a new blocker emerges
Tested: Cross-checked against current mainline summary, truth matrix, and evidence set
Not-tested: No document export/render pipeline executed for this checklist
2026-04-17 18:11:46 +08:00
3741fd597d Merge PR #14: stabilize REV004 final summary docs anchor wording\n\nConstraint: Keep the final summary evergreen instead of self-expiring after each merge\nConfidence: high\nScope-risk: narrow\nDirective: Prefer stable branch-relative wording over self-referential merge SHAs in evergreen handoff docs\nTested: PR #14 wording reviewed against current docs mainline semantics\nNot-tested: No document export/render pipeline executed at merge time 2026-04-17 18:07:20 +08:00
700b8db99c Stabilize REV004 final summary docs anchor wording
This replaces the self-expiring docs latest-merge SHA in the final REV004
summary with a stable wording that points readers to current mainline content,
preventing the summary from going stale immediately after each merge.

Constraint: The top-level handoff summary must remain self-consistent after it is merged into main
Rejected: Keep chasing a concrete docs latest-merge SHA in follow-up patches | creates infinite self-expiring metadata churn
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Prefer stable branch-relative wording over self-referential merge SHAs in evergreen handoff docs
Tested: Reviewed rendered markdown diff for semantic equivalence plus improved stability
Not-tested: No document export/render pipeline executed for this wording-only change
2026-04-17 18:05:05 +08:00
0dd08ec623 Merge PR #13: upgrade redink evidence to full execute closure\n\nConstraint: Keep redink evidence and final summary aligned with the now-verified live execute closure\nConfidence: high\nScope-risk: narrow\nDirective: Remove stale blocker wording immediately once the external dependency closure is verified so handoff docs stay trustworthy\nTested: PR #13 content cross-checked against successful live execute smoke, DB readback, and cleanup results\nNot-tested: No document export/render pipeline executed at merge time 2026-04-17 17:57:42 +08:00
cbedf0aec8 Upgrade redink evidence to full execute closure
This updates the REDINK_RECORD evidence with a successful live execute smoke
run after bringing up business-bank-server locally, and refreshes the final
mainline delivery summary to remove the stale blocker wording.

Constraint: Docs must reflect the newly verified live redink execute closure, not the earlier blocked state
Rejected: Leave the old blocker note in place | factually stale after the successful execute rerun
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: If redink live execute is revalidated again later, append a dated subsection instead of rewriting this successful closure note
Tested: Cross-checked against successful live execute smoke, DB readback, and cleanup results on 2026-04-17
Not-tested: No document export/render pipeline executed for this docs-only refresh
2026-04-17 17:54:37 +08:00
c9b7a135c0 Merge PR #12: refresh REV004 final summary docs-main anchor\n\nConstraint: Keep the final summary internally consistent with current docs mainline\nConfidence: high\nScope-risk: narrow\nDirective: Refresh summary metadata immediately after future summary merges so the handoff page never self-stales\nTested: PR #12 content cross-checked against docs main ab4eec0...\nNot-tested: No document export/render pipeline executed at merge time 2026-04-17 17:38:57 +08:00
6cb590aa13 Refresh REV004 final summary docs-main anchor
This updates the docs-main latest merge anchor inside the REV004 final mainline
summary so the document remains self-consistent after its own merge.

Constraint: The final summary must reference the current docs mainline state, not the pre-summary merge anchor
Rejected: Leave the older docs merge SHA in place | would make the summary internally stale immediately after merge
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Refresh top-level summary anchors whenever the summary itself is merged into main
Tested: Cross-checked against origin/main latest merge ab4eec0...
Not-tested: No document export/render pipeline executed for this one-line metadata refresh
2026-04-17 17:37:42 +08:00
ab4eec0ea8 Merge PR #11: add REV004 final mainline delivery summary\n\nConstraint: Keep the final summary aligned with verified mainline state only\nConfidence: high\nScope-risk: narrow\nDirective: Refresh this summary only when meaningful mainline state changes occur so it remains a stable handoff artifact\nTested: PR #11 summary cross-checked against latest backend/docs mainline commits and evidence set\nNot-tested: No document export/render pipeline executed at merge time 2026-04-17 17:35:36 +08:00
9ac2e9f68e Add REV004 final mainline delivery summary
This adds a one-page summary of the current REV004 mainline delivery state,
including merged backend/docs commits, object truth status, evidence anchors,
and remaining external blockers.

Constraint: Summary must reflect verified mainline truth only, not feature-branch intent
Rejected: Scatter this information across multiple historical evidence files | too costly for frontline consumers to reconstruct delivery status
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Keep this summary as the top-level operator handoff page and refresh only after meaningful mainline state changes
Tested: Cross-checked against origin/develop and origin/main latest merge commits plus existing evidence set
Not-tested: No document export/render pipeline executed for this summary
2026-04-17 17:33:40 +08:00
415b4cee13 Merge PR #10: land prestorage strict formal-first evidence\n\nConstraint: Preserve reviewed prestorage process/attachments evidence without mixing unrelated docs\nConfidence: high\nScope-risk: narrow\nDirective: Append any future prestorage query verification as follow-up evidence rather than rewriting this closure proof\nTested: PR #10 evidence reviewed against backend PR #80 compile/test/smoke outputs\nNot-tested: No doc export/render pipeline executed at merge time 2026-04-17 17:24:24 +08:00
21aed1f7d7 Capture prestorage strict formal-first evidence for REV004
This records compile/test outputs plus fresh jar smoke proving that
prestorage-process and prestorage-attachments now read formal data first while
retaining fallback behavior.

Constraint: Evidence must stay aligned with the prestorage query-only strict formal-first batch and its application-dev smoke run
Rejected: Fold this note into older prestorage evidence files | reduces traceability for the specific process/attachments closure batch
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Append future prestorage query verification as follow-up evidence rather than overwriting this closure proof
Tested: Cross-checked against backend compile/test output and fresh smoke results on 2026-04-17
Not-tested: No document export/render pipeline executed for this evidence-only commit
2026-04-17 17:20:49 +08:00
89737608b3 Merge PR #9: refresh REV004 current truth matrix with redink\n\nConstraint: Keep the matrix aligned with verified mainline merges only\nConfidence: high\nScope-risk: narrow\nDirective: Refresh this matrix again only after future mainline merges so it stays trustworthy\nTested: PR #9 content cross-checked against backend develop d8596af... and docs main 57763c6...\nNot-tested: No document export/render pipeline executed at merge time 2026-04-17 17:05:58 +08:00
9ca67674a3 Refresh REV004 current truth matrix after redink merge
This updates the current-truth matrix to reflect that REDINK_RECORD is now
an independent formal-table object on the mainline, and refreshes the merge
anchors plus blocker note accordingly.

Constraint: Matrix must match verified mainline truth after PR #79 and docs redink evidence merge
Rejected: Leave REDINK_RECORD as not independent in the matrix | now factually incorrect after mainline merge
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Refresh this matrix only after verified mainline merges so it remains an operator-grade truth artifact
Tested: Cross-checked against origin/develop merge d8596af... and origin/main merge 57763c6...
Not-tested: No document export/render pipeline executed for this matrix refresh
2026-04-17 17:04:02 +08:00
57763c634e Merge PR #8: land REV004 redink evidence\n\nConstraint: Preserve reviewed REDINK_RECORD evidence without mixing unrelated doc drafts\nConfidence: high\nScope-risk: narrow\nDirective: Append a follow-up section when live execute smoke can be rerun with business-bank-server available\nTested: PR #8 evidence reviewed against backend PR #79 verification outputs and blocker trace\nNot-tested: No doc export/render pipeline executed at merge time 2026-04-17 16:56:55 +08:00
f1211d328c Capture redink formal-table dev-db evidence for REV004
This records the application-dev DDL apply/replay, compile and targeted
test evidence, fresh jar query smoke, cleanup proof, and the precise external
blocker observed when attempting live REDINK_RECORD execute smoke.

Constraint: Evidence must reflect the actually verified REDINK_RECORD formal-table scope and explicitly separate completed verification from blocked live-execute proof
Rejected: Present live execute smoke as fully complete | inaccurate because business-bank-server was unavailable
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: When business-bank-server becomes available, append a dated live-execute follow-up section instead of overwriting this baseline evidence
Tested: Cross-checked against backend compile/test outputs, psql results, query smoke, and application log exception trace on 2026-04-17
Not-tested: No document export/render pipeline executed for this evidence-only commit
2026-04-17 16:52:50 +08:00
692ac419f6 Merge PR #7: refresh REV004 current truth matrix\n\nConstraint: Keep the matrix aligned with verified mainline merges only\nConfidence: high\nScope-risk: narrow\nDirective: Refresh this matrix again after future mainline formal-table merges so it remains a reliable operator artifact\nTested: PR #7 content cross-checked against backend develop 1964c782... and docs main c741164...\nNot-tested: No document export/render pipeline executed at merge time 2026-04-17 15:45:14 +08:00
ba58013139 Refresh REV004 current truth matrix after price-diff merge
This updates the REV004 current-truth matrix to reflect that PRICE_DIFF_ADJUST
is now an independent formal-table object on the mainline, and refreshes the
merge/evidence anchors accordingly.

Constraint: Matrix must match current backend develop and docs main truth after PR #78 / docs evidence merge
Rejected: Keep the earlier matrix unchanged | it now incorrectly reports PRICE_DIFF_ADJUST as not independent
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Continue refreshing this matrix only after verified mainline merges, not from feature-branch intent alone
Tested: Cross-checked against origin/develop merge commit 1964c782... and origin/main merge commit c741164...
Not-tested: No document export/render pipeline executed for this matrix refresh
2026-04-17 15:43:50 +08:00
c741164fa4 Merge PR #6: land REV004 price-diff evidence\n\nConstraint: Preserve reviewed PRICE_DIFF_ADJUST evidence without mixing unrelated doc drafts\nConfidence: high\nScope-risk: narrow\nDirective: Keep future price-diff verification updates in follow-up evidence docs or dated append sections\nTested: PR #6 evidence reviewed against backend PR #78 verification outputs\nNot-tested: No doc export/render pipeline executed at merge time 2026-04-17 15:41:02 +08:00
f348481aeb Capture price-diff formal-table dev-db evidence for REV004
This records the application-dev DDL apply/replay, compile and targeted
test evidence, fresh-jar HTTP smoke, DB writeback checks, and cleanup proof
for the PRICE_DIFF_ADJUST formal-table batch.

Constraint: Evidence must stay aligned with the backend price-diff formal-table implementation and application-dev verification run on 2026-04-17
Rejected: Fold this evidence into unrelated doc drafts in the main docs worktree | would mix scopes and weaken traceability
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Append future price-diff reruns as dated subsections or follow-up evidence files instead of overwriting this baseline
Tested: Verified against backend compile/test output and direct psql + fresh-jar smoke results on 2026-04-17
Not-tested: No doc export/render pipeline executed for this evidence-only commit
2026-04-17 15:37:46 +08:00
b5efa3b248 Merge PR #5: land REV004 docs evidence and dict alignment\n\nConstraint: Preserve reviewed REV004 doc evidence and dict-alignment batch without mixing local draft docs\nConfidence: high\nScope-risk: moderate\nDirective: Keep subsequent REV004 evidence/doc updates in separate small PRs for traceability\nTested: PR #5 reviewed content plus latest writtenoff evidence refresh already pushed on branch\nNot-tested: No doc export/render pipeline executed at merge time 2026-04-17 15:01:25 +08:00
29e2ae36a2 Refresh writtenoff formal-table smoke evidence after reliability patch
This updates the REV004 writtenoff evidence with a fresh post-patch smoke run
covering submit, detail/page query, approve/reject, DB writeback, cleanup,
and runtime shutdown on port 48094.

Constraint: Evidence must reflect the final backend patch set actually pushed for PR #77
Rejected: Leave the earlier pre-patch smoke as the last evidence point | weaker proof for the final transaction/fail-fast tightening
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: If writtenoff smoke is rerun again, append a new dated subsection instead of overwriting this verification trail
Tested: Fresh jar smoke on 48094 plus direct psql cleanup/readback verification on 2026-04-17
Not-tested: No separate document export/render pipeline run for this evidence refresh
2026-04-17 14:58:44 +08:00
fccb3a7cf8 Capture writtenoff formal-table dev-db evidence for REV004
This evidence snapshot records the application-dev target database, DDL apply
and replay status, targeted verification commands, fresh-jar smoke outcomes,
and cleanup proof for the writtenoff formal-table batch.

Constraint: Evidence must remain aligned with the backend writtenoff formal-table batch and the actual application-dev database
Rejected: Fold evidence into unrelated doc updates already present in this branch | would mix scopes and obscure traceability
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Update this evidence if later writtenoff smoke is rerun on a different port or with different seeded IDs
Tested: Reviewed against backend compile/test results and direct psql cleanup verification on 2026-04-17
Not-tested: No additional doc rendering/export pipeline run for this evidence-only change
2026-04-17 14:50:06 +08:00
cbecb60aed Record bad-debt formal-table rollout evidence for REV004
This adds the rollout evidence for REV004 bad-debt formal-table work,
covering DDL application, targeted verification, fresh-jar HTTP smoke,
and cleanup proof on the application-dev database.

Constraint: Evidence scope stays limited to bad-debt formal-table rollout and should not absorb unrelated REV004 docs backlog
Rejected: Wait to document until writtenoff/price-diff formalization lands | delays a completed bad-debt evidence slice
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: If later bad-debt semantics expand beyond payState write-back, append a new evidence note instead of rewriting this rollout record
Tested: Evidence content cross-checked against compile/test/DDL/HTTP smoke outputs captured in this session
Not-tested: No doc export/render verification performed
2026-04-17 12:33:27 +08:00
ee78477e8f Record prestorage formal-table rollout evidence for REV004
This documents the prestorage formal-table rollout status, including test DB
DDL application, HTTP smoke evidence, cleanup proof, and the updated
formal-table status matrix for REV004.

Constraint: Documentation must stay scoped to prestorage formal-table evidence and status updates only
Rejected: Fold unrelated REV004 evidence backlog into this commit | would dilute the deliverable and review scope
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: When process/attachments become strict formal-first, update the status matrix and evidence instead of replacing this rollout record
Tested: Evidence file cross-checked against backend compile/test/DB/HTTP smoke outputs
Not-tested: No independent docs rendering/export verification performed
2026-04-17 10:52:11 +08:00
35f2f9b76c Record REV004 late-fee formal-table deployment and canary evidence
This documents that the formal-table deploy SQL has been applied to the
application-dev database, that the previous real-db blocker is resolved,
and that the date-mode late-fee reduce canary now passes against the
test database.

Constraint: Evidence must match the verified dev database and latest canary output
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Keep evidence updates aligned with the exact environment and command outputs used for verification
Tested: Evidence cross-checked against psql deployment output and fresh canary pass
Not-tested: No additional business flow beyond the documented late-fee date-mode canary
2026-04-15 16:14:03 +08:00
d0ee1cbc17 Align REV004 dictionaries with current interface semantics
Document the minimal dictionary additions and field-binding rules needed to
let REV004 front-end queries and dropdowns use system-managed object and
status semantics while continuing to reuse the existing legacy reason/type
dictionaries.

Constraint: Existing dictionary taxonomy must remain stable for historical pages
Constraint: REV004 needs explicit object/status dictionaries plus a redink reason set for FE binding
Rejected: Rename legacy dictionaries into a new unified taxonomy | too broad for this delivery and risks breaking existing pages
Rejected: Keep object/status values as code-only enums | insufficient for frontend dictionary binding
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: `payment_reason` is only a transitional binding for `WRITTENOFF_ADJUST`; introduce a dedicated writtenoff reason dictionary only when that object stabilizes long-term
Tested: Applied `sql/rev004_account_adjust_dict_seed.sql` to sw_system test DB and verified inserted dict types/data
Not-tested: Frontend page consumption against the new dictionary bindings
2026-04-07 17:53:47 +08:00
9d2ecf1cf6 docs: align planb deployment design with reviewed topology 2026-04-02 17:30:06 +08:00
2a1b9a69b0 merge: planb deployment and pg16 docs 2026-04-02 11:29:03 +08:00
5a1abd4c03 docs: update planb integrated deployment assets 2026-04-01 15:51:07 +08:00
f8b75f7771 docs: import bank api archive and openapi tooling 2026-03-27 10:12:47 +08:00
dc4d2b8655 docs: split plan b deployment guidance from pg16 dr application 2026-03-27 10:12:40 +08:00
5f20c5794c docs: add rev-004 legacy finance migration planning artifacts 2026-03-27 10:12:34 +08:00
327c74c27b docs: align sys-009 design with implementation evidence 2026-03-27 10:12:29 +08:00
eadd91170b docs: refine agent coordination guidance 2026-03-27 10:12:24 +08:00
6538379f1e docs: add speckit workflow and capability map guides 2026-03-27 10:12:14 +08:00
c85550ffde docs: add integrated deployment planb doc and docx 2026-03-26 18:42:53 +08:00
09b8a8e3d9 docs: record Nuoshuitong progress update
Add the Nuoshuitong documentation outputs to the project progress ledger so the documentation lane has a traceable handoff point for review and follow-on implementation work.

Constraint: Keep this update limited to governance tracking for the newly added Nuoshuitong design pack
Confidence: high
Scope-risk: narrow

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 17:51:29 +08:00
3fee9a2c18 docs: add Nuoshuitong integration design pack
Add a Nuoshuitong documentation set covering the implementation checklist, split interface spec notes, normalized enums, and database/DDL guidance so follow-on integration can start from a consistent source of truth.

Constraint: Current phase is documentation-first and must not require backend/frontend code changes
Rejected: Merge the material directly into formal master design docs now | would broaden scope before the integration model and dialect strategy are reviewed
Directive: Treat these guides as integration-layer inputs until they are reconciled with formal technical design masters
Confidence: high
Scope-risk: moderate

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 17:50:46 +08:00
fd8cb6725c Merge pull request 'docs: add pg16 dr resource application doc' (#4) from 011-frontend-speckit-alignment into main
Reviewed-on: #4
2026-03-24 15:57:02 +08:00
ef8834dfb9 docs: add pg16 dr resource application doc 2026-03-24 15:50:36 +08:00
ccc014f15b Merge pull request 'docs: add frontend speckit alignment artifacts' (#3) from 011-frontend-speckit-alignment into main
Reviewed-on: #3
2026-03-24 14:13:31 +08:00
63abce712e docs: add frontend speckit alignment artifacts 2026-03-24 14:01:49 +08:00
8baf5bc3d6 Merge pull request 'docs: finalize 010 bank transfer config' (#2) from docs-010-bank-transfer-config into main
Reviewed-on: #2
2026-03-24 12:12:55 +08:00
09b955d0ac docs: finalize 010 bank transfer config 2026-03-24 12:04:39 +08:00
72000047f1 chore: customize spec-kit templates for workspace flow 2026-03-19 16:40:52 +08:00
66d42c59dc chore: add workspace coordination rules 2026-03-19 16:40:52 +08:00
c0f6fed3fd docs: update spec verification and checklist 2026-03-19 16:22:38 +08:00