Skip to content

docs: always use make check + never push directly to main#37

Merged
fazxes merged 1 commit intomainfrom
docs/make-check-and-ci-failure-rules
Apr 5, 2026
Merged

docs: always use make check + never push directly to main#37
fazxes merged 1 commit intomainfrom
docs/make-check-and-ci-failure-rules

Conversation

@fazxes
Copy link
Copy Markdown
Member

@fazxes fazxes commented Apr 5, 2026

Summary

  • Agent ran ruff check nightshift/ (missing tests/) — lint errors reached main via PR feat: cost tracking and budget ceiling for daemon sessions #35
  • Then pushed two fixes directly to main instead of using branch+PR
  • Adds two rules to every doc the agent reads:
    1. Always use make check for final verification, never partial lint/type/test commands
    2. If CI fails after merge, fix via fix/ branch + PR — never push directly to main

Files

  • CLAUDE.md — code quality + git workflow rules
  • docs/prompt/evolve-auto.md — VERIFICATION RULE + CI FAILURE RULE
  • docs/prompt/evolve.md — Step 9 updated with branch+PR flow
  • docs/learnings/ — new learning documenting the failure

Test plan

  • Docs only, no code changes

Agent ran ruff check nightshift/ (missing tests/) — lint errors reached
main. Then pushed fixes directly to main instead of branch+PR.

Adds two rules to every doc the agent reads:
1. Always use `make check` for final verification, never partial commands
2. If CI fails after merge, fix via fix/ branch + PR, never push to main

Updated: CLAUDE.md, evolve-auto.md, evolve.md (Step 9)
Added: learning (always-make-check-never-partial-lint)
@fazxes fazxes merged commit 64998d0 into main Apr 5, 2026
2 checks passed
@fazxes fazxes deleted the docs/make-check-and-ci-failure-rules branch April 5, 2026 02:28
fazxes added a commit that referenced this pull request Apr 5, 2026
Task #37: Two security improvements for running against untrusted repos:

1. read_repo_instructions() now rejects symlinks before reading. Checks
   is_symlink() before is_file() to catch both valid and dangling symlinks.
   Prevents path-traversal attacks where CLAUDE.md -> /etc/passwd.

2. Prompt self-modification guard now detects new files in docs/prompt/
   created during a cycle. Snapshots directory listings before the cycle
   and compares after. Catches agents creating prompt files that bypass
   the fixed PROMPT_GUARD_FILES list.

+9 tests (5 Python symlink, 4 bash guard), 616 total passing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant