Commit Graph

32 Commits

Author SHA1 Message Date
8b07876552 Improvement pass from llm
- tests/test_version.py: removed the brittle exact hotdog/topping/version assertion and kept the useful display contract.
  - nightshift/agents.py: normalized review next_stage / context_update values like None, null, and N/A to empty.
  - nightshift/git.py: added clearer non-git and Git safe-directory artifact messages with actionable guidance.
  - nightshift/cli.py: fixed run --all so completed dependencies remain in scope.
  - tests/test_agents.py, tests/test_git.py, tests/test_cli.py: added regression coverage.
  - docs/codex/20260521-next-improvements.md: marked the completed items.
2026-05-20 23:11:20 -07:00
3bb5bd4157 Fixes based on tests, do tdd
Changed the pastebin tutorial so it now starts skeletal: no prebuilt Flask behavior, no pre-generated task tests, and .gitkeep placeholders under templates/ and tests/. The new pipeline  in nightshift/project_templates/tutorial-pastebin/nightshift.yaml:1 now runs:

  plan -> semantic_context -> context -> write_tests -> review_tests -> implement -> pytest -> review
                                                                                                                                                                                           ────────────────────────────────────────────────────
  Added nightshift/project_templates/tutorial-pastebin/.nightshift/agents/test-writer.md:1, tightened the planner/implementer/reviewer/debugger prompts, mirrored the pipeline docs/
  example, and raised default retries to 6 for the basic starter plus pastebin.

  I also fixed the retry policy issue in nightshift/escalation.py:17 and nightshift/pipeline.py:251: configured repeated-failure thresholds are now respected instead of hard-stopping      in nightshift/project_templates/tutorial-pastebin/
  early after three same-stage/same-cause failures. Non-implementation file_writer stages now get stage-specific retry artifacts so test generation does not collide with implementation
  repair artifacts
2026-05-20 21:51:40 -07:00
c12493a248 fix guard and make stop repeat configurable 2026-05-20 05:02:32 -07:00
2f2146f47d setup scripts improvement and what happened
- Added nightshift what-happened to summarize the latest run/task failure from artifacts.
  - Added integ-run --setup with setup options, so sandbox creation can immediately run integ-setup.
  - integ-setup output now explicitly shows the venv activation command.
  - Command stages now prefer a detected project/adjacent .venv, so python -m pytest -q should use the integ venv without relying on shell activation.
  - Retry command outputs now get attempt-specific artifact names, like test-output-1.txt, instead of overwriting.
  - Docs updated in README.md, the pastebin template README, and examples/tutorial/03-pastebin.
  - Added pytest config so root python -m pytest -q ignores generated integ/template target tests.
  - Version bumped to 0.2.4-alpha-bratwurst-relish.
2026-05-20 04:20:15 -07:00
93a50ddb42 added hotdog animations
I am a professional software engineer
2026-05-20 03:55:43 -07:00
d08e629bce hotdog versioning and some bugfixes for integration project and model testing 2026-05-20 03:50:51 -07:00
7c54050223 add integ runs, dynamic model choices, symantic search, better file creation, debugging agents 2026-05-20 02:36:23 -07:00
a3e1be75fe Add more rigorous responses to test failures 2026-05-17 19:05:27 -07:00
75a8646708 memes 2026-05-17 18:17:59 -07:00
b0f8d59707 Add project templates and clean up a bit 2026-05-17 17:32:09 -07:00
5e5cd184b9 Clean up some files and add a new tutorial 2026-05-17 17:18:27 -07:00
3616c1155a Add an easier first tutorial, add installers 2026-05-17 16:50:01 -07:00
76b7942c4a Web UI quality of life 2026-05-17 16:25:25 -07:00
347ec583e6 actually show the logo 2026-05-17 16:13:25 -07:00
3ab8567ae9 Show logo on dash 2026-05-17 16:11:40 -07:00
068822d766 Dashboard and human readable devlogs 2026-05-17 16:09:49 -07:00
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
42564c6867 The ollama backend now uses Ollama’s HTTP API instead of ollama run 2026-05-17 14:23:31 -07:00
e079c9088d The bug was that validate_patch had no on_fail, so NightShift stopped instead of sending that feedback back to implement. 2026-05-17 13:56:36 -07:00
809ec92e0e fix apply patch when user has no git 2026-05-17 13:53:10 -07:00
ec9181eb64 Fixes around test run 2 2026-05-17 13:46:26 -07:00
a32142e9ea Bugfixes from test run 2026-05-17 13:34:19 -07:00
a8616a1062 close out phase2 and support quickstart 2026-05-17 10:11:59 -07:00
4e502ba494 Examples, readme logo fix 2026-05-17 10:06:18 -07:00
12e2c99a75 improve communication, add code writing, change logo 2026-05-17 10:04:45 -07:00
646c655314 Repo Lookup, Request Context, Planner, Context Stage, QoL improvements
- Added operational run logging via nightshift/runlog.py.
  - CLI now streams progress during run / run --all.
  - Runs write .nightshift/runs/<run-id>/run.log and aggregate .nightshift/nightshift.log.
  - Web dashboard now shows the last 100 run log lines.
  - Added agent temperature config.
  - Added minimal openai_compatible backend and temperature passing for it.
  - Added Ollama temperature handling.
  - Added scoped repo lookup tools in nightshift/repo_tools.py: list_files, read_file, grep.
  - Planner agents can request lookup context with lookup_requests; NightShift saves files-inspected.md and reruns the planner with retrieved context.
  - Added repo_context stage type that writes context-pack.md.
  - Marked phases 23-27 complete in docs/design.md:990.
2026-05-17 09:56:28 -07:00
169c7aacae Fix a windows bug for i/o from ollama 2026-05-17 02:04:59 -07:00
957dc7d25b Ollama backend support, experiment metadata and prompt snapshots, stronger command execution controls, refreshed docs/examples, a read-only Flask dashboard, and a runnable quickstart Lisp project. 2026-05-17 01:39:44 -07:00
57608e9660 Add status, git artifacts, task completion, multi-task runs, and dependency handling 2026-05-17 01:19:43 -07:00
528c0ddeb5 documentation pass and hardening bugfixes 2026-05-17 00:49:17 -07:00
d84d580671 Implement pipeline execution, context, reports, and MVP docs 2026-05-17 00:38:00 -07:00
c1baf9b7d8 Implement NightShift MVP phases 1-6
Includes starter project generation, validation for configs/tasks/commands, artifact snapshot writing, structured stage results, command output capture, devlogs for phases 1-6, and unit coverage for the implemented MVP layers.
2026-05-17 00:17:13 -07:00