feature-factory 0.7.4 → 0.7.5

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.
Files changed (3) hide show
  1. package/README.md +10 -0
  2. package/WORKFLOW.md +11 -0
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -47,6 +47,16 @@ Each omitted timeout independently defaults to `900000`; neither shares the othe
47
47
  operator-owned, committed, and protected as a privileged path: a run cannot create, write, merge,
48
48
  archive, package, or repair it.
49
49
 
50
+ An inherited `FACTORY_PUBLISHING_IDENTITY` that exists and contains at least one character replaces the
51
+ file value, used exactly as inherited. One repository may be published from more than one environment — a
52
+ maintainer's own checkout and an automated host — while `.factory.json` is tracked and can carry only one
53
+ value, so the expectation belongs with the environment and the file carries the fallback. An absent or
54
+ zero-length override leaves the file value in force; it never means no declaration, and only an absent
55
+ `.factory.json` skips the guards. That is what keeps a forgotten override a park rather than a publish
56
+ under whatever credential happens to exist. Never derive the value from `gh`, the token, stored
57
+ authentication, Git configuration, or any command result — an expectation read from the credential being
58
+ checked would always match, and the guard would stop guarding.
59
+
50
60
  Validation refuses the first matching defect in this order: unreadable or invalid JSON, a non-object root, or unknown keys; invalid `pr_draft`; invalid `bootstrap`; `bootstrap_timeout_ms` without `bootstrap`; invalid `bootstrap_timeout_ms`; invalid `verify_timeout_ms`; then missing or invalid required entries.
51
61
 
52
62
  The named forms are `.factory.json entry 'pr_draft' must be a boolean`, `.factory.json entry 'bootstrap' must be a non-empty string`, `.factory.json entry 'bootstrap_timeout_ms' requires a declared bootstrap command`, `.factory.json entry 'bootstrap_timeout_ms' must be a positive integer`, and `.factory.json entry 'verify_timeout_ms' must be a positive integer`.
package/WORKFLOW.md CHANGED
@@ -273,6 +273,17 @@ names only `bootstrap_timeout_ms`. Validate this order before executing `resolve
273
273
  Retain the validated `publishing_identity` string exactly as parsed, without trimming,
274
274
  normalizing, case-folding, or reserializing it, as `DECLARED_PUBLISHING_IDENTITY` for this driver
275
275
  invocation. Do not tighten the existing non-whitespace validation to the observed-login grammar.
276
+ An inherited `FACTORY_PUBLISHING_IDENTITY` that exists and contains at least one character replaces the
277
+ file value as `DECLARED_PUBLISHING_IDENTITY`, used exactly as inherited under the same no-trimming,
278
+ no-normalizing, no-case-folding rule. One repository may be published from more than one environment -- a
279
+ maintainer's own checkout and an automated host -- while `.factory.json` is tracked and can carry only one
280
+ value, so the expectation belongs with the environment and the file carries the fallback.
281
+ An absent or zero-length override leaves the file value in force.
282
+ It never means no declaration; only an absent `.factory.json` skips the publishing-identity guards, which
283
+ is what keeps a forgotten override a park rather than a publish under whatever credential happens to exist.
284
+ Never derive this value from `gh`, the token, stored authentication, Git configuration, or any command
285
+ result: an expectation read from the credential being checked would always match, and the guard would
286
+ silently stop guarding.
276
287
  Credential values must not appear in the file; command strings may refer only to credentials supplied
277
288
  through inherited environment-variable names.
278
289
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "feature-factory",
3
- "version": "0.7.4",
3
+ "version": "0.7.5",
4
4
  "description": "Durable, observed control plane for /feature runs. Host-agnostic: no opencode dependency.",
5
5
  "type": "module",
6
6
  "license": "MIT",