This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
# Codex instructions
|
||||
|
||||
## Authority and scope
|
||||
|
||||
- Start with `docs/spec/00_SPEC_INDEX.md`. The numbered files under `docs/spec/` are the
|
||||
complete active specification; `99_FULL_SPEC_ARCHIVE.md` is historical and is not in
|
||||
this repository.
|
||||
- Required and Confirmed items are binding. Proposed, Deferred, Open, Optional, and
|
||||
Post-v1 items must not silently become implementation requirements.
|
||||
- Before changing scope, architecture, compatibility, release timing, schemas, commands,
|
||||
or user-visible behavior, read `docs/spec/01_PROJECT_FOUNDATION.md` and
|
||||
`docs/spec/07_RISKS_DECISIONS_AND_HISTORY.md` and apply the cross-spec integrity rules.
|
||||
- Ask the project owner when multiple plausible resolutions materially differ. Do not
|
||||
invent a decision merely to keep moving.
|
||||
|
||||
## Current state
|
||||
|
||||
- Phase 0 is complete. Phase 1 contracts are next.
|
||||
- `Project Kiln`, `kiln`, and every `kiln-*` name are private placeholders. Do not publish,
|
||||
globally install, register, or expose them as stable compatibility promises.
|
||||
- The workspace is private, AGPL-3.0-or-later, Rust 2024, MSRV 1.85, with the reviewed
|
||||
development toolchain pinned to Rust 1.97.1.
|
||||
- No real provider implementation starts until the relevant Phase 1 contracts and mock
|
||||
adapter tests pass.
|
||||
|
||||
## Required workflow
|
||||
|
||||
1. Define one narrow task with exclusions, affected components, acceptance criteria, and
|
||||
exact verification commands.
|
||||
2. Implement one vertical capability at a time. Do not spread incomplete work across
|
||||
providers or system layers.
|
||||
3. Treat provider files, manifests, artwork, frontend descriptors, paths, and strings as
|
||||
hostile input. Never interpolate them into a shell command.
|
||||
4. Keep ordinary discovery and launch unprivileged. Preserve per-user XDG state and do
|
||||
not hard-code usernames, UIDs, home directories, mounts, or the reference hardware.
|
||||
5. Use exact versions for local path dependencies as well as their paths. Update and
|
||||
commit `Cargo.lock` for every dependency change.
|
||||
6. Add dependency licenses only after review; do not broaden `deny.toml` speculatively.
|
||||
7. Update ADRs, evidence, traceability, source inventory, changelog, and active spec files
|
||||
whenever a change materially affects them.
|
||||
|
||||
## Verification
|
||||
|
||||
Run before handing work back:
|
||||
|
||||
```sh
|
||||
make verify
|
||||
make audit
|
||||
```
|
||||
|
||||
Also run focused tests for the changed capability. Do not report a gate as passed unless
|
||||
it actually ran. Record blocked hardware/VM/provider checks explicitly for later local
|
||||
execution rather than fabricating evidence.
|
||||
|
||||
## Repository map
|
||||
|
||||
- `crates/kiln-core/`: provider-independent contracts and logic
|
||||
- `crates/kiln-cli/`: the single human and machine-facing CLI
|
||||
- `docs/spec/`: active specification
|
||||
- `docs/adr/`: architecture decisions
|
||||
- `docs/phase-0/`: completed baseline policies and evidence
|
||||
- `docs/handoff/`: bounded Codex CLI task briefs
|
||||
- `scripts/`: repository, toolchain, licensing, and placeholder gates
|
||||
|
||||
Reference in New Issue
Block a user