Files
devops-skills/.ralph/ralph-history.md
seekee421 9ce0295747
Some checks failed
publish-site / deploy-public-site (push) Waiting to run
preview-slot-reclaim / reclaim (push) Has been cancelled
chore: remove generated python cache artifacts
2026-03-13 15:36:09 +08:00

115 lines
4.4 KiB
Markdown

# Ralph History
## Iteration 0
- Initialized worktree `feature/gitea-runtime-control-plane`
- Wrote approved design spec and implementation plan
- Created Ralph loop contract and task list
- Verification: not started yet
## Iteration 1
- Goal: complete Task 1 package scaffold, spec loader, and sample workflow
- Changed files:
- `pyproject.toml`
- `engine/devops_agent/__init__.py`
- `engine/devops_agent/cli.py`
- `engine/devops_agent/spec.py`
- `workflows/gitea-issue-delivery.md`
- `tests/unit/test_smoke_imports.py`
- `tests/unit/test_spec_loader.py`
- `tests/fixtures/specs/valid_workflow.md`
- `tests/fixtures/specs/invalid_missing_provider.md`
- `.gitignore`
- Verification:
- `python -m pytest tests/unit/test_smoke_imports.py tests/unit/test_spec_loader.py -q`
- Result: `4 passed`
- Blockers:
- Pytest tmp and cache facilities are unreliable in this Windows sandbox path, so tests must avoid `tmp_path` and rely on stable fixture files or repo-local paths.
## Iteration 2
- Goal: complete Task 2 compiler, validator, and policy enforcement
- Changed files:
- `engine/devops_agent/compiler.py`
- `engine/devops_agent/validator.py`
- `engine/devops_agent/policies.py`
- `engine/devops_agent/spec.py`
- `tests/unit/test_compiler.py`
- `tests/unit/test_validator.py`
- `tests/unit/test_policies.py`
- `tests/fixtures/specs/no_safe_outputs_for_write.md`
- `tests/fixtures/specs/invalid_path_scope.md`
- Verification:
- `python -m pytest tests/unit/test_smoke_imports.py tests/unit/test_spec_loader.py tests/unit/test_compiler.py tests/unit/test_validator.py tests/unit/test_policies.py -q`
- Result: `11 passed`
- Blockers:
- PyYAML treats `on` as a boolean in default parsing, so the spec loader now normalizes that key explicitly.
## Iteration 3
- Goal: complete Task 3 provider layer, Gitea provider, runtime, and evidence persistence
- Changed files:
- `engine/devops_agent/evidence.py`
- `engine/devops_agent/runtime.py`
- `engine/devops_agent/providers/__init__.py`
- `engine/devops_agent/providers/base.py`
- `engine/devops_agent/providers/gitea.py`
- `tests/unit/test_gitea_provider.py`
- `tests/integration/test_runtime_flow.py`
- `tests/fixtures/gitea/issue.json`
- `tests/fixtures/gitea/comment_event.json`
- Verification:
- `python -m pytest tests/unit tests/integration -q`
- Result: `15 passed`
- Blockers:
- None in code shape. Real Gitea acceptance still depends on environment credentials.
## Iteration 4
- Goal: complete Task 4 CLI, acceptance tests, and documentation updates
- Changed files:
- `engine/devops_agent/cli.py`
- `tests/unit/test_cli.py`
- `tests/acceptance/test_gitea_acceptance.py`
- `README.md`
- `skills/gitea-issue-devops-agent/SKILL.md`
- `workflows/gitea-issue-delivery.lock.json`
- Verification:
- `python -m pytest tests/unit tests/integration tests/acceptance -q`
- `python -m engine.devops_agent.cli compile workflows/gitea-issue-delivery.md --output workflows/gitea-issue-delivery.lock.json`
- `python -m engine.devops_agent.cli validate workflows/gitea-issue-delivery.md`
- Result: `18 passed, 1 skipped`
- Blockers:
- Real Gitea acceptance is blocked until `GITEA_BASE_URL`, `GITEA_REPO`, `GITEA_TOKEN`, and `GITEA_ISSUE_NUMBER` are provided.
## Iteration 5
- Goal: complete Task 5 full verification and real Gitea acceptance handoff
- Verification:
- `python -m pytest tests/unit tests/integration tests/acceptance -q`
- `python -m engine.devops_agent.cli compile workflows/gitea-issue-delivery.md --output workflows/gitea-issue-delivery.lock.json`
- `python -m engine.devops_agent.cli validate workflows/gitea-issue-delivery.md`
- `git diff --check`
- Result: `19 passed`
- Real acceptance evidence:
- repo: `FunMD/document-collab`
- issue: `#48`
- comment id: `246`
- comment url: `http://154.39.79.147:3000/FunMD/document-collab/issues/48#issuecomment-246`
- Blockers:
- None for the Gitea single-platform acceptance target.
## Iteration 6
- Goal: remove generated Python cache artifacts accidentally staged into git
- Changed files:
- `.gitignore`
- removed tracked `__pycache__/*.pyc` artifacts under `engine/` and `tests/`
- Verification:
- `python -m pytest tests/unit tests/integration tests/acceptance -q`
- `git diff --check`
- Result: `19 passed`
- Blockers:
- Two sandbox-created `pytest-cache-files-*` directories remain unreadable to git status in this environment, but they are not tracked and do not affect the runtime or tests.