vinta-ai-workflows 0.2.0-alpha5 → 0.2.0-alpha6
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.
- package/CHANGELOG.md +34 -1
- package/package.json +1 -1
- package/skills/vinta-derive-skills/resources/foundation-skills/plan-feature/resources/ai-models.yaml +12 -17
- package/skills/vinta-derive-skills/resources/plan-execution/partials/commit-strategy/stacked.md +5 -0
- package/skills/vinta-derive-skills/resources/plan-execution/partials/pr-context.md +1 -1
- package/skills/vinta-derive-skills/resources/prs-context-template.md +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,10 +7,43 @@ the project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
7
7
|
|
|
8
8
|
## [0.2.0] — YYYY-MM-DD
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
<!-- pre-release: 0.2.0-alpha6 on 2026-07-13 -->
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- **`plan-feature` AI model tiers refreshed to the current model
|
|
15
|
+
generation.** `plan-feature/resources/ai-models.yaml` now cites the latest
|
|
16
|
+
IDs: tier 1 `gemini-2.5-flash-lite` → `gemini-3.1-flash-lite` and
|
|
17
|
+
`gpt-5-nano` → `gpt-5.6-luna`; tier 2 `claude-sonnet-4-6` → `claude-sonnet-5`
|
|
18
|
+
(incl. the Haiku step-up note) and `gemini-2.5-flash` → `gemini-3.5-flash`; tier 3
|
|
19
|
+
`claude-sonnet-4-6` → `claude-sonnet-5` and the retired `gemini-2.5-pro`
|
|
20
|
+
dropped in favor of `gemini-3-pro` and the retired `gpt-5` dropped in favor of
|
|
21
|
+
`gpt-5.6-terra`; tier 4 `claude-opus-4-7` → `claude-opus-4-8` and the retired
|
|
22
|
+
`o3` dropped in favor of `gpt-5.6-sol`. Tier *placement* is unchanged — only the
|
|
23
|
+
concrete IDs move. **Consumers**: re-sync to pick up the refreshed model
|
|
24
|
+
suggestions.
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
|
|
28
|
+
- **`implement-plan` stacked-branches now opens each phase PR against its
|
|
29
|
+
parent phase, not the default branch.** The git branch topology was already
|
|
30
|
+
stacked correctly (each phase branches off the previous phase's branch), but
|
|
31
|
+
nothing told the orchestrator what to write into the prs-context `base`
|
|
32
|
+
field, so it defaulted to `<BASE_BRANCH>` and **every stacked PR targeted the
|
|
33
|
+
default branch** — collapsing the stack and showing each PR the cumulative
|
|
34
|
+
diff. The stacked commit-strategy partial now spells out the PR base per
|
|
35
|
+
phase (first phase → default branch; every subsequent phase → the previous
|
|
36
|
+
phase's branch), the shared `pr-context` write step no longer defaults `base`
|
|
37
|
+
blindly, and the `prs-context` template comment states the rule. Modular /
|
|
38
|
+
single-PR strategies are unaffected (one PR against the default branch).
|
|
39
|
+
**Consumers**: re-sync to pick up the corrected `base` resolution; existing
|
|
40
|
+
PRs opened against the wrong base must be re-targeted manually.
|
|
11
41
|
|
|
12
42
|
<!-- pre-release: 0.2.0-alpha5 on 2026-07-13 -->
|
|
13
43
|
|
|
44
|
+
### Added
|
|
45
|
+
|
|
46
|
+
|
|
14
47
|
- **`handoff` foundation skill — session-continuation handoff docs between
|
|
15
48
|
agents.** Write mode captures the current task (goal, verified-vs-unverified
|
|
16
49
|
state, decisions + rejected alternatives, landmines, single concrete next
|
package/package.json
CHANGED
package/skills/vinta-derive-skills/resources/foundation-skills/plan-feature/resources/ai-models.yaml
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# Tier *placement* is human/LLM judgement — the job flags drift and proposes
|
|
12
12
|
# edits, it does not blindly reassign tiers. See scripts/check-ai-models.mjs.
|
|
13
13
|
schema_version: 1
|
|
14
|
-
last_verified: 2026-
|
|
14
|
+
last_verified: 2026-07-13
|
|
15
15
|
|
|
16
16
|
# Drift is checked against a free, no-key community aggregator (models.dev,
|
|
17
17
|
# vendor-keyed with release dates + pricing), cross-checked against LiteLLM's
|
|
@@ -37,10 +37,10 @@ tiers:
|
|
|
37
37
|
anthropic:
|
|
38
38
|
- id: claude-haiku-4-5
|
|
39
39
|
openai:
|
|
40
|
-
- id: gpt-5-
|
|
41
|
-
note:
|
|
40
|
+
- id: gpt-5.6-luna
|
|
41
|
+
note: optimized for cost-sensitive workloads
|
|
42
42
|
google:
|
|
43
|
-
- id: gemini-
|
|
43
|
+
- id: gemini-3.1-flash-lite
|
|
44
44
|
|
|
45
45
|
- tier: 2
|
|
46
46
|
label: standard pattern application
|
|
@@ -51,13 +51,13 @@ tiers:
|
|
|
51
51
|
models:
|
|
52
52
|
anthropic:
|
|
53
53
|
- id: claude-haiku-4-5
|
|
54
|
-
note: with iteration; step up to claude-sonnet-
|
|
55
|
-
- id: claude-sonnet-
|
|
54
|
+
note: with iteration; step up to claude-sonnet-5 if phase touches >3 files
|
|
55
|
+
- id: claude-sonnet-5
|
|
56
56
|
note: step-up target when phase touches >3 files
|
|
57
57
|
openai:
|
|
58
58
|
- id: gpt-5-mini
|
|
59
59
|
google:
|
|
60
|
-
- id: gemini-
|
|
60
|
+
- id: gemini-3.5-flash
|
|
61
61
|
|
|
62
62
|
- tier: 3
|
|
63
63
|
label: multi-file orchestration, business logic, SQL views
|
|
@@ -68,11 +68,10 @@ tiers:
|
|
|
68
68
|
covering concurrency edges.
|
|
69
69
|
models:
|
|
70
70
|
anthropic:
|
|
71
|
-
- id: claude-sonnet-
|
|
71
|
+
- id: claude-sonnet-5
|
|
72
72
|
openai:
|
|
73
|
-
- id: gpt-5
|
|
73
|
+
- id: gpt-5.6-terra
|
|
74
74
|
google:
|
|
75
|
-
- id: gemini-2.5-pro
|
|
76
75
|
- id: gemini-3-pro
|
|
77
76
|
note: stronger code recall
|
|
78
77
|
|
|
@@ -84,15 +83,11 @@ tiers:
|
|
|
84
83
|
tuning slow query against partitioned hot table, debugging heisenbug.
|
|
85
84
|
models:
|
|
86
85
|
anthropic:
|
|
87
|
-
- id: claude-opus-4-
|
|
86
|
+
- id: claude-opus-4-8
|
|
88
87
|
note: "[1m] 1M-context variant for large codebases"
|
|
89
88
|
openai:
|
|
90
|
-
- id: gpt-5
|
|
91
|
-
note:
|
|
92
|
-
- id: o3
|
|
93
|
-
note: pure reasoning
|
|
94
|
-
- id: o4
|
|
95
|
-
note: pure reasoning
|
|
89
|
+
- id: gpt-5.6-sol
|
|
90
|
+
note: Frontier model for complex professional work
|
|
96
91
|
google:
|
|
97
92
|
- id: gemini-3-pro
|
|
98
93
|
note: with thinking
|
package/skills/vinta-derive-skills/resources/plan-execution/partials/commit-strategy/stacked.md
CHANGED
|
@@ -19,6 +19,11 @@ git -C <WORKROOT> checkout plan/{plan-id-kebab}/phase-{prev.id}
|
|
|
19
19
|
git -C <WORKROOT> checkout -b plan/{plan-id-kebab}/phase-{phase.id}
|
|
20
20
|
git -C <WORKROOT> push -u origin plan/{plan-id-kebab}/phase-{phase.id}
|
|
21
21
|
```
|
|
22
|
+
|
|
23
|
+
**PR base per phase** (the `base` field written into the prs-context frontmatter — this is what `gh pr create --base` / `glab mr create --target-branch` opens the PR against; getting it wrong makes every stacked PR target `<BASE_BRANCH>` instead of its parent phase):
|
|
24
|
+
|
|
25
|
+
- **First executed phase** → `base = <BASE_BRANCH>`.
|
|
26
|
+
- **Subsequent phases** → `base = plan/{plan-id-kebab}/phase-{prev.id}` (the previous phase's branch, **not** `<BASE_BRANCH>`). The PR must open against its parent phase so the diff shows only this phase's changes and the stack reviews cleanly.
|
|
22
27
|
<!-- block-end: BRANCH_NAMING -->
|
|
23
28
|
|
|
24
29
|
<!-- block-begin: PER_PHASE_COMMIT -->
|
|
@@ -39,7 +39,7 @@ Two project-level signals decide the actual behavior:
|
|
|
39
39
|
|
|
40
40
|
When `generate_inline_comments = false`: skip this step. The file's `# Comments` block stays empty.
|
|
41
41
|
|
|
42
|
-
4. **Write the prs-context file** at {{PRS_CONTEXT_FILE_PATH}}, following [resources/prs-context-template.md](../../prs-context-template.md). Frontmatter: `plan_id`, `feature_name`, `phase_id`, `phase_title`, `branch`, `base`, `created_at`, `status: pending`, empty `pr_url`. Body sections: `# Title` (single-line PR title), `# Description` (Markdown body — uses the project's PR template structure from step 2 when one exists), `# Comments` (YAML list of `{file, start_line, end_line?, side, body}` — empty list when comments are off).
|
|
42
|
+
4. **Write the prs-context file** at {{PRS_CONTEXT_FILE_PATH}}, following [resources/prs-context-template.md](../../prs-context-template.md). Frontmatter: `plan_id`, `feature_name`, `phase_id`, `phase_title`, `branch`, `base`, `created_at`, `status: pending`, empty `pr_url`. **`base` is the branch the PR opens against — resolve it per the commit strategy, never default it to `<BASE_BRANCH>` blindly:** for stacked branches only the first executed phase bases on `<BASE_BRANCH>`; every subsequent phase bases on the **previous phase's branch** (see the PR-base rule under the {{BRANCH_PUSH_HEADING}} step above). For a single plan-level PR (modular / one-PR strategies) `base = <BASE_BRANCH>`. Body sections: `# Title` (single-line PR title), `# Description` (Markdown body — uses the project's PR template structure from step 2 when one exists), `# Comments` (YAML list of `{file, start_line, end_line?, side, body}` — empty list when comments are off).
|
|
43
43
|
|
|
44
44
|
5. **Confirm `.vinta-ai-workflows/prs-context/` is in `.gitignore`.** [vinta-install-ai-tools-setup](../../../vinta-install-ai-tools-setup/SKILL.md) runs the multi-vendor setup script which appends `.vinta-ai-workflows/prs-context/` on its first invocation. If an older bootstrap missed it, append it now.
|
|
45
45
|
|
|
@@ -6,7 +6,7 @@ feature_name: <FEATURE_NAME> # UPPERCASE_WITH_UNDERSCORES, matches p
|
|
|
6
6
|
phase_id: <phase-id> # e.g. "1", "4a"
|
|
7
7
|
phase_title: <phase title> # verbatim from the plan's Phased Rollout section
|
|
8
8
|
branch: plan/<feature-kebab>/phase-<id> # branch the PR opens from
|
|
9
|
-
base: <main | plan/<feature-kebab>/phase-<prev-id>> # target branch
|
|
9
|
+
base: <main | plan/<feature-kebab>/phase-<prev-id>> # PR target branch. Stacked: FIRST phase = default branch; every LATER phase = the PREVIOUS phase's branch (not the default branch). Modular / single-PR: default branch.
|
|
10
10
|
created_at: <ISO 8601 timestamp>
|
|
11
11
|
status: pending # `pending` until published; `published` after CLI run
|
|
12
12
|
pr_url: # set by open-pr-from-context after publishing
|