@magnusekdahl/parallix 1.0.0
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 +140 -0
- package/LICENSE +661 -0
- package/README.md +196 -0
- package/config/agents.json +25 -0
- package/config/agents.local.json.template +8 -0
- package/config/state-map.json +4 -0
- package/config/state-map.json.template +31 -0
- package/config/workflow.config.schema.json +98 -0
- package/data/.gitkeep +0 -0
- package/docs/adr/0031-ai-agent-instruction-boundary-and-command-floor.md +114 -0
- package/docs/adr/0032-mission-refinement-state-and-usage-budget-signals.md +135 -0
- package/docs/adr/0034-module-and-skill-invocation-model.md +202 -0
- package/docs/adr/0036-mission-sizing-and-dependency-wave-heuristics.md +79 -0
- package/docs/adr/0037-ai-workflow-coordination-architecture.md +162 -0
- package/docs/adr/0041-integration-pipeline-gates.md +165 -0
- package/docs/adr/0042-workflow-cli-color-rendering-approach.md +106 -0
- package/docs/adr/0043-git-target-resolution-strategy.md +185 -0
- package/docs/adr/0044-workflow-distribution-model.md +277 -0
- package/docs/adr/0045-parallax-branch-model.md +182 -0
- package/docs/adr/0046-npm-publish-process-and-security.md +138 -0
- package/docs/adr/index.md +20 -0
- package/docs/agents.md +212 -0
- package/docs/authority-reference.md +298 -0
- package/docs/forgejo-setup.md +31 -0
- package/docs/migration/extraction.md +61 -0
- package/docs/migration/task-classification.md +36 -0
- package/docs/operator-setup.md +76 -0
- package/docs/readme-rewrite-benchmark.md +188 -0
- package/docs/use-cases.md +105 -0
- package/examples/README.md +62 -0
- package/examples/run-enterprise-tarball-workflow-smoke.sh +257 -0
- package/examples/run-verify-env-smoke.sh +40 -0
- package/index.js +250 -0
- package/lib/README.md +13 -0
- package/lib/agents/agents.js +867 -0
- package/lib/agents/claude-telemetry.js +233 -0
- package/lib/agents/claude.js +139 -0
- package/lib/agents/codex-telemetry.js +202 -0
- package/lib/agents/codex.js +219 -0
- package/lib/agents/limit-hit.js +252 -0
- package/lib/agents/mistral-telemetry.js +44 -0
- package/lib/agents/mistral.js +68 -0
- package/lib/agents/opencode-export.js +110 -0
- package/lib/agents/opencode-telemetry.js +356 -0
- package/lib/agents/opencode.js +218 -0
- package/lib/agents/stage-telemetry.js +37 -0
- package/lib/commands/active.js +625 -0
- package/lib/commands/checkpoint.js +76 -0
- package/lib/commands/config.js +39 -0
- package/lib/commands/coverage-gate.js +358 -0
- package/lib/commands/diff.js +119 -0
- package/lib/commands/draft.js +854 -0
- package/lib/commands/handoff.js +501 -0
- package/lib/commands/integrate.js +1528 -0
- package/lib/commands/mission-start.js +246 -0
- package/lib/commands/rebase.js +597 -0
- package/lib/commands/repair-handoff.js +227 -0
- package/lib/commands/resolve-conflict.js +109 -0
- package/lib/commands/review.js +13 -0
- package/lib/commands/setup-review.js +13 -0
- package/lib/commands/setup.js +3 -0
- package/lib/commands/stats-backfill.js +395 -0
- package/lib/commands/stats.js +1601 -0
- package/lib/commands/status.js +183 -0
- package/lib/commands/verify.js +1 -0
- package/lib/core/fmt.js +202 -0
- package/lib/core/git.js +73 -0
- package/lib/core/gitignore.js +110 -0
- package/lib/core/mission-utils.js +1017 -0
- package/lib/core/persistent-data-migration.js +201 -0
- package/lib/core/product-config.js +508 -0
- package/lib/core/runtime-matrix.js +82 -0
- package/lib/core/spawn-tee.js +173 -0
- package/lib/core/state-map.js +89 -0
- package/lib/core/storage.js +165 -0
- package/lib/core/verification.js +149 -0
- package/lib/index.js +77 -0
- package/lib/review/rebase.js +163 -0
- package/lib/review/review-adapter.js +135 -0
- package/lib/review/review-artifacts.js +619 -0
- package/lib/review/review-commands.js +1375 -0
- package/lib/review/review-events.js +1007 -0
- package/lib/review/review-loop.js +1004 -0
- package/lib/review/review-polling.js +141 -0
- package/lib/review/review-prompts.js +212 -0
- package/lib/review/review-state.js +280 -0
- package/lib/review/review.js +96 -0
- package/lib/tools/backlog.js +680 -0
- package/lib/tools/forgejo.js +1585 -0
- package/lib/tools/gatekeeper.js +106 -0
- package/lib/tools/sessions.js +74 -0
- package/lib/tools/setup-review.js +1053 -0
- package/package.json +56 -0
- package/prompts/act-on-review-verbose.md +20 -0
- package/prompts/act-on-review.md +22 -0
- package/prompts/draft.md +20 -0
- package/prompts/execute.md +24 -0
- package/prompts/portfolio.md +30 -0
- package/prompts/review-verbose.md +20 -0
- package/prompts/review.md +17 -0
- package/px.js +236 -0
- package/templates/AGENTS-snippet.md +14 -0
- package/templates/AGENTS.md.template +34 -0
- package/templates/CLAUDE.md.template +27 -0
- package/templates/CODEX.md.template +38 -0
- package/templates/MISTRAL.md.template +24 -0
- package/templates/claude-commands/act-on-review.md +3 -0
- package/templates/claude-commands/area-review.md +3 -0
- package/templates/claude-commands/draft.md +6 -0
- package/templates/claude-commands/execute.md +6 -0
- package/templates/claude-commands/integrate.md +4 -0
- package/templates/claude-commands/portfolio.md +5 -0
- package/templates/claude-commands/review.md +4 -0
- package/templates/codex/config.toml +6 -0
- package/templates/mission-scaffold.md +39 -0
- package/templates/vibe/skills/act-on-review/SKILL.md +16 -0
- package/templates/vibe/skills/area-review/SKILL.md +16 -0
- package/templates/vibe/skills/draft/SKILL.md +16 -0
- package/templates/vibe/skills/execute/SKILL.md +16 -0
- package/templates/vibe/skills/integrate/SKILL.md +16 -0
- package/templates/vibe/skills/portfolio/SKILL.md +21 -0
- package/templates/vibe/skills/review/SKILL.md +16 -0
- package/tools/setup-forgejo-docker.sh +84 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to parallix (`parallix/`) are recorded here. This project
|
|
4
|
+
follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
5
|
+
|
|
6
|
+
## Versioning policy
|
|
7
|
+
|
|
8
|
+
parallix distinguishes three release states:
|
|
9
|
+
|
|
10
|
+
- **Local release candidate** — a `X.Y.Z` version built with `npm pack`. The
|
|
11
|
+
manifest stays `private: true`; no registry entry exists. Until the first
|
|
12
|
+
public release, the version scheme uses SemVer `X.Y.Z` with PATCH bumps for
|
|
13
|
+
each integration cycle (e.g., `1.0.0` → `1.0.1` → `1.0.2`). Before each
|
|
14
|
+
`px integrate`, the PATCH version is incremented; after a successful integrate,
|
|
15
|
+
the operator reinstalls `px` globally from the new tarball with
|
|
16
|
+
`npm install -g` to ensure the freshest binary. This is the current state.
|
|
17
|
+
- **Approved public release** — an `X.Y.Z` version published to a public
|
|
18
|
+
registry. A public release is performed **only** after explicit human
|
|
19
|
+
approval is recorded in a mission checkpoint, including the exact version,
|
|
20
|
+
registry, and publish command. Until then `private: true` remains set and no
|
|
21
|
+
publish runs.
|
|
22
|
+
- **Unpublished internal change** — work that lands in the repository (bug
|
|
23
|
+
fixes, refactors, test changes) without producing a new release candidate or
|
|
24
|
+
public release. Such changes are noted under "Unreleased" and folded into the
|
|
25
|
+
next release-candidate entry.
|
|
26
|
+
|
|
27
|
+
Version bumps follow SemVer: MAJOR for incompatible runner/config contract
|
|
28
|
+
changes, MINOR for backward-compatible proven capabilities, PATCH for fixes.
|
|
29
|
+
Until the first public release, PATCH bumps increment with each integration
|
|
30
|
+
cycle (pre-integrate bump + post-integrate reinstall).
|
|
31
|
+
|
|
32
|
+
## [Unreleased]
|
|
33
|
+
|
|
34
|
+
### Changed
|
|
35
|
+
|
|
36
|
+
- **Relicensed from MIT to AGPL-3.0-or-later.** Replaced `LICENSE-MIT` with the
|
|
37
|
+
full AGPL-3.0 text in `LICENSE`, updated the `package.json` `license` field and
|
|
38
|
+
`files` array, and added a License section to `README.md`. The AGPL covers
|
|
39
|
+
parallix and any modified or network-hosted fork; running `px` as a tool does
|
|
40
|
+
not impose AGPL terms on the user's own project.
|
|
41
|
+
|
|
42
|
+
- **Renamed the source directory `workflow/` → `parallix/`, removed the
|
|
43
|
+
`workflow/index.js` compatibility shim, and propagated the parallix/`px`
|
|
44
|
+
naming convention** across source, documentation, prompts, templates, examples,
|
|
45
|
+
`AGENTS.md`, `scripts/AGENTS.md`, agent prompt files, and operational docs
|
|
46
|
+
(task-1242 + task-1299, ADR 0044). The `package.json` `name` is now
|
|
47
|
+
`parallix` (was `visualboard-workflow`). `node parallix <command>` is
|
|
48
|
+
the direct local entrypoint — `workflow/index.js` no longer exists. The `px`
|
|
49
|
+
binary name, the `WORKFLOW_*` env-var namespace, the `.workflow/` runtime-data
|
|
50
|
+
directory, and the `workflow.config.json` filename are unchanged.
|
|
51
|
+
- PATCH — bump version before integrate, reinstall after success. This policy
|
|
52
|
+
ensures operators always run the `px` version that produced a change,
|
|
53
|
+
preventing stale binaries from executing `px integrate` against outdated
|
|
54
|
+
runtime fixes (e.g., `px shell-init` directory-switching from rc.3, Forgejo
|
|
55
|
+
review opt-in from rc.2). The version scheme is SemVer `X.Y.Z` with PATCH
|
|
56
|
+
bumps for each integration cycle until the first public release.
|
|
57
|
+
|
|
58
|
+
### Added
|
|
59
|
+
|
|
60
|
+
`px` directory-switching reaches the caller's shell. The previous `bin.px` ran
|
|
61
|
+
as a child process and could only print `[INFO] Next: cd …`, so a plain
|
|
62
|
+
`px draft` / `px integrate` never moved the operator's terminal — the same
|
|
63
|
+
limitation that made the separate sourced `w.sh` wrapper necessary.
|
|
64
|
+
|
|
65
|
+
- `px shell-init [bash|zsh]` — prints a `px` shell function for the operator's
|
|
66
|
+
shell rc (`eval "$(px shell-init bash)"`). The function delegates to the
|
|
67
|
+
installed binary via `command px` and performs the `cd` on
|
|
68
|
+
`[INFO] Next: cd …` / `[INFO] Working directory: …` transitions, so a plain
|
|
69
|
+
`px <command>` both runs the command and switches the terminal.
|
|
70
|
+
|
|
71
|
+
### Removed
|
|
72
|
+
- `workflow/w.sh` (and the repo-level `scripts/w.sh`). Superseded by the `px`
|
|
73
|
+
shell function: a function always runs in the caller's shell, so it no longer
|
|
74
|
+
needs `w.sh`'s sourced-vs-executed detection. `node parallix <command>` is
|
|
75
|
+
unchanged and remains the no-install dispatcher (it does not change the
|
|
76
|
+
caller's directory).
|
|
77
|
+
|
|
78
|
+
## [1.0.0-rc.3] — 2026-06-05
|
|
79
|
+
|
|
80
|
+
PATCH — Fixes `graphify update` scanning entire worktree (including `.workflow/sessions/`, agent caches, session logs, and tool state) by creating a `.graphifyignore` file during draft setup that excludes `.workflow/` from extraction. Also updates rc.2 changelog entry formatting.
|
|
81
|
+
|
|
82
|
+
### Fixed
|
|
83
|
+
- `ensureGraphifyIgnore` — new function in `draft.js` that creates and commits `.graphifyignore` during worktree setup, excluding `.workflow/` from graphify AST extraction
|
|
84
|
+
- graphify no longer wastes time/LLM cost extracting session logs, plugin caches, and agent state from `.workflow/` directories in mission worktrees
|
|
85
|
+
|
|
86
|
+
## [1.0.0-rc.2] — 2026-06-05
|
|
87
|
+
|
|
88
|
+
PATCH — Forgejo review is now opt-in by default. `isForgejoReviewEnabled()` returns `false` when `adapters.review.provider` is unset, removing Forgejo from the critical path when no review provider is configured. Fixes handoff Step 2 failing with "No Forgejo token found" on repos without review configuration (task-1236).
|
|
89
|
+
|
|
90
|
+
### Changed
|
|
91
|
+
- `isForgejoReviewEnabled` — null/missing provider now returns `false` instead of `true`
|
|
92
|
+
- `DEFAULT_CONFIG.review` comment updated to reflect opt-in semantics
|
|
93
|
+
|
|
94
|
+
### Fixed
|
|
95
|
+
- Handoff Step 2 no longer attempts Forgejo PR creation when review is not explicitly configured
|
|
96
|
+
|
|
97
|
+
## [1.0.0-rc.1] — 2026-06-05
|
|
98
|
+
|
|
99
|
+
First release candidate. Packaging and documentation prepared from the Phase 1–4
|
|
100
|
+
extraction evidence (TASK-1231 … TASK-1234) and ADR 0044. Not published.
|
|
101
|
+
|
|
102
|
+
### Added
|
|
103
|
+
- Release-facing guide appended to `README.md` covering the provisional `px`
|
|
104
|
+
runner, cwd-based repo operation, proven workflow command delegation, the
|
|
105
|
+
code-owned config contract, the six agent adapters and their bare-name
|
|
106
|
+
`PATH` resolution, the safety model, and deferred future work.
|
|
107
|
+
- `CHANGELOG.md` with this versioning policy.
|
|
108
|
+
- `examples/` with caller-supplied temporary-target smokes for `verify-env` and
|
|
109
|
+
enterprise tarball transfer.
|
|
110
|
+
- `README.md`: the canonical packaging and install guidance — `npm pack` →
|
|
111
|
+
transfer the tarball → `npm install -g`, giving a single global `px` that
|
|
112
|
+
replaces any prior install (no accumulation) and works offline.
|
|
113
|
+
- `package.json` release-candidate metadata: `license`, sharpened `description`,
|
|
114
|
+
`bin.px`, and `CHANGELOG.md`, `docs/`, and `examples/` added to the packed
|
|
115
|
+
`files` allowlist.
|
|
116
|
+
|
|
117
|
+
### Changed
|
|
118
|
+
- Default verification gate is now **no validation** when
|
|
119
|
+
`adapters.verification.command` is not configured (previously `npm test`,
|
|
120
|
+
which crashed with `npm ENOENT` in any non-npm target repo). parallix targets
|
|
121
|
+
arbitrary repositories, so a repository opts into a real gate by declaring the
|
|
122
|
+
command in `workflow.config.json`. `px --version`-style provenance and the
|
|
123
|
+
`--no-gate` opt-out are unchanged.
|
|
124
|
+
|
|
125
|
+
### Unchanged (compatibility preserved)
|
|
126
|
+
- `node parallix <command>` behavior (sourced auto-`cd`, executed
|
|
127
|
+
handoff, deleted-start-dir recovery, exit-code preservation).
|
|
128
|
+
- Agent adapter resolution, eligibility, and bare-command `PATH` semantics.
|
|
129
|
+
- `private: true`; no `exports`, install hooks, `publishConfig`, or registry
|
|
130
|
+
metadata were added.
|
|
131
|
+
|
|
132
|
+
### Deferred (not in this release candidate)
|
|
133
|
+
- Public registry publication, release tags, and signing.
|
|
134
|
+
- Final `px` command taxonomy (`px init`, `px doctor`, presets, dry-run
|
|
135
|
+
inventory, help redesign). The `bin.px` global-install entry point itself is
|
|
136
|
+
proven and used by the enterprise transfer path.
|
|
137
|
+
- Final public package name, ownership, and repository URL.
|
|
138
|
+
- Artifact signing/provenance/SBOM and full enterprise approval; standalone
|
|
139
|
+
binary and container artifacts. The bounded local tarball transfer via
|
|
140
|
+
`npm install -g` is supported (see `README.md`).
|