Planning-artifact onboarding
Use the planning-artifacts archetype for a repository whose current product is
research, a concept, or a preparation bundle. It supplies bounded Praetor
preparation governance and the repository's strict HISS complexity limits. It
does not choose a language runtime, execute a build, boot an image, or establish
release evidence.
Safe preparation
Keep the source notes, exports, and working material in the repository's private workspace policy. Preserve source bytes and provenance; do not copy private material into public generated context or a candidate scaffold. Review the planned adoption report before applying it. Use a dry run first, for example:
praetorctl adopt --profile planning-artifacts --facets agent:sandboxed --dry-run \
--path /path/to/repository --lock-source-root /path/to/praetor
The profile's development container requests only baseline utilities and selects no project language runtime or GPU feature. Adoption may still use its existing bootstrap builder to prepare the governance harness; that is separate from a project toolchain. Add a language toolchain, GPU feature, or executable scaffold only after a repository manifest, pinned inputs, and an explicit contract select it. A candidate scaffold is inactive until those inputs exist and its commands have been run. Missing tools and malformed or oversized inputs remain preparation failures; there is no blanket adoption bypass.
The explicit source bundle also supplies the shared checkpoint evaluator and local-only policy. Adoption installs Lefthook tool/stop jobs without enabling remote publication. Existing custom hook configuration and checkpoint settings remain authoritative; inspect reported warnings and run the actual jobs to prove wiring. Client-native lifecycle activation is a separate workstation step.
Use scripts/planning_import.py to organize a flat local export without
executing its setup scripts. Supply an explicit version-1 JSON manifest with
entries containing source, destination, and the original sha256 for
every file. Outputs must be a new directory inside .workingdir; imported
content remains untrusted data with private permissions. Review the dry run
first, then apply the same command without --dry-run:
python3 -B scripts/planning_import.py --manifest /repo/.workingdir/import.json \
--source /repo/.workingdir/export --output /repo/.workingdir/prepared --dry-run
Name imported governance files and scripts as inert proposals, such as
proposals/AGENTS.md.txt or proposals/setup.sh.txt. Keep the raw export and
manifest unchanged. The importer refuses missing, extra, conflicting, oversized,
or digest-mismatched inputs. Its preparation report does not certify the
imported code, research, or workflow claims. Prepare supported text sources
separately with praetorctl notebook prepare; record excluded binary or
oversized sources and their hashes explicitly instead of silently truncating.
Readiness boundaries
Record these as separate decisions and evidence sets:
| Stage | What must be demonstrated |
|---|---|
| Planning | Sources, assumptions, ownership, scope, and bounded preparation are reviewed. |
| Build | Pinned manifests and dependencies produce the intended artifact. |
| Boot | The artifact starts in its declared target environment and its checks pass. |
| Release | Review, provenance, security checks, publication, and rollback evidence exist. |
A planning report can satisfy the first row while the other rows remain
unverified or blocked. Generated instructions describe intended work and
cannot become unrestricted upstream authority. Native runtime, deployment, and
release claims require their own executable evidence and explicit contracts.