Skip to content

feat: trinity-bootstrap-pack v1.1 + kernel UX batch 1#14

Merged
postmunnet merged 1 commit into
mainfrom
feat/trinity-bootstrap-pack-v1.1-and-kernel-ux
May 23, 2026
Merged

feat: trinity-bootstrap-pack v1.1 + kernel UX batch 1#14
postmunnet merged 1 commit into
mainfrom
feat/trinity-bootstrap-pack-v1.1-and-kernel-ux

Conversation

@postmunnet

Copy link
Copy Markdown
Owner

Three audited Trinity sessions land together (full audit trail kept in local trinity_v2 retros; public export excludes session/audit state).

trinity-bootstrap-pack v1.0 + v1.1 — one-command install

# From a local trinity_v2 clone:
bash tools/trinity-bootstrap-pack/install.sh ~/code/my-app --project-name my-app

# From curl|bash (any machine):
curl -fsSL https://raw.githubusercontent.com/postmunnet/trinity-protocol/main/tools/trinity-bootstrap-pack/bootstrap.sh \
  | bash -s -- ~/code/my-app --project-name my-app
  • install.sh — bash entry → python core; positional <target> or --target
  • bootstrap.sh — curl|bash entry; clones/pulls ~/.trinity-kernel then dispatches
  • --with-kernel symlink|copy|none (default symlink): auto-wires .ai/cli and .ai/rituals from trinity_v2 source into target, copies .ai/requirements.txt
  • Auto-detect 4 modes: greenfield / upgrade-v1 / upgrade-v2 / self (refused without --allow-self-install)
  • Pack contents: minimal .ai/ skeleton + CLAUDE.md/AGENTS.md/GEMINI.md entrypoint templates (with {{PROJECT_NAME}} substitution) + ai-docs/
  • 32 pytest covering detector, installer, kernel_wire, bootstrap_sh, smoke
  • Receipt: <target>/.trinity-install-receipt.json (pack version + kernel-wire info)
  • README documents three install flavours + flag matrix

Kernel UX batch 1 — fix the system, don't memorize the gotcha

Three repeating frictions resolved at the kernel/wrapper layer:

  1. pyproject.toml at project root: [tool.pytest.ini_options] with testpaths makes python3 -m pytest <path> work from any cwd. Removes the need to chain cd for pytest invocations.
  2. .ai/cli/commands/vvv.py: --answers-file now auto-detects JSON or YAML. Tries JSON first (backwards-compatible); falls back to yaml.safe_load. Error message + help text mention both formats explicitly.
  3. .ai/cli/agent wrapper: --session-path active resolves to the kernel's current_session pointer (read from .ai/state/status.json) at invocation time. Exits 78 with a clear stderr message if status is unreadable — no Python traceback.

Plus: new .ai/cli/agents/README.md documents the in-house agent set and the active keyword.

Locally: 1868 → 1883 kernel pytest green; new bootstrap-pack suite added.

Other docs sync

This export also mirrors local docs work that hadn't been published yet:

  • docs/specs/01_TOOL_CONTRACT.md (TH + EN) — substantial spec expansion
  • docs/specs/INDEX.md, docs/specs/en/INDEX.md — index updates
  • docs/migration/01_CONTEXT_AND_DECISIONS.md, 03_COMMIT_PLAN.md
  • README.md, docs/VERSION_LINEAGE*.md
  • scripts/export_github.sh — updated scrub rules

Three audited Trinity sessions land together (full audit trail kept in
local trinity_v2 retros; public export excludes session/audit state).

## trinity-bootstrap-pack v1.0 + v1.1 — one-command install

```bash
# From a local trinity_v2 clone:
bash tools/trinity-bootstrap-pack/install.sh ~/code/my-app --project-name my-app

# From curl|bash (any machine):
curl -fsSL https://raw.githubusercontent.com/postmunnet/trinity-protocol/main/tools/trinity-bootstrap-pack/bootstrap.sh \
  | bash -s -- ~/code/my-app --project-name my-app
```

- `install.sh` — bash entry → python core; positional `<target>` or `--target`
- `bootstrap.sh` — curl|bash entry; clones/pulls `~/.trinity-kernel` then dispatches
- `--with-kernel symlink|copy|none` (default `symlink`): auto-wires `.ai/cli` and
  `.ai/rituals` from trinity_v2 source into target, copies `.ai/requirements.txt`
- Auto-detect 4 modes: greenfield / upgrade-v1 / upgrade-v2 / self (refused
  without `--allow-self-install`)
- Pack contents: minimal `.ai/` skeleton + `CLAUDE.md`/`AGENTS.md`/`GEMINI.md`
  entrypoint templates (with `{{PROJECT_NAME}}` substitution) + `ai-docs/`
- 32 pytest covering detector, installer, kernel_wire, bootstrap_sh, smoke
- Receipt: `<target>/.trinity-install-receipt.json` (pack version + kernel-wire info)
- README documents three install flavours + flag matrix

## Kernel UX batch 1 — fix the system, don't memorize the gotcha

Three repeating frictions resolved at the kernel/wrapper layer:

1. `pyproject.toml` at project root: `[tool.pytest.ini_options]` with
   `testpaths` makes `python3 -m pytest <path>` work from any cwd. Removes
   the need to chain `cd` for pytest invocations.
2. `.ai/cli/commands/vvv.py`: `--answers-file` now auto-detects JSON or YAML.
   Tries JSON first (backwards-compatible); falls back to `yaml.safe_load`.
   Error message + help text mention both formats explicitly.
3. `.ai/cli/agent` wrapper: `--session-path active` resolves to the kernel's
   `current_session` pointer (read from `.ai/state/status.json`) at invocation
   time. Exits 78 with a clear stderr message if status is unreadable — no
   Python traceback.

Plus: new `.ai/cli/agents/README.md` documents the in-house agent set and
the `active` keyword.

Locally: 1868 → 1883 kernel pytest green; new bootstrap-pack suite added.

## Other docs sync

This export also mirrors local docs work that hadn't been published yet:

- `docs/specs/01_TOOL_CONTRACT.md` (TH + EN) — substantial spec expansion
- `docs/specs/INDEX.md`, `docs/specs/en/INDEX.md` — index updates
- `docs/migration/01_CONTEXT_AND_DECISIONS.md`, `03_COMMIT_PLAN.md`
- `README.md`, `docs/VERSION_LINEAGE*.md`
- `scripts/export_github.sh` — updated scrub rules
@postmunnet postmunnet merged commit e31ec28 into main May 23, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants