Skip to content

Commit 0648671

Browse files
committed
Improve workflow kit validation and tests
1 parent d131f89 commit 0648671

23 files changed

Lines changed: 495 additions & 143 deletions

.github/workflows/ci.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,13 @@ on:
77

88
jobs:
99
smoke:
10-
name: Smoke (${{ matrix.os }})
10+
name: Smoke (${{ matrix.os }}, py${{ matrix.python-version }})
1111
runs-on: ${{ matrix.os }}
1212
strategy:
1313
fail-fast: false
1414
matrix:
1515
os: [ubuntu-latest, windows-latest]
16+
python-version: ["3.10", "3.11", "3.12", "3.13"]
1617

1718
steps:
1819
- name: Checkout
@@ -21,11 +22,17 @@ jobs:
2122
- name: Setup Python
2223
uses: actions/setup-python@v5
2324
with:
24-
python-version: "3.11"
25+
python-version: ${{ matrix.python-version }}
2526

2627
- name: Show Python version
2728
run: python --version
2829

30+
- name: Run unit tests
31+
run: python -B -m unittest discover -s tests -v
32+
33+
- name: Bootstrap dry run
34+
run: python tools/bootstrap.py --target bootstrap-test --dry-run
35+
2936
- name: Validate workflow templates
3037
run: python tools/validate_workflow.py --memory-dir memory
3138

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,7 @@ Thumbs.db
2424
# Temporary test output
2525
tmp/
2626
bootstrap-test/
27+
*.generated.md
28+
*.tmp.*
29+
SCAN_EXPLANATION.md
30+
scan-summary.json

CHANGE_AREAS.md

Lines changed: 3 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,14 @@
11
# CHANGE_AREAS.md
22

3-
Карта областей, чтобы быстро понимать, куда направлять агента и где возможны регрессии.
3+
Generated draft. Review and refine before using it for strict delegation.
44

55
## Areas
66

7-
- API
8-
- Основные директории:
9-
- Главные entrypoints:
10-
- Основные риски:
11-
- Типичные тесты:
12-
13-
- UI
14-
- Основные директории:
15-
- Главные entrypoints:
16-
- Основные риски:
17-
- Типичные тесты:
18-
19-
- Bot or handlers
20-
- Основные директории:
21-
- Главные entrypoints:
22-
- Основные риски:
23-
- Типичные тесты:
24-
25-
- Data layer
26-
- Основные директории:
27-
- Главные entrypoints:
28-
- Основные риски:
29-
- Типичные тесты:
30-
31-
- Auth
32-
- Основные директории:
33-
- Главные entrypoints:
34-
- Основные риски:
35-
- Типичные тесты:
36-
37-
- Notifications
38-
- Основные директории:
39-
- Главные entrypoints:
40-
- Основные риски:
41-
- Типичные тесты:
7+
- No change areas detected automatically
428

439
## Delegation Rule
4410

11+
- Confidence: low (No strong area hints found from directory names)
4512
- Один агент должен владеть одной зоной записи.
4613
- Если задача затрагивает две зоны, критический путь лучше держать локально.
4714
- Если зона не определена, сначала отправляй `explorer`.

CODEBASE_INDEX.md

Lines changed: 48 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -4,46 +4,43 @@
44

55
## Project Summary
66

7-
- Project name:
8-
- Main purpose:
9-
- Primary language:
10-
- Frameworks:
11-
- Package manager:
12-
- Test runner:
7+
- Project name: codex-workflow-kit
8+
- Main purpose: Needs review
9+
- Primary language: Python
10+
- Frameworks: Needs review
11+
- Package manager: pip/pyproject
12+
- Test runner: Needs review
1313

1414
## Entry Points
1515

16-
- App entry:
17-
- API entry:
18-
- Worker entry:
19-
- CLI entry:
16+
- tools/acceptance_check.py (runtime entrypoint pattern, main function pattern)
17+
- tools/bootstrap.py (runtime entrypoint pattern, main function pattern)
18+
- tools/close_task.py (runtime entrypoint pattern, main function pattern)
19+
- tools/create_handoff.py (runtime entrypoint pattern, main function pattern)
20+
- tools/explain_scan.py (runtime entrypoint pattern, main function pattern)
21+
- tools/init_change_areas.py (runtime entrypoint pattern, main function pattern)
22+
- tools/init_index.py (runtime entrypoint pattern, main function pattern)
23+
- tools/refresh_index.py (runtime entrypoint pattern, main function pattern)
2024

2125
## Main Directories
2226

23-
- `src/`
24-
- что находится здесь:
25-
- `server/`
26-
- что находится здесь:
27-
- `bot/`
28-
- что находится здесь:
27+
- `.github/`
28+
- Needs review
29+
- `examples/`
30+
- Needs review
31+
- `memory/`
32+
- Needs review
33+
- `templates/`
34+
- Needs review
2935
- `tests/`
30-
- что находится здесь:
31-
- `scripts/`
32-
- что находится здесь:
33-
- `docs/`
34-
- что находится здесь:
35-
36-
Удалить или заменить эти секции под реальный проект.
36+
- Tests
37+
- `tools/`
38+
- Automation and utility scripts
3739

3840
## Important Files
3941

40-
- Main config:
41-
- Env example:
42-
- Dependency manifest:
43-
- Build config:
44-
- CI config:
45-
- Lint config:
46-
- Type config:
42+
- .github/workflows/ci.yml
43+
- pyproject.toml
4744

4845
## Key Flows
4946

@@ -66,27 +63,37 @@
6663

6764
## Test Map
6865

69-
- Fast smoke tests:
70-
- Feature tests:
71-
- Integration tests:
72-
- High-cost tests:
66+
- Test directories: tests
67+
- Detected test files: 1
68+
- Sample test files:
69+
- tests/test_workflow_tools.py
7370

7471
## Common Commands
7572

76-
```powershell
77-
# install
78-
79-
# test
73+
```text
74+
# codex-workflow-bootstrap
75+
tools.bootstrap:main
8076
81-
# lint
77+
# codex-workflow-scan
78+
tools.scan_project:main
8279
83-
# typecheck
80+
# codex-workflow-validate
81+
tools.validate_workflow:main
8482
85-
# run app
83+
# codex-workflow-acceptance
84+
tools.acceptance_check:main
8685
```
8786

8887
## Notes For Codex
8988

9089
- Сначала смотри сюда, потом ищи по дереву.
9190
- Если структура проекта изменилась, обнови этот файл.
9291
- Не превращай индекс в длиннюю документацию.
92+
93+
## CI Files
94+
95+
- .github/workflows/ci.yml
96+
97+
## Area Hints
98+
99+
- No area hints detected automatically

README.en.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,28 @@ Codex should operate like this:
179179

180180
More details and command examples: [tools/README.md](tools/README.md)
181181

182+
## Development Commands
183+
184+
```powershell
185+
# run unit tests without writing .pyc files
186+
python -B -m unittest discover -s tests -v
187+
188+
# validate the distributable memory templates
189+
python tools/validate_workflow.py --memory-dir memory
190+
191+
# preview bootstrap output without writing files
192+
python tools/bootstrap.py --target bootstrap-test --dry-run
193+
194+
# update an existing local install without resetting live memory
195+
python tools/bootstrap.py --target ..\my-project --force --skip-memory
196+
```
197+
198+
`acceptance_check.py` can also run concrete checks when a task needs stricter closure:
199+
200+
```powershell
201+
python tools/acceptance_check.py --scope --behavior --verification --regression --memory --require-current-task-updated --verification-command "python -B -m unittest discover -s tests -v"
202+
```
203+
182204
## Structure After Bootstrap
183205

184206
```text

README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,26 @@ python tools/bootstrap.py --target ..\my-project
187187

188188
Подробности и примеры запуска: [tools/README.md](tools/README.md)
189189

190+
## Команды разработки
191+
192+
```powershell
193+
# unit-тесты без записи .pyc-файлов
194+
python -B -m unittest discover -s tests -v
195+
196+
# проверка шаблонов памяти, которые распространяются с kit
197+
python tools/validate_workflow.py --memory-dir memory
198+
199+
# предварительный просмотр bootstrap без записи файлов
200+
python tools/bootstrap.py --target bootstrap-test --dry-run
201+
202+
# обновление локальной установки без сброса live memory
203+
python tools/bootstrap.py --target ..\my-project --force --skip-memory
204+
```
205+
206+
```powershell
207+
python tools/acceptance_check.py --scope --behavior --verification --regression --memory --require-current-task-updated --verification-command "python -B -m unittest discover -s tests -v"
208+
```
209+
190210
## Структура после bootstrap
191211

192212
После разворачивания mandatory core проект будет выглядеть примерно так:

TEST_INDEX.md

Lines changed: 22 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,51 @@
11
# TEST_INDEX.md
22

3-
Нужен для быстрого выбора минимальной релевантной проверки.
3+
Generated draft. Review and refine before relying on it.
44

55
## Test Commands
66

7-
```powershell
8-
# unit
7+
```text
8+
# codex-workflow-bootstrap (other)
9+
tools.bootstrap:main
910
10-
# feature
11+
# codex-workflow-scan (other)
12+
tools.scan_project:main
1113
12-
# integration
14+
# codex-workflow-validate (other)
15+
tools.validate_workflow:main
1316
14-
# smoke
15-
16-
# lint
17-
18-
# typecheck
17+
# codex-workflow-acceptance (other)
18+
tools.acceptance_check:main
1919
```
2020

2121
## Fast Tests
2222

23-
- Команда:
24-
- Что покрывает:
25-
- Когда запускать:
26-
27-
- Команда:
28-
- Что покрывает:
29-
- Когда запускать:
23+
- No fast test commands detected automatically
3024

3125
## Medium Tests
3226

33-
- Команда:
34-
- Что покрывает:
35-
- Когда запускать:
27+
- No medium test commands detected automatically
3628

3729
## Expensive Tests
3830

39-
- Команда:
40-
- Что покрывает:
41-
- Когда запускать:
42-
- Когда не запускать без причины:
31+
- No expensive test commands detected automatically
4332

4433
## Feature Map
4534

4635
- Auth:
47-
- Тесты:
36+
- Тесты: Needs review
4837
- API:
49-
- Тесты:
38+
- Тесты: Needs review
5039
- UI or bot:
51-
- Тесты:
40+
- Тесты: Needs review
5241
- Notifications:
53-
- Тесты:
42+
- Тесты: Needs review
5443
- Data layer:
55-
- Тесты:
44+
- Тесты: Needs review
5645

5746
## Notes For Codex
5847

59-
- Сначала выбирай самый узкий достаточный набор тестов.
60-
- Если тестов нет, фиксируй это как риск.
61-
- Если есть дорогой набор тестов, не запускай его без причины.
48+
- Detected test directories: tests
49+
- Confidence: medium (Based on filename and directory heuristics)
50+
- If no commands were detected, inspect package scripts, Makefile, or project config manually.
51+
- Keep this file aligned with real verification practice.

pyproject.toml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
[build-system]
2+
requires = ["setuptools>=68"]
3+
build-backend = "setuptools.build_meta"
4+
5+
[project]
6+
name = "codex-workflow-kit"
7+
version = "0.1.0"
8+
description = "Strict workflow kit for Codex repository work."
9+
readme = "README.en.md"
10+
requires-python = ">=3.10"
11+
license = { text = "MIT" }
12+
13+
[project.scripts]
14+
codex-workflow-bootstrap = "tools.bootstrap:main"
15+
codex-workflow-scan = "tools.scan_project:main"
16+
codex-workflow-validate = "tools.validate_workflow:main"
17+
codex-workflow-acceptance = "tools.acceptance_check:main"
18+
19+
[tool.setuptools]
20+
packages = ["tools"]
21+
22+
[tool.pytest.ini_options]
23+
testpaths = ["tests"]
24+
pythonpath = ["."]
25+
26+
[tool.ruff]
27+
line-length = 120
28+
target-version = "py310"

0 commit comments

Comments
 (0)