Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .decapod/OVERRIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -368,3 +368,20 @@ over the embedded JSON constitution.
### metadata/skills/INTENT_REFINEMENT

---
### core/SCAFFOLDING
### methodology/EXECUTIVE_ALIGNMENT
### methodology/MARKET_INTELLIGENCE
### methodology/OPERATING_MODEL_EXECUTION
### methodology/STRATEGIC_DECISION
### methodology/STRATEGY_DIAGNOSIS
### methodology/STRATEGY_ECONOMICS
### methodology/VALUE_RISK_GOVERNANCE
### architecture/GO
### architecture/JAVA
### architecture/JAVASCRIPT
### architecture/PYTHON
### architecture/REACT
### architecture/RUBY
### architecture/RUST
### architecture/TERRAFORM
### data/POSTGRESQL
4 changes: 2 additions & 2 deletions .decapod/generated/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
# Path: .decapod/generated/Dockerfile
# Managed seed: Decapod maintains the image/version header; agents may
# mutate project-specific packages and commands in workspace branches.
ARG DECAPOD_IMAGE=ghcr.io/decapodlabs/decapod:v0.63.4
ARG DECAPOD_IMAGE=ghcr.io/decapodlabs/decapod:v0.64.0
FROM $DECAPOD_IMAGE
ARG DECAPOD_VERSION=0.63.4
ARG DECAPOD_VERSION=0.64.0
ARG DECAPOD_USE_LOCAL_BINARY=0
LABEL org.opencontainers.image.base.name="$DECAPOD_IMAGE"
LABEL org.decapod.version="$DECAPOD_VERSION"
Expand Down
14 changes: 8 additions & 6 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,15 @@ This is a Decapod-managed repository. **Strict Dependency: You are strictly boun

## Mandatory Orientation

**Before performing any Decapod operations beyond help/version checks, you MUST read the Agent API Orientation corpus:**
**Before performing any Decapod operations beyond help/version checks, you MUST ingest the Agent API Orientation corpus from the Decapod binary:**

1. Read **[docs/agent/api-index.md](docs/agent/api-index.md)** for high-level orientation.
2. Consult **[docs/agent/command-contracts.md](docs/agent/command-contracts.md)** for specific command requirements and recovery paths.
3. Reference **[docs/agent/payload-examples.md](docs/agent/payload-examples.md)** for valid call shapes.
```bash
decapod docs ingest
```

This command outputs the embedded agent documentation (api-index.md, command-contracts.md, payload-examples.md, error-recovery.md, state-model.md, config-schema.md, mcp.md) directly from the binary — no filesystem reads required.

**Note on Constitution vs Docs:** Agents use `decapod constitution` to discover technology, primitives in software engineering and delivery, and for scoping pre-inference context. Agents use `decapod docs` to learn the decapod binary interface - its commands, CLI flags, and payloads to run against the decapod binary itself.
**Note on Constitution vs Docs:** Agents use `decapod constitution` to discover technology, primitives in software engineering and delivery, and for scoping pre-inference context. Agents use `decapod docs` to access the embedded agent-facing methodology documentation (restricted to docs/agent/).

## Mandatory Initialization

Expand Down Expand Up @@ -57,7 +59,7 @@ decapod constitution search --query "<problem>"
9. **MUST** stop if requirements conflict or intent is ambiguous.
10. **MUST** respect the interface abstraction boundary.
11. **MUST** maintain **Living Specs**: treat `.decapod/generated/specs/*` as dynamic documents.
12. **MUST** use the command contracts in `docs/agent/command-contracts.md` instead of guessing arguments.
12. **MUST** use the command contracts from `decapod docs` output instead of guessing arguments.

## Decapod Invocation Contract
Agents act. Decapod orients. Call Decapod at decision boundaries: ambiguous requests, public impact, unclear proof, todo lifecycle, scope expansion, context loss, or multi-agent collision risk.
Expand Down
4 changes: 2 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ See `AGENTS.md` for the universal contract.

## Orientation & Documentation

- **Read `docs/agent/api-index.md` before using Decapod beyond help/version checks.**
- Use `docs/agent/command-contracts.md` instead of guessing command arguments.
- **Run `decapod docs ingest` before using Decapod beyond help/version checks.**
- Use `decapod docs` command output instead of guessing command arguments.
- Treat Decapod errors as recovery instructions.
- Respect repo-local config policy and workspace boundaries.
- Do not bypass Decapod boundaries to appear productive.
Expand Down
4 changes: 2 additions & 2 deletions CODEX.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ See `AGENTS.md` for the universal contract.

## Orientation & Documentation

- **Read `docs/agent/api-index.md` before using Decapod beyond help/version checks.**
- Use `docs/agent/command-contracts.md` instead of guessing command arguments.
- **Run `decapod docs ingest` before using Decapod beyond help/version checks.**
- Use `decapod docs` command output instead of guessing command arguments.
- Treat Decapod errors as recovery instructions.
- Respect repo-local config policy and workspace boundaries.
- Do not bypass Decapod boundaries to appear productive.
Expand Down
4 changes: 2 additions & 2 deletions GEMINI.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ See `AGENTS.md` for the universal contract.

## Orientation & Documentation

- **Read `docs/agent/api-index.md` before using Decapod beyond help/version checks.**
- Use `docs/agent/command-contracts.md` instead of guessing command arguments.
- **Run `decapod docs ingest` before using Decapod beyond help/version checks.**
- Use `decapod docs` command output instead of guessing command arguments.
- Treat Decapod errors as recovery instructions.
- Respect repo-local config policy and workspace boundaries.
- Do not bypass Decapod boundaries to appear productive.
Expand Down
2 changes: 1 addition & 1 deletion internal/tui/views.go
Original file line number Diff line number Diff line change
Expand Up @@ -1325,7 +1325,7 @@ func (m Model) logsView() string {
return b.String()
}

const maxMsgLen = 20
const maxMsgLen = 40

// formatBuildMessage truncates a build message to maxMsgLen characters and
// appends a PR reference if one is found in the original message.
Expand Down
16 changes: 16 additions & 0 deletions internal/tui/views_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package tui

import (
"strings"
"testing"
)

func TestFormatBuildMessageTruncatesAt40Characters(t *testing.T) {
message := strings.Repeat("a", maxMsgLen+10)

got := formatBuildMessage(message)

if want := strings.Repeat("a", maxMsgLen) + "…"; got != want {
t.Fatalf("formatBuildMessage() = %q, want %q", got, want)
}
}
Loading