nightshift/.nightshift/project-context-chart.md
K. Hodges fa97abf0c3 Implemented deterministic diff generation via a new file_writer stage.
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.
2026-05-17 15:24:10 -07:00

85 lines
1.8 KiB
Markdown

# Project Context Chart
## Entry Points
- `tests/test_lisp.py`: class SmokeTests(unittest.TestCase):
## Tests
- `tests/__init__.py`
- `tests/test_lisp.py`
## Files
### `agents/implementer.md`
- Responsibility: You are the implementation agent for NightShift.
- Entry point: false
- Test file: false
- Functions: None detected
- Classes: None detected
- Anchors/search terms: None detected
### `agents/planner.md`
- Responsibility: You are the planning agent for NightShift.
- Entry point: false
- Test file: false
- Functions: None detected
- Classes: None detected
- Anchors/search terms: None detected
### `agents/reviewer.md`
- Responsibility: You are the review agent for NightShift.
- Entry point: false
- Test file: false
- Functions: None detected
- Classes: None detected
- Anchors/search terms: None detected
### `lisp.py`
- Responsibility: """Tiny Lisp quickstart target.
- Entry point: false
- Test file: false
- Functions: None detected
- Classes: None detected
- Anchors/search terms: None detected
### `nightshift.yaml`
- Responsibility: project:
- Entry point: false
- Test file: false
- Functions: None detected
- Classes: None detected
- Anchors/search terms: None detected
### `tasks.md`
- Responsibility: Tasks
- Entry point: false
- Test file: false
- Functions: None detected
- Classes: None detected
- Anchors/search terms: None detected
### `tests/__init__.py`
- Responsibility: """Quickstart Lisp test suite."""
- Entry point: false
- Test file: true
- Functions: None detected
- Classes: None detected
- Anchors/search terms: None detected
### `tests/test_lisp.py`
- Responsibility: class SmokeTests(unittest.TestCase):
- Entry point: true
- Test file: true
- Functions: test_smoke@L5
- Classes: SmokeTests@L4
- Anchors/search terms: SmokeTests, test_smoke