mirror of
https://github.com/khodges42/nightShift.git
synced 2026-06-14 18:18:36 +00:00
What changed:
- Added file_writer stage support in nightshift/config.py:93, nightshift/agents.py:446, and nightshift/pipeline.py:374.
- Added file-block parsing and deterministic patch generation in nightshift/patches.py:65.
- file_writer agents now return complete file blocks:
```file:relative/path.py
<complete file content>
```
NightShift reads current files and generates the unified diff itself.
- Existing patch_validator, patch_normalizer, and patch_apply still run after that.
- Switched tiny-lisp-nightshift/nightshift.yaml:51 to type: file_writer.
- Updated tiny-lisp-nightshift/agents/implementer.md:1 to request file blocks instead of diffs.
- Updated README, tutorial, config reference, and design doc.
Also added tests for parsing file blocks, generating multi-file diffs, validating those diffs, and running a full file_writer -> normalize -> validate pipeline.
Verification: python -m unittest discover -v passes, 101 tests.
50 lines
1.4 KiB
Markdown
50 lines
1.4 KiB
Markdown
# Final Task Notes
|
|
|
|
Task: `TASK-001`
|
|
Title: Parse Lisp expressions
|
|
Status: failed
|
|
Retry count: 3
|
|
Reason: Retry limit reached after stage 'apply_patch': Patch apply failed with code 128.
|
|
|
|
## Experiment
|
|
|
|
- Label:
|
|
- Prompt variant:
|
|
|
|
## Acceptance Criteria
|
|
|
|
- Parses numbers
|
|
- Parses symbols
|
|
- Parses nested lists
|
|
- Raises useful errors for unbalanced parentheses
|
|
- Includes unit tests
|
|
|
|
## Stage Results
|
|
|
|
- `plan`: pass (Agent completed after repo lookup.)
|
|
- `context`: pass (Context pack written.)
|
|
- `implement`: pass (Proposed patch written.)
|
|
- `normalize`: pass (Normalized patch written.)
|
|
- `validate_patch`: fail (Patch validation failed: patch creates existing file `lisp.py`.)
|
|
- `implement`: pass (Proposed patch written.)
|
|
- `normalize`: pass (Normalized patch written.)
|
|
- `validate_patch`: pass (Patch validation passed.)
|
|
- `apply_patch`: fail (Patch apply failed with code 128.)
|
|
- `implement`: pass (Proposed patch written.)
|
|
- `normalize`: pass (Normalized patch written.)
|
|
- `validate_patch`: pass (Patch validation passed.)
|
|
- `apply_patch`: fail (Patch apply failed with code 128.)
|
|
- `implement`: pass (Proposed patch written.)
|
|
- `normalize`: pass (Normalized patch written.)
|
|
- `validate_patch`: pass (Patch validation passed.)
|
|
- `apply_patch`: fail (Patch apply failed with code 128.)
|
|
|
|
## Modified Files
|
|
|
|
- Unavailable or none detected
|
|
|
|
## Artifacts
|
|
|
|
- Stage results: `stage-results.md`
|
|
- Context out: `context-out.md`
|