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

1.8 KiB

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