Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 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
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -85,4 +85,5 @@ desktop.ini
output/
results/
runs/
pitaya_state/
pitaya_state/
.pitaya/
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Persist per-instance metadata to results and logs artifacts. ([#79](https://github.com/tact-lang/pitaya/pull/79))
- CLI flags: `--override-config` and `--resume-key-policy {strict|suffix}` to control how resume applies overrides and durable key behavior. ([#81](https://github.com/tact-lang/pitaya/pull/81))
- Persist the effective run configuration to `pitaya_state/<run_id>/config.json` and a redacted copy to `logs/<run_id>/config.json` to improve resume fidelity. ([#81](https://github.com/tact-lang/pitaya/pull/81))
- Persist the effective run configuration to `.pitaya/state/<run_id>/config.json` and a redacted copy to `logs/<run_id>/config.json` to improve resume fidelity. ([#81](https://github.com/tact-lang/pitaya/pull/81))
- Strategy: `pr-review` — N reviewers, validator per reviewer, and a composer; CI‑friendly with JSON trailer parsing and fail gating.
- Workspace: Optional `--include-branches` (CSV/JSON) or config `runner.include_branches` to materialize extra read‑only branches in the isolated workspace for all strategies. Also supported per-task via `workspace_include_branches` metadata. ([#95](https://github.com/tact-lang/pitaya/pull/95))

Expand Down
2 changes: 1 addition & 1 deletion docs/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ pitaya "task" --force-commit # force a commit if changes exist

- Precedence: CLI > env > .env > project config > defaults.
- Directories:
- State: `--state-dir ./pitaya_state` (default)
- State: `--state-dir ./.pitaya/state` (default)
- Logs: `--logs-dir ./logs` (default)

## Maintenance
Expand Down
4 changes: 2 additions & 2 deletions docs/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ Most strategies leave these at defaults. To force an import even when there are

## Directories

- State: `pitaya_state/` (can be changed with `--state-dir`)
- State: `.pitaya/state/` (can be changed with `--state-dir`)
- Logs: `logs/<run_id>/` (change with `--logs-dir`)
- Results: `results/<run_id>/` (summary.json, metadata.json, branches.txt, instance_metrics.csv, instances/<id>.json)

Expand All @@ -95,7 +95,7 @@ Structured logs

On a fresh run, Pitaya writes the fully merged configuration (CLI + env + .env + file + defaults):

- Unredacted copy to `pitaya_state/<run_id>/config.json` (for fidelity on resume). The `pitaya_state/` directory is git‑ignored by default.
- Unredacted copy to `.pitaya/state/<run_id>/config.json` (for fidelity on resume). The `.pitaya/state/` directory is git‑ignored by default.
- Redacted copy to `logs/<run_id>/config.json` (tokens/API keys masked) for auditability alongside logs.

On `--resume <run_id>`, Pitaya loads the saved effective config by default. This preserves durable keys and behavior. CLI overrides on resume are applied as follows:
Expand Down
2 changes: 1 addition & 1 deletion docs/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ cd pitaya
uv run pitaya --version

# Or directly via Python module
python -m src.cli --version
python -m pitaya.cli --version
```

## Authenticate
Expand Down
6 changes: 3 additions & 3 deletions examples/custom_simple.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
from dataclasses import dataclass
from typing import List

from src.orchestration.strategies.base import Strategy, StrategyConfig
from src.orchestration.strategy_context import StrategyContext
from src.shared import InstanceResult
from pitaya.orchestration.strategy.base import Strategy, StrategyConfig
from pitaya.orchestration.strategy.context import StrategyContext
from pitaya.shared import InstanceResult


@dataclass
Expand Down
6 changes: 3 additions & 3 deletions examples/fanout_two.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
from dataclasses import dataclass
from typing import List

from src.orchestration.strategies.base import Strategy, StrategyConfig
from src.orchestration.strategy_context import StrategyContext
from src.shared import InstanceResult
from pitaya.orchestration.strategy.base import Strategy, StrategyConfig
from pitaya.orchestration.strategy.context import StrategyContext
from pitaya.shared import InstanceResult


@dataclass
Expand Down
6 changes: 3 additions & 3 deletions examples/propose_refine.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@
from dataclasses import dataclass
from typing import List

from src.orchestration.strategies.base import Strategy, StrategyConfig
from src.orchestration.strategy_context import StrategyContext
from src.shared import InstanceResult
from pitaya.orchestration.strategy.base import Strategy, StrategyConfig
from pitaya.orchestration.strategy.context import StrategyContext
from pitaya.shared import InstanceResult


@dataclass
Expand Down
8 changes: 4 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,21 +35,21 @@ maintainers = [
urls = { "Repository" = "https://github.com/tact-lang/pitaya", "Issues" = "https://github.com/tact-lang/pitaya/issues" }

[project.scripts]
pitaya = "src.cli:main"
pitaya-tui = "src.tui.cli:main"
pitaya = "pitaya.cli.main:main"
pitaya-tui = "pitaya.tui.cli:main"

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = ["src"]
packages = ["src/pitaya"]

[tool.hatch.build.targets.sdist]
exclude = [
"logs",
"results",
"pitaya_state",
".pitaya",
".venv",
".ruff_cache",
".mypy_cache",
Expand Down
1 change: 0 additions & 1 deletion src/__init__.py

This file was deleted.

11 changes: 0 additions & 11 deletions src/__main__.py

This file was deleted.

50 changes: 0 additions & 50 deletions src/instance_runner/__init__.py

This file was deleted.

11 changes: 0 additions & 11 deletions src/instance_runner/plugin_interface.py

This file was deleted.

80 changes: 0 additions & 80 deletions src/instance_runner/types.py

This file was deleted.

45 changes: 0 additions & 45 deletions src/orchestration/__init__.py

This file was deleted.

25 changes: 0 additions & 25 deletions src/orchestration/cli/__init__.py

This file was deleted.

Loading
Loading