code-foundry 1.9.7 → 1.9.9

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.
@@ -157,7 +157,7 @@ Keep pull requests focused and reviewable. Include screenshots or recordings for
157
157
  | -------------------------------------------------- | ------------------------------------------------------------------------------------- |
158
158
  | Draft pull request targeting `main` | No runner-heavy validation; run local checks before requesting review |
159
159
  | Ready pull request targeting `main` | Audit validation: CI, full tests, Security, and CodeQL, ending in `Validation / Gate` |
160
- | Exact Release Please pull request targeting `main` | Release-policy validation only, ending in `Validation / Gate` |
160
+ | Exact Release Please pull request targeting `main` | Full validation: CI, full tests, Security, and CodeQL, ending in `Validation / Gate` |
161
161
  | Scheduled or manual validation | Full audit tier |
162
162
  | Push to a working branch | Draft PR workflow |
163
163
  | Push to `main` | Release workflow; canonical validation already ran on the merged PR |
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.9.9](https://github.com/0xPlayerOne/code-foundry/compare/v1.9.8...v1.9.9) (2026-09-08)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **sync:** standardize existing release PR titles ([#521](https://github.com/0xPlayerOne/code-foundry/issues/521)) ([76b1c94](https://github.com/0xPlayerOne/code-foundry/commit/76b1c94ee2ddde2a438bbb0cd11515eacbcbdb8d))
9
+
10
+ ## [1.9.8](https://github.com/0xPlayerOne/code-foundry/compare/v1.9.7...v1.9.8) (2026-09-08)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * **docs:** describe full release validation ([#519](https://github.com/0xPlayerOne/code-foundry/issues/519)) ([1c51368](https://github.com/0xPlayerOne/code-foundry/commit/1c513681dcd34d30d16d89505a159061d66e8fdb))
16
+
3
17
  ## [1.9.7](https://github.com/0xPlayerOne/code-foundry/compare/v1.9.6...v1.9.7) (2026-09-08)
4
18
 
5
19
 
package/docs/WORKFLOWS.md CHANGED
@@ -30,9 +30,9 @@ workflow_dispatch:
30
30
 
31
31
  In the `staging-release` topology, pull requests into `staging` run the fast
32
32
  tier, ordinary pull requests into `main` run the full audit tier, and exact
33
- Release Please pull requests into `main` run only release policy plus CodeQL
34
- (the CodeQL analysis keeps repository rulesets that require code scanning
35
- results satisfiable for the release commit). In the
33
+ Release Please pull requests into `main` run the full audit tier plus the
34
+ release-diff policy. This keeps repository rulesets satisfiable for the release
35
+ commit without exposing neutral or skipped suite checks. In the
36
36
  `direct` topology (the default) every pull request targets `main` and runs the
37
37
  full audit tier, because there is no integration branch for a fast pass.
38
38
  Scheduled and manual runs select the audit tier in both topologies. Draft PR
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "code-foundry",
3
- "version": "1.9.7",
3
+ "version": "1.9.9",
4
4
  "description": "A fast, language-aware repository factory for agent-ready workflows, testing, security, and release automation.",
5
5
  "homepage": "https://github.com/0xPlayerOne/code-foundry#readme",
6
6
  "bugs": {
@@ -427,8 +427,12 @@ const RELEASE_BASELINE_KEYS = [
427
427
  'bump-minor-pre-major',
428
428
  'changelog-sections',
429
429
  'include-component-in-tag',
430
+ 'pull-request-title-pattern',
431
+ 'group-pull-request-title-pattern',
430
432
  ]
431
433
 
434
+ const RELEASE_ENFORCED_KEYS = ['pull-request-title-pattern', 'group-pull-request-title-pattern']
435
+
432
436
  /** @param {string} target @param {string} sourceFile @returns {Record<string, any>} */
433
437
  function mergeReleaseConfig(target, sourceFile) {
434
438
  /** @type {Record<string, any>} */
@@ -450,7 +454,11 @@ function mergeReleaseConfig(target, sourceFile) {
450
454
  existing = baseline
451
455
  }
452
456
  }
453
- return buildReleaseConfig(target, { ...safeBaseline, ...existing })
457
+ const merged = { ...safeBaseline, ...existing }
458
+ for (const key of RELEASE_ENFORCED_KEYS) {
459
+ if (key in baseline) merged[key] = baseline[key]
460
+ }
461
+ return buildReleaseConfig(target, merged)
454
462
  }
455
463
 
456
464
  /** @param {string} target @param {string} sourceFile @returns {string} */
@@ -748,8 +756,8 @@ const DIRECT_DOC_REPLACEMENTS = {
748
756
  '7. Push to the fork and open a pull request targeting `main`.',
749
757
  ],
750
758
  [
751
- '| Event | Expected automation |\n| -------------------------------------------------- | ------------------------------------------------------------------------------------- |\n| Draft pull request targeting `staging` | No runner-heavy validation; run local checks before requesting review |\n| Ready pull request targeting `staging` | Fast validation: CI plus unit tests, ending in `Validation / Gate` |\n| Draft ordinary pull request targeting `main` | No runner-heavy validation; run local checks before requesting review |\n| Ready ordinary pull request targeting `main` | Audit validation: CI, full tests, Security, and CodeQL, ending in `Validation / Gate` |\n| Exact Release Please pull request targeting `main` | Release-policy validation only, ending in `Validation / Gate` |\n| Scheduled or manual validation | Full audit tier |\n| Push to a working branch | Draft PR workflow |\n| Push to `staging` | Promotion PR workflow; canonical validation waits for the PR event |\n| Push to `main` | Release workflow; canonical validation already ran on the merged PR |\n',
752
- '| Event | Expected automation |\n| -------------------------------------------------- | ------------------------------------------------------------------------------------- |\n| Draft pull request targeting `main` | No runner-heavy validation; run local checks before requesting review |\n| Ready pull request targeting `main` | Audit validation: CI, full tests, Security, and CodeQL, ending in `Validation / Gate` |\n| Exact Release Please pull request targeting `main` | Release-policy validation only, ending in `Validation / Gate` |\n| Scheduled or manual validation | Full audit tier |\n| Push to a working branch | Draft PR workflow |\n| Push to `main` | Release workflow; canonical validation already ran on the merged PR |\n',
759
+ '| Event | Expected automation |\n| -------------------------------------------------- | ------------------------------------------------------------------------------------- |\n| Draft pull request targeting `staging` | No runner-heavy validation; run local checks before requesting review |\n| Ready pull request targeting `staging` | Fast validation: CI plus unit tests, ending in `Validation / Gate` |\n| Draft ordinary pull request targeting `main` | No runner-heavy validation; run local checks before requesting review |\n| Ready ordinary pull request targeting `main` | Audit validation: CI, full tests, Security, and CodeQL, ending in `Validation / Gate` |\n| Exact Release Please pull request targeting `main` | Full validation: CI, full tests, Security, and CodeQL, ending in `Validation / Gate` |\n| Scheduled or manual validation | Full audit tier |\n| Push to a working branch | Draft PR workflow |\n| Push to `staging` | Promotion PR workflow; canonical validation waits for the PR event |\n| Push to `main` | Release workflow; canonical validation already ran on the merged PR |\n',
760
+ '| Event | Expected automation |\n| -------------------------------------------------- | ------------------------------------------------------------------------------------- |\n| Draft pull request targeting `main` | No runner-heavy validation; run local checks before requesting review |\n| Ready pull request targeting `main` | Audit validation: CI, full tests, Security, and CodeQL, ending in `Validation / Gate` |\n| Exact Release Please pull request targeting `main` | Full validation: CI, full tests, Security, and CodeQL, ending in `Validation / Gate` |\n| Scheduled or manual validation | Full audit tier |\n| Push to a working branch | Draft PR workflow |\n| Push to `main` | Release workflow; canonical validation already ran on the merged PR |\n',
753
761
  ],
754
762
  [
755
763
  '| Change | Target | Merge method | Merge gate |\n| ---------------------------- | --------- | ----------------------------------------------- | --------------------------------------------------------- |\n| Working branch | `staging` | Squash | All applicable required checks pass |\n| `staging` → `main` promotion | `main` | Rebase (`merge_strategy`) | Current staging checks, release review, and rollout notes |\n| Release Please version PR | `main` | Rebase (`release_merge_strategy`, fails closed) | Validation gate and release policy pass |\n',