@zigrivers/scaffold 3.33.0 → 3.33.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/content/knowledge/VERSION +1 -1
- package/content/knowledge/backend/backend-api-design.md +21 -3
- package/content/knowledge/backend/backend-architecture.md +21 -3
- package/content/knowledge/backend/backend-async-patterns.md +16 -2
- package/content/knowledge/backend/backend-auth-patterns.md +19 -2
- package/content/knowledge/backend/backend-conventions.md +15 -3
- package/content/knowledge/backend/backend-data-modeling.md +19 -3
- package/content/knowledge/backend/backend-deployment.md +21 -3
- package/content/knowledge/backend/backend-dev-environment.md +13 -3
- package/content/knowledge/backend/backend-fintech-broker-integration.md +14 -2
- package/content/knowledge/backend/backend-fintech-compliance.md +23 -4
- package/content/knowledge/backend/backend-fintech-data-modeling.md +14 -2
- package/content/knowledge/backend/backend-fintech-ledger.md +17 -3
- package/dist/knowledge-freshness/audit-apply.d.ts.map +1 -1
- package/dist/knowledge-freshness/audit-apply.js +8 -1
- package/dist/knowledge-freshness/audit-apply.js.map +1 -1
- package/dist/knowledge-freshness/audit-apply.test.js +36 -0
- package/dist/knowledge-freshness/audit-apply.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
0.1.
|
|
1
|
+
0.1.5
|
|
@@ -1,15 +1,33 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: backend-api-design
|
|
3
|
-
description:
|
|
4
|
-
|
|
3
|
+
description: >-
|
|
4
|
+
REST maturity levels, GraphQL schema-first design, gRPC protobuf conventions, tRPC router patterns, API versioning
|
|
5
|
+
strategies, pagination, and filtering
|
|
6
|
+
topics:
|
|
7
|
+
- backend
|
|
8
|
+
- api-design
|
|
9
|
+
- rest
|
|
10
|
+
- graphql
|
|
11
|
+
- grpc
|
|
12
|
+
- trpc
|
|
13
|
+
- versioning
|
|
14
|
+
- pagination
|
|
5
15
|
volatility: evolving
|
|
6
|
-
last-reviewed:
|
|
16
|
+
last-reviewed: 2025-10-27
|
|
7
17
|
version-pin: null
|
|
8
18
|
sources:
|
|
9
19
|
- url: https://spec.openapis.org/oas/latest.html
|
|
20
|
+
hash: sha256:15f12e539a3ac811c5f18950bc9cff296b43a22ad4d50b4db8d533f37ebc1d23
|
|
21
|
+
retrieved: 2025-10-27
|
|
10
22
|
- url: https://spec.graphql.org/
|
|
23
|
+
hash: sha256:14221cbb56b50b8179803abd08a5f801ebbca98c2d97eb86b47469284a3b88cf
|
|
24
|
+
retrieved: 2025-10-27
|
|
11
25
|
- url: https://www.rfc-editor.org/rfc/rfc9110.html
|
|
26
|
+
hash: sha256:d431760660ea44e130f6e919dab216df2d0b3a490567a98089267523368fe1e5
|
|
27
|
+
retrieved: 2025-10-27
|
|
12
28
|
- url: https://martinfowler.com/articles/richardsonMaturityModel.html
|
|
29
|
+
hash: sha256:67fe98bd0c4572223f6973109e515fade396e29a3fc6ccb2323409392c91b501
|
|
30
|
+
retrieved: 2025-10-27
|
|
13
31
|
---
|
|
14
32
|
|
|
15
33
|
API design is a long-lived contract. Every structural decision — URL shape, error format, pagination scheme, versioning strategy — is expensive to change after consumers depend on it. Design APIs from the consumer's perspective first. The best API is one where new developers can predict the shape of an endpoint they have never seen before, because every other endpoint follows the same patterns.
|
|
@@ -1,15 +1,33 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: backend-architecture
|
|
3
|
-
description:
|
|
4
|
-
|
|
3
|
+
description: >-
|
|
4
|
+
Monolith vs microservices decision framework, layered architecture patterns, CQRS, event sourcing, hexagonal
|
|
5
|
+
architecture, and service mesh considerations
|
|
6
|
+
topics:
|
|
7
|
+
- backend
|
|
8
|
+
- architecture
|
|
9
|
+
- microservices
|
|
10
|
+
- monolith
|
|
11
|
+
- cqrs
|
|
12
|
+
- event-sourcing
|
|
13
|
+
- hexagonal
|
|
14
|
+
- clean-architecture
|
|
5
15
|
volatility: evolving
|
|
6
|
-
last-reviewed:
|
|
16
|
+
last-reviewed: 2025-07-17
|
|
7
17
|
version-pin: null
|
|
8
18
|
sources:
|
|
9
19
|
- url: https://microservices.io/patterns/
|
|
20
|
+
hash: sha256:fa1ff9ebd46faa3f90ad25e7f536a78019167c61e03186be6cbb08c46367db5d
|
|
21
|
+
retrieved: 2025-07-17
|
|
10
22
|
- url: https://martinfowler.com/bliki/CQRS.html
|
|
23
|
+
hash: sha256:11cf46ce308805e94e4b110016b09d004fbf8c47669a7041080f661c798b2f29
|
|
24
|
+
retrieved: 2025-07-17
|
|
11
25
|
- url: https://martinfowler.com/eaaDev/EventSourcing.html
|
|
26
|
+
hash: sha256:8c266ad1f81881deac8a59d86f429a594497eac3243aa1bd5b40202ccfada596
|
|
27
|
+
retrieved: 2025-07-17
|
|
12
28
|
- url: https://martinfowler.com/bliki/MonolithFirst.html
|
|
29
|
+
hash: sha256:722d8d78beddd9e0f6ff3e856eec94dfa2b9fa3bebcaaf4c9e80ccdd3c0e1446
|
|
30
|
+
retrieved: 2025-07-17
|
|
13
31
|
---
|
|
14
32
|
|
|
15
33
|
Backend architecture is the set of structural decisions that determine how the system scales, how teams work independently, and how expensive future changes will be. The single most common backend architecture mistake is choosing microservices before the problem demands them. Start with the simplest architecture that solves the current problem, and evolve to complexity only when specific pain points — not hypothetical future ones — force the change.
|
|
@@ -1,14 +1,28 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: backend-async-patterns
|
|
3
3
|
description: Message queue patterns, event-driven architecture, saga patterns, retry strategies, and idempotency keys
|
|
4
|
-
topics:
|
|
4
|
+
topics:
|
|
5
|
+
- backend
|
|
6
|
+
- async
|
|
7
|
+
- message-queues
|
|
8
|
+
- event-driven
|
|
9
|
+
- saga
|
|
10
|
+
- retry
|
|
11
|
+
- idempotency
|
|
12
|
+
- cqrs
|
|
5
13
|
volatility: evolving
|
|
6
|
-
last-reviewed:
|
|
14
|
+
last-reviewed: 2025-04-08
|
|
7
15
|
version-pin: null
|
|
8
16
|
sources:
|
|
9
17
|
- url: https://microservices.io/patterns/data/saga.html
|
|
18
|
+
hash: sha256:c42eac244bf94f8db7767ba131c1715066a2dd10beb1cd6f01e5f92e19d2f0b3
|
|
19
|
+
retrieved: 2025-04-08
|
|
10
20
|
- url: https://martinfowler.com/articles/patterns-of-distributed-systems/
|
|
21
|
+
hash: sha256:93092f76ea34af4d60c068180a063d9fde27ab6c7b604ba42337aeed023cab86
|
|
22
|
+
retrieved: 2025-04-08
|
|
11
23
|
- url: https://sre.google/sre-book/handling-overload/
|
|
24
|
+
hash: sha256:8ca912a82390e7f61e8bbae7baab3a74489f5068d71dee1ff24aed99375e0373
|
|
25
|
+
retrieved: 2025-04-08
|
|
12
26
|
---
|
|
13
27
|
|
|
14
28
|
Asynchronous patterns decouple services in time and space, enabling systems to absorb load spikes, survive partial failures, and scale independently — but they introduce delivery guarantees and consistency tradeoffs that must be designed for explicitly from the start.
|
|
@@ -1,16 +1,33 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: backend-auth-patterns
|
|
3
3
|
description: JWT lifecycle, OAuth2 authorization code flow, API key management, and service-to-service authentication
|
|
4
|
-
topics:
|
|
4
|
+
topics:
|
|
5
|
+
- backend
|
|
6
|
+
- auth
|
|
7
|
+
- jwt
|
|
8
|
+
- oauth2
|
|
9
|
+
- api-keys
|
|
10
|
+
- mtls
|
|
11
|
+
- security
|
|
5
12
|
volatility: evolving
|
|
6
|
-
last-reviewed:
|
|
13
|
+
last-reviewed: 2025-05-27
|
|
7
14
|
version-pin: null
|
|
8
15
|
sources:
|
|
9
16
|
- url: https://www.rfc-editor.org/rfc/rfc6749
|
|
17
|
+
hash: sha256:02ae92a3648e42ca4d613847f80748bb4833942332b8bdd9715ab8bd6de9be86
|
|
18
|
+
retrieved: 2026-06-03
|
|
10
19
|
- url: https://www.rfc-editor.org/rfc/rfc7519
|
|
20
|
+
hash: sha256:87d39b15cf0a734dd8f39e51012fb240cf556c9327775c0101d45e5f4a9462ad
|
|
21
|
+
retrieved: 2026-06-03
|
|
11
22
|
- url: https://www.rfc-editor.org/rfc/rfc7636
|
|
23
|
+
hash: sha256:d1a33b4db47d72168925010713fccd79fd18f4a1b7d79a7e90dc91910b344a63
|
|
24
|
+
retrieved: 2026-06-03
|
|
12
25
|
- url: https://openid.net/specs/openid-connect-core-1_0.html
|
|
26
|
+
hash: sha256:4d016752a645e8a3c259baa4173b5a90cb6c82898ce868fc8444adde262a5aed
|
|
27
|
+
retrieved: 2026-06-03
|
|
13
28
|
- url: https://owasp.org/www-project-api-security/
|
|
29
|
+
hash: sha256:c1ec2c9a026e41ea315128a03486f8d454ec3624c4307d38f398510e8992f846
|
|
30
|
+
retrieved: 2026-06-03
|
|
14
31
|
---
|
|
15
32
|
|
|
16
33
|
Authentication and authorization are the first line of defense for any backend service — mistakes here compromise the entire system, making it essential to use proven patterns like JWTs with rotation, OAuth2 with PKCE, and workload identity from the start.
|
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: backend-conventions
|
|
3
|
-
description:
|
|
4
|
-
|
|
3
|
+
description: >-
|
|
4
|
+
Service and handler naming conventions, structured error handling patterns, structured logging with correlation IDs,
|
|
5
|
+
and file organization standards for backend codebases
|
|
6
|
+
topics:
|
|
7
|
+
- backend
|
|
8
|
+
- conventions
|
|
9
|
+
- error-handling
|
|
10
|
+
- logging
|
|
11
|
+
- naming
|
|
12
|
+
- file-organization
|
|
5
13
|
volatility: stable
|
|
6
|
-
last-reviewed:
|
|
14
|
+
last-reviewed: 2025-01-15
|
|
7
15
|
version-pin: null
|
|
8
16
|
sources:
|
|
9
17
|
- url: https://google.github.io/styleguide/
|
|
18
|
+
hash: sha256:e40c3a5dfb0a54715f3e120b309a11b7707e03143399f746ea651ad0a74c983f
|
|
19
|
+
retrieved: 2025-01-15
|
|
10
20
|
- url: https://martinfowler.com/tags/clean%20code.html
|
|
21
|
+
hash: sha256:7b8d78e227d63880ce0b2884da4deda09aa223d43f81614630a5a86d7f766ee3
|
|
22
|
+
retrieved: 2025-01-15
|
|
11
23
|
---
|
|
12
24
|
|
|
13
25
|
Consistent conventions in a backend codebase reduce cognitive load, make code reviewable at a glance, and prevent entire classes of bugs. Naming, error handling, and logging are the three highest-leverage areas — they touch every layer of the stack and every engineer on the team. Establish these conventions before the first PR, codify them in linting rules where possible, and treat violations as blocking review comments.
|
|
@@ -1,14 +1,30 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: backend-data-modeling
|
|
3
|
-
description:
|
|
4
|
-
|
|
3
|
+
description: >-
|
|
4
|
+
Relational vs document modeling tradeoffs, migration strategies, connection pooling, ORM vs query builder tradeoffs,
|
|
5
|
+
multi-tenancy patterns, and eventual consistency
|
|
6
|
+
topics:
|
|
7
|
+
- backend
|
|
8
|
+
- data-modeling
|
|
9
|
+
- database
|
|
10
|
+
- migrations
|
|
11
|
+
- orm
|
|
12
|
+
- multi-tenancy
|
|
13
|
+
- eventual-consistency
|
|
14
|
+
- connection-pooling
|
|
5
15
|
volatility: stable
|
|
6
|
-
last-reviewed:
|
|
16
|
+
last-reviewed: 2026-05-15
|
|
7
17
|
version-pin: null
|
|
8
18
|
sources:
|
|
9
19
|
- url: https://www.postgresql.org/docs/current/
|
|
20
|
+
hash: sha256:5fc8b49295f6c1c6a80ddab08d20f6aa2395e9804353fc4e8e8f57e77564d3f2
|
|
21
|
+
retrieved: 2026-05-15
|
|
10
22
|
- url: https://martinfowler.com/articles/evodb.html
|
|
23
|
+
hash: sha256:77d7c85db8a99f4b194e89bec6e0cd14e860cce0f54475326823894ce5b3a289
|
|
24
|
+
retrieved: 2026-05-15
|
|
11
25
|
- url: https://microservices.io/patterns/data/database-per-service.html
|
|
26
|
+
hash: sha256:014afb315804d3d1464b1ac4c021c0abe9ab215ee6c49745a4ed57f542b35de6
|
|
27
|
+
retrieved: 2026-05-15
|
|
12
28
|
---
|
|
13
29
|
|
|
14
30
|
Data modeling decisions have the highest reversal cost of any backend choice. A schema design that seemed reasonable at launch can become an operational crisis at scale — queries that worked at 10,000 rows fail at 100 million. The goal is to match the data model to the access patterns of the application, not to normalize for its own sake or to denormalize prematurely. Design the schema with the queries in mind from day one.
|
|
@@ -1,15 +1,33 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: backend-deployment
|
|
3
|
-
description:
|
|
4
|
-
|
|
3
|
+
description: >-
|
|
4
|
+
Containerization best practices, serverless patterns, health check endpoints, graceful shutdown, and deployment
|
|
5
|
+
strategies
|
|
6
|
+
topics:
|
|
7
|
+
- backend
|
|
8
|
+
- deployment
|
|
9
|
+
- docker
|
|
10
|
+
- serverless
|
|
11
|
+
- health-checks
|
|
12
|
+
- graceful-shutdown
|
|
13
|
+
- blue-green
|
|
14
|
+
- canary
|
|
5
15
|
volatility: evolving
|
|
6
|
-
last-reviewed:
|
|
16
|
+
last-reviewed: 2025-01-14
|
|
7
17
|
version-pin: null
|
|
8
18
|
sources:
|
|
9
19
|
- url: https://martinfowler.com/bliki/BlueGreenDeployment.html
|
|
20
|
+
hash: sha256:eeb9a79a1caab2e9ffcafdfcfb12d9d6669918a7f2af3e9f44087458d0951717
|
|
21
|
+
retrieved: 2025-01-14
|
|
10
22
|
- url: https://martinfowler.com/bliki/CanaryRelease.html
|
|
23
|
+
hash: sha256:916caf0f38ffd564c0c478b51d7e5dac9fdbc4fa8bb9b6729300fc96d27c2715
|
|
24
|
+
retrieved: 2025-01-14
|
|
11
25
|
- url: https://sre.google/sre-book/release-engineering/
|
|
26
|
+
hash: sha256:eb0116a837c4f1b94eff42bde5a47a0a59874c8b432e3bf070374883ec558a54
|
|
27
|
+
retrieved: 2025-01-14
|
|
12
28
|
- url: https://docs.aws.amazon.com/whitepapers/latest/overview-deployment-options/welcome.html
|
|
29
|
+
hash: sha256:1e7eac9d22264bbc9dbca009645063474ea47d8940b21d15b1d68f03b0a1f4ee
|
|
30
|
+
retrieved: 2025-01-14
|
|
13
31
|
---
|
|
14
32
|
|
|
15
33
|
Deployment reliability is a multiplier on every other engineering investment — a well-written service that deploys poorly will cause more incidents than a mediocre service that deploys safely and rolls back cleanly.
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: backend-dev-environment
|
|
3
|
-
description:
|
|
4
|
-
|
|
3
|
+
description: >-
|
|
4
|
+
Docker Compose for local databases and queues, database seeding and migration scripts, API testing tools, environment
|
|
5
|
+
variable management, and local SSL setup
|
|
6
|
+
topics:
|
|
7
|
+
- backend
|
|
8
|
+
- dev-environment
|
|
9
|
+
- docker
|
|
10
|
+
- migrations
|
|
11
|
+
- testing
|
|
12
|
+
- environment-variables
|
|
5
13
|
volatility: evolving
|
|
6
|
-
last-reviewed:
|
|
14
|
+
last-reviewed: 2026-05-15
|
|
7
15
|
version-pin: null
|
|
8
16
|
sources:
|
|
9
17
|
- url: https://www.postgresql.org/docs/current/
|
|
18
|
+
hash: sha256:5fc8b49295f6c1c6a80ddab08d20f6aa2395e9804353fc4e8e8f57e77564d3f2
|
|
19
|
+
retrieved: 2026-05-15
|
|
10
20
|
---
|
|
11
21
|
|
|
12
22
|
A backend development environment that requires manual setup steps is a productivity drain and an onboarding failure. The standard should be: clone the repo, run one command, and have a fully functional local environment in under five minutes. Docker Compose is the primary tool for achieving this — it pins the exact versions of every external dependency and makes the environment reproducible across all developer machines.
|
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: backend-fintech-broker-integration
|
|
3
3
|
description: Multi-broker adapter pattern; credential rotation; error harmonization; rate-limit management; broker-side quirks.
|
|
4
|
-
topics:
|
|
4
|
+
topics:
|
|
5
|
+
- backend
|
|
6
|
+
- fintech
|
|
7
|
+
- brokers
|
|
8
|
+
- integration
|
|
9
|
+
- adapter-pattern
|
|
10
|
+
- rate-limits
|
|
11
|
+
- credentials
|
|
12
|
+
- retry
|
|
5
13
|
volatility: evolving
|
|
6
|
-
last-reviewed:
|
|
14
|
+
last-reviewed: 2025-04-08
|
|
7
15
|
version-pin: null
|
|
8
16
|
sources:
|
|
9
17
|
- url: https://microservices.io/patterns/reliability/circuit-breaker.html
|
|
18
|
+
hash: sha256:a117f72fc0d279ea99d4234ea8a8cc7bdf23d7ed59d94effc6129d613518a6fa
|
|
19
|
+
retrieved: 2025-04-08
|
|
10
20
|
- url: https://martinfowler.com/bliki/CircuitBreaker.html
|
|
21
|
+
hash: sha256:73239948ec03887430a4d139e384e94bc640fec894fb1dce53b56abe579c5da4
|
|
22
|
+
retrieved: 2025-04-08
|
|
11
23
|
---
|
|
12
24
|
|
|
13
25
|
A fintech backend that routes orders or reads positions across more than one broker inherits the union of every broker's quirks, outages, auth schemes, and undocumented behaviors. The broker-integration layer exists to hide that mess behind one normalized internal contract so the rest of the system — risk, order lifecycle, ledger, UI — can stay clean. This doc covers the adapter contract, credential handling, error harmonization, rate-limit strategy, and the specific pitfalls that recur regardless of which brokers you connect.
|
|
@@ -1,15 +1,34 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: backend-fintech-compliance
|
|
3
|
-
description:
|
|
4
|
-
|
|
3
|
+
description: >-
|
|
4
|
+
PCI-DSS, SOC 2, SEC/FINRA regulations for consumer/B2B fintech backends; audit trail immutability; data retention;
|
|
5
|
+
segregation of duties.
|
|
6
|
+
topics:
|
|
7
|
+
- backend
|
|
8
|
+
- fintech
|
|
9
|
+
- compliance
|
|
10
|
+
- pci-dss
|
|
11
|
+
- soc2
|
|
12
|
+
- sec
|
|
13
|
+
- finra
|
|
14
|
+
- audit-trail
|
|
15
|
+
- gdpr
|
|
5
16
|
volatility: evolving
|
|
6
|
-
last-reviewed:
|
|
7
|
-
version-pin:
|
|
17
|
+
last-reviewed: 2025-06-01
|
|
18
|
+
version-pin: PCI-DSS v4.0.1
|
|
8
19
|
sources:
|
|
9
20
|
- url: https://www.pcisecuritystandards.org/document_library/
|
|
21
|
+
hash: sha256:60f358c5e84edcf42b22d4fac7743c26fc7993c3966d1b7d05b822068158207d
|
|
22
|
+
retrieved: 2026-06-03
|
|
10
23
|
- url: https://www.aicpa-cima.com/topic/audit-assurance
|
|
24
|
+
hash: sha256:542f04762277b74c561607773ec55cf516701c8949effaba77a520370208ca93
|
|
25
|
+
retrieved: 2026-06-03
|
|
11
26
|
- url: https://www.finra.org/rules-guidance/rulebooks/finra-rules
|
|
27
|
+
hash: sha256:c7fd4d25fb9d2afa323de2804858dca1f15d903c41f20857951cfd26c3fe8e74
|
|
28
|
+
retrieved: 2026-06-03
|
|
12
29
|
- url: https://eur-lex.europa.eu/eli/reg/2016/679/oj
|
|
30
|
+
hash: sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
|
31
|
+
retrieved: 2026-06-03
|
|
13
32
|
---
|
|
14
33
|
|
|
15
34
|
Fintech compliance is not a checklist applied at the end — it determines schema design, deployment pipelines, and system boundaries. Most regulations apply based on what a service *touches* (cards, trades, PII), so scope reduction is the single highest-leverage design decision available to engineering. This doc covers the regulatory regimes a typical US/EU fintech encounters, the audit-trail patterns they demand, and concrete implementation choices that keep audits survivable.
|
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: backend-fintech-data-modeling
|
|
3
3
|
description: Financial data models; currency handling; decimal precision; positions, trades, prices; time-series designs.
|
|
4
|
-
topics:
|
|
4
|
+
topics:
|
|
5
|
+
- backend
|
|
6
|
+
- fintech
|
|
7
|
+
- data-modeling
|
|
8
|
+
- decimal
|
|
9
|
+
- currency
|
|
10
|
+
- time-series
|
|
11
|
+
- positions
|
|
12
|
+
- trades
|
|
5
13
|
volatility: stable
|
|
6
|
-
last-reviewed:
|
|
14
|
+
last-reviewed: 2026-05-15
|
|
7
15
|
version-pin: null
|
|
8
16
|
sources:
|
|
9
17
|
- url: https://www.postgresql.org/docs/current/datatype-numeric.html
|
|
18
|
+
hash: sha256:1267f14a5a637a44fc5bca1eeae354212578564013e16b9db7ed41ee87bc0e08
|
|
19
|
+
retrieved: 2026-05-15
|
|
10
20
|
- url: https://www.iso.org/iso-4217-currency-codes.html
|
|
21
|
+
hash: sha256:d0983be3fa2b0d527e3e495e83857b8bc2434f4515669a6f6bb1a45b0c6559a5
|
|
22
|
+
retrieved: 2026-05-15
|
|
11
23
|
---
|
|
12
24
|
|
|
13
25
|
Financial data modeling is where most fintech bugs are born: a float creeps into a money field, a currency is implied instead of stored, a tick table grows unbounded, or a `current_position` column drifts from the journal. This doc covers the non-negotiable shapes of money, quantity, and price data, and the time-series and derived-view patterns that keep a trading or banking system honest at scale.
|
|
@@ -1,13 +1,27 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: backend-fintech-ledger
|
|
3
|
-
description:
|
|
4
|
-
|
|
3
|
+
description: >-
|
|
4
|
+
Double-entry accounting for fintech ledgers; journal vs ledger tables; idempotent posting; reconciliation patterns;
|
|
5
|
+
balance invariants.
|
|
6
|
+
topics:
|
|
7
|
+
- backend
|
|
8
|
+
- fintech
|
|
9
|
+
- ledger
|
|
10
|
+
- double-entry
|
|
11
|
+
- accounting
|
|
12
|
+
- reconciliation
|
|
13
|
+
- idempotency
|
|
14
|
+
- invariants
|
|
5
15
|
volatility: stable
|
|
6
|
-
last-reviewed:
|
|
16
|
+
last-reviewed: 2026-05-14
|
|
7
17
|
version-pin: null
|
|
8
18
|
sources:
|
|
9
19
|
- url: https://martinfowler.com/eaaCatalog/
|
|
20
|
+
hash: sha256:45b80ec0b5893f07a6d0170851f87d0904617d34f3321a0f1aab0d8807b61be7
|
|
21
|
+
retrieved: 2026-05-14
|
|
10
22
|
- url: https://www.postgresql.org/docs/current/ddl-constraints.html
|
|
23
|
+
hash: sha256:086b039b181be11933f9408989fd66297cadb4e02a631cd9cb88235acd8675d8
|
|
24
|
+
retrieved: 2026-05-14
|
|
11
25
|
---
|
|
12
26
|
|
|
13
27
|
A fintech ledger is the authoritative record of money movement; if it is wrong, nothing else in the system can be trusted. The discipline is borrowed intact from 700 years of double-entry bookkeeping — not a new invention, and not negotiable. This doc covers the invariants, schema shape, idempotent posting mechanics, and reconciliation patterns that keep a ledger survivable at production scale.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-apply.d.ts","sourceRoot":"","sources":["../../src/knowledge-freshness/audit-apply.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAyBrD,yFAAyF;AACzF,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAG9C;AAKD,MAAM,WAAW,YAAY;IAC3B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACpC;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,YAAY,EACrB,IAAI,GAAE,YAAiB,GACtB,MAAM,
|
|
1
|
+
{"version":3,"file":"audit-apply.d.ts","sourceRoot":"","sources":["../../src/knowledge-freshness/audit-apply.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAyBrD,yFAAyF;AACzF,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAG9C;AAKD,MAAM,WAAW,YAAY;IAC3B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACpC;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,YAAY,EACrB,IAAI,GAAE,YAAiB,GACtB,MAAM,CA4KR"}
|
|
@@ -114,13 +114,20 @@ export function applyVerdictToEntry(original, verdict, opts = {}) {
|
|
|
114
114
|
'the CLI should compute hashes for every verdict.sources_checked URL before calling apply.');
|
|
115
115
|
}
|
|
116
116
|
s.hash = fresh;
|
|
117
|
+
// The deterministic hash was just (re)computed from a fresh fetch
|
|
118
|
+
// performed DURING this audit run, so `retrieved` must reflect that
|
|
119
|
+
// fetch — the run date — rather than echoing the LLM-claimed
|
|
120
|
+
// `retrieved_at`, which can be stale. Echoing it left a freshly
|
|
121
|
+
// changed hash paired with an old retrieval date, corrupting the
|
|
122
|
+
// provenance audit trail (v3.33.2 review finding).
|
|
123
|
+
s.retrieved = verdict.audit_date;
|
|
117
124
|
}
|
|
118
125
|
else {
|
|
119
126
|
// Test mode (or callers that explicitly accept LLM-claimed hashes):
|
|
120
127
|
// fall back to the LLM-claimed value.
|
|
121
128
|
s.hash = match.content_hash;
|
|
129
|
+
s.retrieved = match.retrieved_at;
|
|
122
130
|
}
|
|
123
|
-
s.retrieved = match.retrieved_at;
|
|
124
131
|
}
|
|
125
132
|
}
|
|
126
133
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-apply.js","sourceRoot":"","sources":["../../src/knowledge-freshness/audit-apply.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAA;AAG1B,wCAAwC;AACxC,MAAM,iBAAiB,GAAG,QAAQ,CAAA;AAClC,+FAA+F;AAC/F,MAAM,mBAAmB,GAAG,YAAY,CAAA;AAExC,2GAA2G;AAC3G,SAAS,WAAW,CAAC,IAAY,EAAE,QAAgB;IACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IAChD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;YAC/B,oEAAoE;YACpE,8DAA8D;YAC9D,4DAA4D;YAC5D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACb,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,CAAC,EAAE,CAAA;YACnE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAA;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC1B,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AACzC,CAAC;AAED,mFAAmF;AACnF,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAA;AActE,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,OAAqB,EACrB,OAAqB,EAAE;IAEvB,4EAA4E;IAC5E,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,aAAa,CAAC,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChH,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,OAAO,yCAAyC,OAAO,CAAC,gBAAgB,CAAC,MAAM,IAAI;YACvG,uGAAuG,CACxG,CAAA;IACH,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAClC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAC3E,IAAI,KAAK,GAAG,CAAC,CAAC,CAAA;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;YAAC,KAAK,GAAG,CAAC,CAAC;YAAC,MAAK;QAAC,CAAC;IAC1F,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;IAEzD,kFAAkF;IAClF,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAA4B,CAAA;IAElH,6EAA6E;IAC7E,0EAA0E;IAC1E,yEAAyE;IACzE,2EAA2E;IAC3E,2BAA2B;IAC3B,EAAE;IACF,4EAA4E;IAC5E,0EAA0E;IAC1E,qEAAqE;IACrE,yEAAyE;IACzE,2EAA2E;IAC3E,2CAA2C;IAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAgF,CAAA;QAClH,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,CAAC,GAAG;gBAAE,SAAQ;YACpB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAA;YACjB,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;YAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;YACnC,MAAM,OAAO,GAAG,SAAS;gBACvB,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,MAAM,CAAC;gBAC7D,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;YAClF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAA;gBAC7C,MAAM,IAAI,KAAK,CACb,oDAAoD,MAAM,MAAM;oBAChE,wFAAwF;oBACxF,8EAA8E,CAC/E,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,uEAAuE;IACvE,uEAAuE;IACvE,+DAA+D;IAC/D,sEAAsE;IACtE,uEAAuE;IACvE,cAAc;IACd,EAAE;IACF,uEAAuE;IACvE,oEAAoE;IACpE,qEAAqE;IACrE,kEAAkE;IAClE,WAAW;IACX,IAAI,OAAO,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;QACrC,KAAK,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,UAAU,CAAA;IAC7C,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAA+D,CAAA;QACjG,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,2EAA2E;YAC3E,6CAA6C;YAC7C,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,CAAA;YACpF,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC/C,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;oBACrC,0EAA0E;oBAC1E,wEAAwE;oBACxE,qEAAqE;oBACrE,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;oBACrD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,MAAM,IAAI,KAAK,CACb,mDAAmD,eAAe,MAAM;4BACxE,2FAA2F,CAC5F,CAAA;oBACH,CAAC;oBACD,CAAC,CAAC,IAAI,GAAG,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"audit-apply.js","sourceRoot":"","sources":["../../src/knowledge-freshness/audit-apply.ts"],"names":[],"mappings":"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"}
|
|
@@ -363,6 +363,42 @@ x
|
|
|
363
363
|
expect(out).toMatch(/hash:\s*['"]?sha256:deterministic['"]?/);
|
|
364
364
|
expect(out).not.toContain('llm-claimed-untrusted');
|
|
365
365
|
});
|
|
366
|
+
it('advances source retrieved to verdict.audit_date in strict mode (not the LLM-claimed retrieved_at)', () => {
|
|
367
|
+
// Regression (v3.33.2 review): strict mode recomputes each source hash from
|
|
368
|
+
// a deterministic fetch performed DURING this audit run, but `retrieved`
|
|
369
|
+
// was still echoing the LLM's `retrieved_at` — which can be stale. The
|
|
370
|
+
// result was a freshly-changed hash paired with an old retrieval date,
|
|
371
|
+
// corrupting the provenance audit trail. In strict mode `retrieved` must
|
|
372
|
+
// reflect the run date (verdict.audit_date).
|
|
373
|
+
const entry = `---
|
|
374
|
+
name: x
|
|
375
|
+
description: y
|
|
376
|
+
topics: []
|
|
377
|
+
sources:
|
|
378
|
+
- url: https://example.org/spec
|
|
379
|
+
hash: 'sha256:old'
|
|
380
|
+
retrieved: '2025-01-01'
|
|
381
|
+
---
|
|
382
|
+
|
|
383
|
+
## Deep Guidance
|
|
384
|
+
|
|
385
|
+
x
|
|
386
|
+
`;
|
|
387
|
+
const verdict = {
|
|
388
|
+
entry_name: 'x', audit_date: '2026-06-03', model: 'claude-opus-4-7',
|
|
389
|
+
verdict: 'current',
|
|
390
|
+
sources_checked: [
|
|
391
|
+
{ url: 'https://example.org/spec', retrieved_at: '2025-01-01',
|
|
392
|
+
content_hash: 'sha256:llm', summary: '' },
|
|
393
|
+
],
|
|
394
|
+
findings: [], proposed_changes: [], preserve_warnings: [],
|
|
395
|
+
};
|
|
396
|
+
const trustedHashes = new Map([['https://example.org/spec', 'sha256:fresh']]);
|
|
397
|
+
const out = applyVerdictToEntry(entry, verdict, { trustedHashes });
|
|
398
|
+
expect(out).toMatch(/hash:\s*['"]?sha256:fresh['"]?/);
|
|
399
|
+
expect(out).toMatch(/retrieved:\s*['"]?2026-06-03['"]?/);
|
|
400
|
+
expect(out).not.toMatch(/retrieved:\s*['"]?2025-01-01['"]?/);
|
|
401
|
+
});
|
|
366
402
|
it('throws when trustedHashes is supplied but is missing a verdict source URL', () => {
|
|
367
403
|
const entry = `---
|
|
368
404
|
name: x
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-apply.test.js","sourceRoot":"","sources":["../../src/knowledge-freshness/audit-apply.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"audit-apply.test.js","sourceRoot":"","sources":["../../src/knowledge-freshness/audit-apply.test.ts"],"names":[],"mappings":"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"}
|