Add level-aware builder controls
This commit is contained in:
@@ -20,6 +20,12 @@ This project is intentionally being built in vertical slices.
|
||||
|
||||
Authorization must be checked on the server for every mutation. Hiding an admin link is not authorization.
|
||||
|
||||
Weapon and gear range calculations must preserve unrounded decimal endpoints
|
||||
and follow the empirically validated progression rules in
|
||||
[`STAT_LEVEL_SCALING.md`](STAT_LEVEL_SCALING.md). In particular, leveling is
|
||||
linear rather than compounded and game-matching integer values are truncated
|
||||
only at the presentation boundary.
|
||||
|
||||
Local credentials are stored as Argon2id PHC strings with a unique random salt
|
||||
per password. Current work factors follow OWASP's 19 MiB / 2 iteration /
|
||||
single-lane minimum profile and can be increased over time; successful login
|
||||
@@ -84,6 +90,36 @@ This guard prevents accidental merging or overwriting of contributor data.
|
||||
Stop the application before backup or restore so the embedded database file is
|
||||
not locked by another process.
|
||||
|
||||
## Low-downtime development migrations
|
||||
|
||||
The development database is a shared working data source: contributors may be
|
||||
entering ISAC records while application development continues. Database changes
|
||||
therefore use a prepared migration window rather than taking the server down at
|
||||
the beginning of implementation.
|
||||
|
||||
Before the window, finish the code and idempotent migration, batch related
|
||||
schema changes, identify verification queries, and run `npm run check` plus
|
||||
`npm run build` while the server remains available. Prefer additive,
|
||||
backward-compatible tables and safely defaulted or nullable columns. Coordinate
|
||||
with known contributors so the stop does not interrupt an unsaved submission.
|
||||
|
||||
The offline window is deliberately narrow:
|
||||
|
||||
1. Inspect running processes and stop only this project's development server.
|
||||
2. Run and verify `npm run db:backup`.
|
||||
3. Run the already-prepared migration.
|
||||
4. Verify expected schema state, record counts, and critical entities.
|
||||
5. Restart the development server immediately.
|
||||
6. Confirm a basic page or health check, then perform extended browser and
|
||||
regression testing with the service online.
|
||||
|
||||
Code editing, builds, formatting, documentation review, and noncritical UI
|
||||
testing do not belong inside this window. Destructive, data-rewriting, or
|
||||
long-running migrations require a separately communicated maintenance window
|
||||
and a verified recovery plan. Every migration handoff reports the backup path,
|
||||
migration outcome, successful server restart, critical checks, and the
|
||||
approximate offline interval when available.
|
||||
|
||||
# ISAC audit and compensating reversals
|
||||
|
||||
Every successful ISAC mutation appends an event to `audit_log` through the
|
||||
|
||||
Reference in New Issue
Block a user