Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
aeb6752
chore: sync workflow templates from Workflows repo (#142)
stranske Jan 3, 2026
78bb687
chore: sync workflow templates from Workflows repo
github-actions[bot] Jan 3, 2026
32ea13b
Merge pull request #144 from stranske/sync/workflows-ea1ca62957ec
stranske Jan 4, 2026
d1279e6
chore: sync workflow templates from Workflows repo (#147)
stranske Jan 5, 2026
e3e4272
chore: sync workflow templates from Workflows repo (#152)
stranske Jan 5, 2026
5d9f112
feat: add comprehensive dependency testing setup
stranske Jan 5, 2026
5c02863
fix: apply autofix improvements and fix workflow syntax
stranske Jan 5, 2026
a25ca71
fix: clean workflow file to remove control characters
stranske Jan 5, 2026
2fd6a95
fix: quote GITHUB_OUTPUT to satisfy shellcheck
stranske Jan 5, 2026
7bd62d6
chore: sync workflow templates from Workflows repo (#156)
stranske Jan 5, 2026
87ba177
chore: sync workflow templates from Workflows repo (#158)
stranske Jan 5, 2026
55afb4e
chore: sync workflow templates (#164)
stranske Jan 6, 2026
9854848
chore: sync workflow templates from Workflows repo (#165)
stranske Jan 6, 2026
3cbf995
chore: sync workflow templates from Workflows repo (#166)
stranske Jan 6, 2026
a35ff84
fix: gitignore autofix_report_enriched.json to prevent sync conflicts
stranske Jan 6, 2026
a045b43
chore: sync workflow templates from Workflows repo (#167)
stranske Jan 6, 2026
7224724
chore: sync workflow templates from Workflows repo (#168)
stranske Jan 6, 2026
eb6aa0e
chore: sync workflow templates from Workflows repo (#169)
stranske Jan 6, 2026
2e269d8
chore: sync workflow templates from Workflows repo
github-actions[bot] Jan 6, 2026
923c222
Merge pull request #170 from stranske/sync/workflows-ae4f0b83578b
stranske Jan 6, 2026
1119f75
chore: sync workflow templates from Workflows repo
github-actions[bot] Jan 6, 2026
6c02785
Merge pull request #171 from stranske/sync/workflows-06154030712f
stranske Jan 6, 2026
e6c5eb1
chore: sync workflow templates from Workflows repo
github-actions[bot] Jan 6, 2026
c1b2db1
chore: sync workflow templates
stranske Jan 6, 2026
224ded4
Fix: Update sync job permissions for nested reusable workflow
stranske Jan 6, 2026
33cf722
Fix: Remove concurrency deadlock and add models:read permission
stranske Jan 6, 2026
7b6220b
chore: sync workflow templates from Workflows repo
github-actions[bot] Jan 6, 2026
361cdb8
chore: sync workflow templates
stranske Jan 6, 2026
40c0fc8
chore: sync workflow templates from Workflows repo (#178)
stranske Jan 7, 2026
c58e76c
chore: sync workflow templates from Workflows repo
github-actions[bot] Jan 7, 2026
a19399b
chore: sync workflow templates
stranske Jan 7, 2026
bf2e283
chore: sync workflow templates from Workflows repo (#182)
stranske Jan 7, 2026
ee181de
chore: sync workflow templates from Workflows repo (#183)
stranske Jan 7, 2026
84e904f
chore(optimize): bootstrap PR for issue #184
github-actions[bot] Jan 7, 2026
cdd5b08
chore: sync workflow templates from Workflows repo (#186)
stranske Jan 7, 2026
919571b
chore: sync workflow templates from Workflows repo (#187)
stranske Jan 7, 2026
083d7e0
chore: sync workflow templates from Workflows repo (#188)
stranske Jan 7, 2026
b158e17
chore: sync workflow templates from Workflows repo (#189)
stranske Jan 7, 2026
6d30a92
chore: sync workflow templates from Workflows repo (#190)
stranske Jan 7, 2026
16931e8
chore: sync workflow templates from Workflows repo (#191)
stranske Jan 7, 2026
cdfa2e0
chore: sync workflow templates from Workflows repo (#192)
stranske Jan 7, 2026
5960bcf
chore: sync workflow templates
stranske Jan 7, 2026
933dc47
chore: fix force_mode expression syntax
stranske Jan 7, 2026
8316f9d
chore: sync workflow templates from Workflows repo (#199)
stranske Jan 7, 2026
c1ac6d5
chore: sync workflow templates from Workflows repo (#200)
stranske Jan 7, 2026
61aa678
chore: sync workflow templates from Workflows repo (#201)
stranske Jan 7, 2026
7ec4657
chore: sync workflow templates from Workflows repo
github-actions[bot] Jan 7, 2026
4f03c40
Merge pull request #202 from stranske/sync/workflows-41168ff7e352
stranske Jan 8, 2026
f675f4e
chore: sync workflow templates from Workflows repo (#203)
stranske Jan 8, 2026
af9620a
chore: sync workflow templates from Workflows repo (#206)
stranske Jan 8, 2026
400e2b1
chore: sync workflow templates from Workflows repo
github-actions[bot] Jan 8, 2026
42765bb
chore: sync workflow templates
stranske Jan 8, 2026
c2f3d20
deps: sync dev tool versions from Workflows (#216)
stranske Jan 8, 2026
3462082
chore: sync workflow templates from Workflows repo (#217)
stranske Jan 8, 2026
c4bc56e
chore: sync workflow templates from Workflows repo (#220)
stranske Jan 8, 2026
6f0c6a6
chore: sync workflow templates from Workflows repo
github-actions[bot] Jan 9, 2026
e1d499e
Merge pull request #221 from stranske/sync/workflows-6a6ebe75772c
stranske Jan 9, 2026
b2ea968
chore: sync workflow templates from Workflows repo
github-actions[bot] Jan 9, 2026
7140d54
Merge pull request #223 from stranske/sync/workflows-4210332c9040
stranske Jan 9, 2026
0585356
chore: sync workflow templates from Workflows repo
github-actions[bot] Jan 9, 2026
3f3b5bd
chore: sync workflow templates
stranske Jan 9, 2026
676e714
chore: sync workflow templates from Workflows repo
github-actions[bot] Jan 9, 2026
70a9336
chore: sync workflow templates
stranske Jan 9, 2026
8c34027
feat: add rate limiter stub for implementation
stranske Jan 2, 2026
2eb3734
feat: simplify rate limiter stub for implementation task
stranske Jan 2, 2026
be5417e
chore(autofix): formatting/lint
github-actions[bot] Jan 2, 2026
5052e72
feat: implement sliding window rate limiter
Jan 2, 2026
0d64130
chore(codex-keepalive): apply updates (PR #135)
github-actions[bot] Jan 2, 2026
ddc851f
chore(autofix): formatting/lint
github-actions[bot] Jan 2, 2026
db6c563
chore(codex-keepalive): apply updates (PR #135)
github-actions[bot] Jan 2, 2026
c25af0a
chore(codex-keepalive): apply updates (PR #135)
github-actions[bot] Jan 2, 2026
4e66733
chore(codex-keepalive): apply updates (PR #135)
github-actions[bot] Jan 2, 2026
096de85
chore(codex-keepalive): apply updates (PR #135)
github-actions[bot] Jan 2, 2026
e2297a9
docs(rate-limiter): clarify sliding window
Jan 2, 2026
944c481
chore(codex-keepalive): apply updates (PR #135)
github-actions[bot] Jan 2, 2026
101ace6
chore(codex-keepalive): apply updates (PR #135)
github-actions[bot] Jan 3, 2026
ebc2a6c
chore: sync workflow templates from Workflows repo
github-actions[bot] Jan 9, 2026
1fa78e0
chore: sync workflow templates
stranske Jan 9, 2026
2d9a80e
chore: sync workflow templates from Workflows repo
github-actions[bot] Jan 9, 2026
2d998a8
Merge pull request #233 from stranske/sync/workflows-30519c2c3293
stranske Jan 9, 2026
492e3fb
Add structured logging and EDGAR retries
Jan 9, 2026
ef2da87
chore(codex-normal): apply updates (PR #234)
github-actions[bot] Jan 9, 2026
c21a1d9
chore(autofix): formatting/lint
github-actions[bot] Jan 9, 2026
5955410
Tune log levels for empty ETL outcomes
Jan 9, 2026
cbe4ca9
chore(codex-normal): apply updates (PR #234)
github-actions[bot] Jan 9, 2026
5ca080e
chore(autofix): formatting/lint
github-actions[bot] Jan 9, 2026
d09cb49
feat: add app health endpoint
Jan 9, 2026
86270f4
feat(api): add readiness health endpoint
Jan 9, 2026
4b34212
chore(codex-normal): apply updates (PR #234)
github-actions[bot] Jan 9, 2026
eb09c5d
Add health live endpoint
Jan 9, 2026
6af55a1
chore(codex-normal): apply updates (PR #234)
github-actions[bot] Jan 9, 2026
04828a9
Fix health check test failure due to executor reuse
stranske Jan 10, 2026
2a2271a
chore(autofix): formatting/lint
github-actions[bot] Jan 10, 2026
01b03fd
feat: add health probe aliases
Jan 10, 2026
11ea08d
test: cover readiness timeout
Jan 10, 2026
71e5a6c
Merge pull request #234 from stranske/codex/issue-184
stranske Jan 10, 2026
a9c1923
chore(codex): bootstrap PR for issue #130
github-actions[bot] Jan 10, 2026
f1deabe
feat(api): document chat response model
Jan 10, 2026
0283a2b
chore(codex-normal): apply updates (PR #235)
github-actions[bot] Jan 10, 2026
e96bfd7
chore(codex-normal): apply updates (PR #235)
github-actions[bot] Jan 10, 2026
75d3620
chore(codex-normal): apply updates (PR #235)
github-actions[bot] Jan 10, 2026
08040fd
chore(codex-normal): apply updates (PR #235)
github-actions[bot] Jan 10, 2026
de22f54
chore(codex-normal): apply updates (PR #235)
github-actions[bot] Jan 10, 2026
14ab165
feat(api): add OpenAPI examples
Jan 10, 2026
075f164
chore(autofix): formatting/lint
github-actions[bot] Jan 10, 2026
1b54a71
chore(codex-normal): apply updates (PR #235)
github-actions[bot] Jan 10, 2026
fbe9580
chore(autofix): formatting/lint
github-actions[bot] Jan 10, 2026
3894ff5
fix: satisfy ruff B008
stranske Jan 10, 2026
7cc49a5
Merge pull request #235 from stranske/codex/issue-130
stranske Jan 10, 2026
a04ed18
chore(codex): bootstrap PR for issue #238
github-actions[bot] Jan 10, 2026
80be553
feat: add managers router
Jan 10, 2026
4bf575a
chore(codex-normal): apply updates (PR #253)
github-actions[bot] Jan 10, 2026
df48fd5
test: add openapi schema coverage
Jan 10, 2026
8c03dab
chore(autofix): formatting/lint
github-actions[bot] Jan 10, 2026
49e85e6
chore: ignore egg-info and add api curl examples
Jan 10, 2026
f6aac5d
Merge pull request #253 from stranske/codex/issue-238
stranske Jan 11, 2026
8c11c56
chore: sync workflow templates from Workflows repo
github-actions[bot] Jan 11, 2026
6c7713c
chore: sync workflow templates
stranske Jan 11, 2026
f9cdb32
chore: resolve merge conflicts with main
stranske Jan 11, 2026
46413f4
chore: trigger CI re-run after merge
stranske Jan 11, 2026
c4635b8
Merge PR branch with resolved conflicts
stranske Jan 11, 2026
ec7d70a
chore: sync workflow templates from Workflows repo
github-actions[bot] Jan 11, 2026
7206736
chore: sync workflow templates
stranske Jan 11, 2026
a3768b2
Merge remote-tracking branch 'origin/main' into test/llm-analysis-val…
stranske Jan 11, 2026
5b99f75
chore: trigger CI after merge conflict resolution
stranske Jan 11, 2026
09da3bf
fix: resolve merge conflicts by keeping deletions
stranske Jan 11, 2026
4a954a9
chore(codex-keepalive): apply updates (PR #135)
github-actions[bot] Jan 11, 2026
dbc81b7
fix: export format_provider_name from utils package
stranske Jan 11, 2026
053efaf
chore(codex-keepalive): apply updates (PR #135)
github-actions[bot] Jan 11, 2026
bdc3e05
chore(autofix): formatting/lint
github-actions[bot] Jan 11, 2026
1a353ba
fix: prune idle rate limiter keys
Jan 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
164 changes: 164 additions & 0 deletions .github/codex/prompts/fix_merge_conflicts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
# Fix Merge Conflicts

This PR has **merge conflicts** that must be resolved before CI can run or the PR can be merged.

## Your Task

Resolve all merge conflicts by integrating changes from the base branch with this PR's changes.

## IMPORTANT: Pre-Flight Check

Before starting, verify the conflict state:
```bash
git status
```

If you see "nothing to commit, working tree clean" - conflicts may have been auto-resolved.
Check if there are actually merge conflicts before proceeding.

## Conflict Detection

{{#if conflict_files}}
**Potentially conflicting files:**
{{#each conflict_files}}
- `{{this}}`
{{/each}}
{{else}}
Check `git status` to identify files with conflicts.
{{/if}}

## Resolution Steps

1. **Fetch latest base branch:**
```bash
git fetch origin {{base_branch}}
```
> Note: Replace `{{base_branch}}` with the actual base branch name (e.g., `main` or `master`)

2. **Attempt merge:**
```bash
git merge origin/{{base_branch}}
```

If this succeeds without conflicts, you're done - just push the merge commit.

3. **For each conflicting file:**
- Look for conflict markers: `<<<<<<<`, `=======`, `>>>>>>>`
- Understand what each side (HEAD vs incoming) intended
- Combine the changes intelligently:
- If changes are to different parts: keep both
- If changes conflict: prefer the newer/more complete version
- If changes are incompatible: adapt the PR's code to work with new base
- Remove all conflict markers

4. **Verify resolution:**
```bash
# Check no conflict markers remain
git diff --check

# Run the project's test suite (language-specific)
# For Python: pytest
# For JavaScript: npm test
# For other: check the project's README or CI config
```

5. **Commit the resolution:**
```bash
git add .
git commit -m "fix: resolve merge conflicts with {{base_branch}}"
```

## Resolution Guidelines

### When to prefer PR changes:
- PR adds new functionality not in main
- PR fixes a bug that main doesn't address
- PR has more complete implementation

### When to prefer main changes:
- Base branch has breaking API changes PR must adapt to
- Base branch has bug fixes PR should incorporate
- Base branch renamed/moved files PR still references

### When to combine:
- Both sides add different functions/methods
- Both sides add different imports
- Both sides modify different parts of the same function

## Common Conflict Patterns

### Special Files - Auto-Resolve with "Ours"

These files have `.gitattributes` merge=ours strategy and should keep the PR branch version:

- **`pr_body.md`** - PR-specific content, always keep ours:
```bash
git checkout --ours pr_body.md
git add pr_body.md
```

- **`ci/autofix/history.json`** - Branch-specific history:
```bash
git checkout --ours ci/autofix/history.json
git add ci/autofix/history.json
```

These files are .gitignored and should be resolved by keeping the current branch's version.

### Import conflicts (Python example):
```python
<<<<<<< HEAD
from module import foo, bar
=======
from module import foo, baz
>>>>>>> origin/{{base_branch}}
```
**Resolution:** Combine imports: `from module import foo, bar, baz`

### Type annotation conflicts (Python):
```python
<<<<<<< HEAD
def process(data: dict[str, Any]) -> Result:
=======
def process(data: dict[str, Any], config: Config) -> Result:
>>>>>>> origin/{{base_branch}}
```
**Resolution:** Keep the signature with more parameters (main's version) and ensure caller sites are updated.

### Dependency conflicts (pyproject.toml / package.json):
Keep both dependencies unless they're duplicate versions of the same package.
For version conflicts, prefer the newer/higher version.

### Function modification conflicts:
Keep the more complete/correct version, or merge logic if both changes are needed.

### Test file conflicts:
Usually keep both sets of tests unless they're duplicates. Ensure test names don't collide.

### Documentation conflicts:
Combine content from both sides, ensuring accurate and up-to-date information.

## Exit Criteria

- All conflict markers removed from all files
- Code compiles/parses without syntax errors
- Tests pass (at least the ones that were passing before)
- Changes committed with descriptive message

## Verification Commands

After resolving conflicts, verify:
```bash
# Ensure no conflict markers remain
grep -rn "<<<<<<< HEAD\|=======\|>>>>>>>" . --include="*.py" --include="*.js" --include="*.ts" || echo "No conflict markers found"

# For Python projects
python -m py_compile $(find . -name "*.py" -not -path "./.venv/*") 2>&1 | head -20

# Run tests
pytest -x -q 2>&1 | tail -20 || npm test 2>&1 | tail -20
```

---

**Focus solely on resolving conflicts. Do not add new features or refactor code beyond what's needed for resolution.**
6 changes: 5 additions & 1 deletion .github/scripts/agents-guard.js
Original file line number Diff line number Diff line change
Expand Up @@ -447,7 +447,11 @@ function evaluateGuard({
const hasCodeownerApproval = hasExternalApproval || authorIsCodeowner;

const hasProtectedChanges = modifiedProtectedPaths.size > 0;
const needsApproval = hasProtectedChanges && !hasCodeownerApproval;
// Security note: Allow `agents:allow-change` label to bypass CODEOWNER approval
// ONLY for automated dependency PRs from known bots (dependabot, renovate).
// Human PRs or other bot PRs still require CODEOWNER approval even with label.
const isAutomatedPR = normalizedAuthor && (normalizedAuthor === 'dependabot[bot]' || normalizedAuthor === 'renovate[bot]');
const needsApproval = hasProtectedChanges && !hasCodeownerApproval && !(hasAllowLabel && isAutomatedPR);
const needsLabel = hasProtectedChanges && !hasAllowLabel && !hasCodeownerApproval;

const failureReasons = [];
Expand Down
Loading
Loading