You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 79a10ea
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: content_docs/self-host-apps/data-workflow.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ recurring discovery
12
12
-> provider refresh
13
13
```
14
14
15
-
Production is canonical. Local is a disposable mirror for development and QA.
15
+
Production is canonical. Local is a disposable mirror for development and QA. Claim, review, release, estimate and single-app upsert examples target development explicitly. For authorized production work on homelab, replace `--environment development` with `--environment production --confirm stack127-production`. These commands ignore `NODE_ENV` and inherited `DATABASE_URL` and reject `--database-url`. Discovery and scheduled refresh commands keep their existing environment behavior.
16
16
17
17
## Discovery
18
18
@@ -31,12 +31,14 @@ npm run self-host-apps:discover-app-catalogs -- --catalog all --limit 5000 --wri
31
31
```bash
32
32
npm run self-host-apps:dedupe-candidates -- --dry-run
33
33
npm run self-host-apps:dedupe-candidates
34
-
npm run self-host-apps:select-candidate-batch -- --limit 100 --out <batch.json>
34
+
npm run self-host-apps:select-candidate-batch -- --environment development --limit 100 --out <batch.json>
35
35
npm run self-host-apps:collect-github-evidence -- --file <batch.json>
36
36
```
37
37
38
38
Selection uses `FOR UPDATE SKIP LOCKED` and marks claimed rows `enriching`, so two workers do not take the same work. Reviewers use `references/review-format.md`. Put supporting links in `sources` and `data_source_urls`; use `technical_fact_status` for checked-but-unpublished technical facts. There is no field-source table.
39
39
40
+
Before a review commits, claiming the same IDs again is safe. Release an abandoned claim with `npm run self-host-apps:release-candidate-batch -- --environment development --file <claimed.json> --to needs_review`; production requires the production environment and confirmation above. After the review commits, resume at estimates without reclaiming or reapplying the review. Estimates and repository refreshes can be re-run.
41
+
40
42
The legacy `self-host-apps:reset-categories` command is retired and exits without database access. It previously replaced all category links using imported labels and keyword matches. Existing categories need source review too. Correct them per app with `apply-qa-overrides.mjs`, `review_scope: "partial"`, expected categories, and official evidence URLs. Do not infer purpose from incidental words such as image, model, or server.
41
43
42
44
The review applier validates and moves data. Publication requires an official identity, a managed icon in `stack127-media`, one to three controlled categories, a verified self-hosting classification, install documentation, and at least one source URL. Open and source-available apps need a verified repository and license. Closed-source apps need an official website and publisher identity, but no repository.
@@ -59,7 +61,7 @@ Estimate RAM and storage for every published app for a typical small self-hosted
59
61
60
62
```bash
61
63
npm run self-host-apps:propose-resource-estimates -- --limit 5000 --out <resource-estimates.json>
62
-
npm run self-host-apps:apply-resource-estimates -- --file <reviewed-estimates.json> --apply-reviewed
64
+
npm run self-host-apps:apply-resource-estimates -- --environment development --file <reviewed-estimates.json> --apply-reviewed
63
65
```
64
66
65
67
An estimate record needs a range, kind, confidence, a short internal basis, and a link to the official project or publisher page. Use `review.method: "app_estimate"` for a practical estimate. Keep published requirements as source evidence for the estimate, not as a separate public RAM or storage label. Do not use a package memory cap as an app requirement.
Copy file name to clipboardExpand all lines: scripts/self-host-apps/README.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,10 +21,10 @@ Discovery stores raw evidence. It cannot publish or assign final categories, sum
21
21
22
22
## Review movement
23
23
24
-
-`select-candidate-batch.mjs` atomically claims queued and name-review rows.
24
+
-`select-candidate-batch.mjs` atomically claims queued and name-review rows by rank, or exact IDs with `--ids` / `--ids-from <reviewed.json>`. `--match <name-or-repository>` is read-only lookup.
25
25
-`collect-github-evidence.mjs` collects official API evidence without editing apps.
26
26
-`apply-candidate-review.mjs` validates reviewed decisions and writes them transactionally.
27
-
-`release-candidate-batch.mjs` releases an abandoned claim.
27
+
-`release-candidate-batch.mjs` releases only abandoned enriching claims, through the shared environment and production confirmation gate.
28
28
29
29
`apply-candidate-review.mjs` requires source links for published records. Unknown values stay `null` or `unknown`; checked-but-unpublished facts use `technical_fact_status`.
30
30
@@ -39,4 +39,6 @@ Discovery stores raw evidence. It cannot publish or assign final categories, sum
39
39
40
40
Production is canonical. `sync-prod-to-local.mjs` rebuilds the disposable local mirror. `sync-local-to-prod.mjs` is an exceptional guarded upsert, requires `--confirm-reviewed-push`, and does not draft missing production rows unless `--draft-missing` is also explicit.
41
41
42
+
For targeted additions, follow “Add one app on request” in `stack127_docs/self-host-apps-data.md`. Do not use `sync-local-to-prod` for single apps. Editorial commands (including claim release) use `--environment development` (default) or `--environment production --confirm stack127-production`, including production previews. GitLab/Codeberg and install-option refreshes accept `--slug`; scheduled refresh callers keep their existing environment behavior.
43
+
42
44
See `content_docs/self-host-apps/data-workflow.md` and `scripts/self-host-apps/scripts.json`.
0 commit comments