docs: define Qlockify adaptation contract

This commit is contained in:
2026-08-20 19:07:31 +03:30
parent 3a854ad500
commit 21085c7405
4 changed files with 146 additions and 11 deletions

View File

@@ -85,7 +85,7 @@ Any change to these decisions requires a spec revision before implementation.
│ └── .git/
├── docs/
├── backups/ ignored runtime output
└── deployment assets only after spec approval
└── deployment assets only after explicit implementation authorization
```
Each checkout keeps its own Git history and remote. Deployment operations verify the expected repository, branch, remote, clean state, and resolved absolute path before pulling, checking out, or building.
@@ -499,16 +499,13 @@ Necessary changes include deployment root, archive/prefix names, Compose service
- MVP can be operated through health, logs, release records, disk/certificate/backup checks without Prometheus/Grafana.
- Prometheus/Grafana/exporters/dashboards/alerts are implemented and accepted after MVP readiness and before any AI implementation begins.
## Remaining implementation inputs
## Implementation readiness
No stakeholder-level Platform Operations decisions remain. Implementation still consumes these concrete inputs without reopening the approved design:
No stakeholder-level Platform Operations decisions or real server values are required to plan or implement the deployment artifacts. Follow `QLOCKIFY-ADAPTATION-CONTRACT.md` for the exact source-file mapping and root/backend/frontend environment ownership.
- the new server's public IP and DNS access
- actual ZarinPal ParsPack endpoint/bucket/prefix credentials and separately protected encryption passphrase
- backend/frontend build commands, health endpoints, migration/import/admin commands, and exact SSE path from their approved implementation contracts
- the named operators allowed to perform deployment/restore and the off-server secret/configuration escrow location
Tracked examples use blank secret placeholders and safe public defaults. The real server IP/DNS state, ParsPack values, operator identity, and secret values are runtime inputs supplied only when the relevant first-server or production operation is performed. Backend/frontend-owned command and variable names are consumed from their implementation contracts during the corresponding deployment slice; they do not reopen the approved topology or block earlier independent slices.
If an input would change an approved behavior rather than fill in a value/interface, amend this spec first.
Implementation remains gated by explicit stakeholder authorization. If a discovered interface would change an approved behavior rather than fill in a service-owned command/value, amend this spec first.
## References
@@ -520,3 +517,4 @@ If an input would change an approved behavior rather than fill in a value/interf
- PostgreSQL 18 backup/restore: <https://www.postgresql.org/docs/current/backup.html>
- PostgreSQL dump/restore guidance: <https://www.postgresql.org/docs/current/backup-dump.html>
- Local read-only Qlockify reference: `D:/Programing/Scripts/Qlockify/qlockify-deployment`
- Local adaptation map: `docs/QLOCKIFY-ADAPTATION-CONTRACT.md`