Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
167 commits
Select commit Hold shift + click to select a range
54dafde
device/stealth: commit local changes in submodule
riatzukiza Nov 16, 2025
2b0adf4
Docs: fix test README package name (#18)
riatzukiza Nov 17, 2025
f56e506
Add fork-aware prompt_cache_key derivation (#19)
riatzukiza Nov 17, 2025
e420e66
Refactor: Eliminate code duplication and improve maintainability
riatzukiza Nov 17, 2025
6b7227e
testing!
riatzukiza Nov 17, 2025
8757e76
Merge branch 'device/stealth' of github.com:open-hax/codex into devic…
riatzukiza Nov 17, 2025
2f3e7e5
Address review: plugin config errors, compaction gating, cache key fa…
riatzukiza Nov 17, 2025
ce75689
Style and metrics cleanup for auth, cache, and sessions
riatzukiza Nov 17, 2025
36e6a9b
linting and formatting
riatzukiza Nov 17, 2025
9c8e1e1
Finalize PR 20 review: shared clone utils and tests
riatzukiza Nov 19, 2025
4deeb6e
Merge branch 'staging' into device/stealth
riatzukiza Nov 19, 2025
875f149
Fix CI workflow YAML syntax and quoting
riatzukiza Nov 19, 2025
1133e1e
update lint rules
riatzukiza Nov 19, 2025
bee913e
allow lint warnings without masking errors
riatzukiza Nov 19, 2025
d40f3b3
seperate linting and formatting ci
riatzukiza Nov 19, 2025
915120b
seperated formatting workflow from ci yaml and gave it permissions to…
riatzukiza Nov 19, 2025
dede73d
opencode can respond to all pr comments
riatzukiza Nov 19, 2025
71fc782
Fix test/README.md documentation: update test counts and config file …
riatzukiza Nov 19, 2025
058f596
Merge pull request #20 from open-hax/device/stealth
riatzukiza Nov 19, 2025
cd19013
0.1.0
riatzukiza Nov 19, 2025
de19f8e
0.2.0
riatzukiza Nov 19, 2025
5717706
docs: update AGENTS.md for gpt-5.1-codex-max support
riatzukiza Nov 19, 2025
41755ac
chore: add v3.3.0 changelog entry for gpt-5.1-codex-max
riatzukiza Nov 19, 2025
9c7fb71
docs: update README for gpt-5.1-codex-max integration
riatzukiza Nov 19, 2025
8536bf1
config: add gpt-5.1-codex-max to full-opencode.json
riatzukiza Nov 19, 2025
564bac7
config: update minimal-opencode.json default to gpt-5.1-codex-max
riatzukiza Nov 19, 2025
2f2d238
docs: update CONFIG_FIELDS.md for gpt-5.1-codex-max
riatzukiza Nov 19, 2025
266606b
docs: add persistent logging note to TESTING.md
riatzukiza Nov 19, 2025
9175628
feat: implement persistent rolling logging in logger.ts
riatzukiza Nov 19, 2025
9cac2c2
feat: add gpt-5.1-codex-max support to request transformer
riatzukiza Nov 19, 2025
88008a9
types: add xhigh reasoning effort to TypeScript interfaces
riatzukiza Nov 19, 2025
b309387
test: add gpt-5.1-codex-max to test-all-models.sh
riatzukiza Nov 19, 2025
c452368
test: fix codex-fetcher test headers mock
riatzukiza Nov 19, 2025
3ee37ef
test: update logger tests for persistent rolling logging
riatzukiza Nov 19, 2025
3976d2e
test: add appendFileSync mock to plugin-config tests
riatzukiza Nov 19, 2025
b5a2683
test: add appendFileSync mock to prompts-codex tests
riatzukiza Nov 19, 2025
6f8cf66
test: add comprehensive fs mocks to prompts-opencode-codex tests
riatzukiza Nov 19, 2025
bd06f6e
test: add comprehensive gpt-5.1-codex-max test coverage
riatzukiza Nov 19, 2025
d451b3d
docs: add specification files for gpt-5.1-codex-max and persistent lo…
riatzukiza Nov 19, 2025
4406707
merge: resolve conflicts with staging branch
riatzukiza Nov 19, 2025
e3144f8
fix failing tests
riatzukiza Nov 19, 2025
180f9e4
fix: implement cache isolation to resolve OAuth plugin conflicts
riatzukiza Nov 19, 2025
774bcfa
fixed minor type error
riatzukiza Nov 19, 2025
4b57476
test: remove redundant env reset and header mock
riatzukiza Nov 19, 2025
c9b80f8
Reduce console logging to debug flag
riatzukiza Nov 19, 2025
ca55057
Merge pull request #27 from open-hax/feat/gpt-5-1-codex-max
riatzukiza Nov 19, 2025
63c91a6
fix: filter ENOENT errors from cache logging to reduce noise
riatzukiza Nov 19, 2025
72b7616
merge: resolve conflicts with staging branch
riatzukiza Nov 19, 2025
601ee1b
Merge pull request #28 from open-hax/fix/issue-25-oauth-cache-conflicts
riatzukiza Nov 19, 2025
3b5fb9c
Use openhax/codex as plugin identifier
riatzukiza Nov 19, 2025
0366c1f
Add fallback sources for OpenCode codex prompt
riatzukiza Nov 19, 2025
a98014d
Refresh OpenCode prompt cache metadata
riatzukiza Nov 19, 2025
c0d7856
Merge pull request #30 from open-hax/chore/handle-missing-codex-promp…
riatzukiza Nov 19, 2025
6f4d0be
Refactor metrics response helpers and fix JWT decoding
riatzukiza Nov 20, 2025
e5a5a84
Tighten session tail slice to user/assistant only
riatzukiza Nov 20, 2025
bd8bdfe
Improve compaction resilience and cache metrics safety
riatzukiza Nov 20, 2025
ea8f36c
Add release process documentation and open issues triage guide
riatzukiza Nov 20, 2025
fedb230
Merge pull request #32 from open-hax/docs/release-process-and-issues-…
riatzukiza Nov 20, 2025
034219d
Merge branch 'staging' into chore/codex-max-release-review
riatzukiza Nov 20, 2025
a820aa3
Strengthen tests for cache keys and gpt-5.1 cases
riatzukiza Nov 20, 2025
848778f
Merge branch 'chore/codex-max-release-review' of github.com:open-hax/…
riatzukiza Nov 20, 2025
80995c0
Soften first-session cache warnings and sync transformed body
riatzukiza Nov 20, 2025
63d01e9
Preseed session prompt cache keys
riatzukiza Nov 20, 2025
df60966
Memoize config loading and keep bridge prompts stable
riatzukiza Nov 20, 2025
954f559
Code cleanup: removed redundancy, improved tests
opencode-agent[bot] Nov 20, 2025
ed5ca22
Fixed test shallow copy issue with deep copy.
opencode-agent[bot] Nov 20, 2025
f3ce77e
chore(codex-max): memoize config loading, stabilize bridge prompts, a…
riatzukiza Nov 20, 2025
f43878f
stabilize oauth server tests by completing mocks
riatzukiza Nov 20, 2025
2a9b588
fix: improve token refresh error handling and add debug logging
riatzukiza Nov 20, 2025
6ef3e00
Fix test to assert on returned auth object instead of in-place mutation
riatzukiza Nov 20, 2025
bb5c250
test: add negative test for host-provided prompt_cache_key; fix: ensu…
riatzukiza Nov 20, 2025
1d6697b
fix: clone auth refresh and tighten console logging
riatzukiza Nov 20, 2025
23cee90
Merge pull request #31 from open-hax/chore/codex-max-release-review
riatzukiza Nov 20, 2025
96a80ad
chore: guard disk logging and strengthen clones/roles
riatzukiza Nov 20, 2025
1184c21
fix: simplify role validation in formatRole function
riatzukiza Nov 20, 2025
2caf840
Merge pull request #33 from open-hax/chore/guard-logging-clones
riatzukiza Nov 20, 2025
edb5807
Fix all CodeRabbit review issues from PR #29
riatzukiza Nov 20, 2025
7a23da8
📝 Add docstrings to `release/review-comments`
coderabbitai[bot] Nov 20, 2025
95fcd69
Merge pull request #35 from open-hax/coderabbitai/docstrings/edb5807
riatzukiza Nov 20, 2025
fb8e166
Enhance compaction test coverage and fix linter warning
riatzukiza Nov 20, 2025
1ac3466
Replace unsafe any cast with type-safe client access in logger
riatzukiza Nov 20, 2025
11ccc2c
Fix type safety in logger module
riatzukiza Nov 20, 2025
c9511b4
Clarify waitForCode state validation docs
riatzukiza Nov 20, 2025
5ece7c1
Merge pull request #34 from open-hax/release/review-comments
riatzukiza Nov 20, 2025
058e8a1
0.3.0
riatzukiza Nov 20, 2025
9f1dc70
Modularize request transformer for lint compliance
riatzukiza Nov 20, 2025
e2f9d65
Refactor release flow and logging for codex
riatzukiza Nov 20, 2025
ea0cd22
Fix PR retarget workflow and clarify staging flow
riatzukiza Nov 20, 2025
ecea01b
Fix PR retarget workflow and clarify staging flow (#37)
riatzukiza Nov 20, 2025
4c28970
workflows and warning logs
riatzukiza Nov 20, 2025
874bfed
merged staging into docs/release-process-and-issues-triage
riatzukiza Nov 20, 2025
169cc70
Merge branch 'staging' into docs/release-process-and-issues-triage
riatzukiza Nov 20, 2025
41ff1e9
chore: resolve merge conflicts for release workflows
riatzukiza Nov 20, 2025
d2130ff
Updated lib/logger.ts so wrapToastMessage now splits any overlong tok…
riatzukiza Nov 20, 2025
53f43e9
Preserve caller models and enforce compaction helpers
riatzukiza Nov 20, 2025
e6f6a1a
Prefer cached instructions when tag lookup fails
riatzukiza Nov 20, 2025
d1d0f89
Update normalizeModel tests to preserve unknown models
riatzukiza Nov 20, 2025
1c5ac9b
Update lib/prompts/codex.ts
riatzukiza Nov 20, 2025
7a1b4b2
Document transform semantics and improve codex fetch logging
riatzukiza Nov 20, 2025
fd1fbb6
Merge pull request #36 from open-hax/ops/release-workflow
riatzukiza Nov 20, 2025
81249ec
ignoring secret files
riatzukiza Nov 20, 2025
2dc9327
update release workflow to only create tags when PR is successfully c…
riatzukiza Nov 20, 2025
3fd0039
add ruleset snapshots and drift check workflow
riatzukiza Nov 20, 2025
48b2d39
rename staging branch to dev in workflows
riatzukiza Nov 20, 2025
7c9b265
document dev branch flow with mermaid diagram
riatzukiza Nov 20, 2025
15f96e8
fix mermaid diagram for obsidian
riatzukiza Nov 20, 2025
a07baa4
simplify mermaid labels for obsidian
riatzukiza Nov 20, 2025
a69161f
add codeql analysis workflow
riatzukiza Nov 20, 2025
9f8e950
ignore obsidian workspace files
riatzukiza Nov 20, 2025
e9d9ed0
refresh ruleset snapshots in compact form
riatzukiza Nov 20, 2025
0148b85
harden ruleset drift check with jq-normalized diff
riatzukiza Nov 20, 2025
efae2a0
normalize ruleset drift check by stripping timestamps
riatzukiza Nov 20, 2025
e5f60f3
Merge pull request #42 from open-hax/ops/version-bump-workflow-review
riatzukiza Nov 20, 2025
68e77f3
ignore bypass fields in ruleset drift check
riatzukiza Nov 20, 2025
3a450fb
Merge pull request #43 from open-hax/ops/version-bump-workflow-review
riatzukiza Nov 20, 2025
eb3f57b
fix formatting and review-response workflow yaml
riatzukiza Nov 20, 2025
b6a0f25
Merge branch 'dev' into ops/version-bump-workflow-review
riatzukiza Nov 20, 2025
9c5566b
Merge pull request #44 from open-hax/ops/version-bump-workflow-review
riatzukiza Nov 20, 2025
259b4b9
use PR_AUTOMATION_TOKEN for release and review workflows
riatzukiza Nov 20, 2025
6953bcf
Add spec for review-response env whitelist
riatzukiza Nov 20, 2025
f2ac61a
Merge branch 'dev' into ops/version-bump-workflow-review
riatzukiza Nov 20, 2025
8f33136
Merge pull request #45 from open-hax/ops/version-bump-workflow-review
riatzukiza Nov 20, 2025
7045fc2
chore: release v0.3.1 (PR #45)
github-actions[bot] Nov 20, 2025
443c621
remove reviewer request in release prep workflow
riatzukiza Nov 20, 2025
f17f70b
Merge pull request #46 from open-hax/release/v0.3.1-20251120210733
riatzukiza Nov 20, 2025
1179c50
chore: release v0.3.2 (PR #46)
github-actions[bot] Nov 20, 2025
a6dde87
Merge branch 'dev' into ops/version-bump-workflow-review
riatzukiza Nov 20, 2025
d38f8b5
Merge pull request #47 from open-hax/ops/version-bump-workflow-review
riatzukiza Nov 20, 2025
036525a
Merge branch 'dev' into release/v0.3.2
riatzukiza Nov 20, 2025
3f562e2
Merge pull request #48 from open-hax/release/v0.3.2
riatzukiza Nov 20, 2025
70a3e37
chore: release v0.3.3 (PR #48)
github-actions[bot] Nov 20, 2025
5b0686c
Merge pull request #50 from open-hax/release/v0.3.3
riatzukiza Nov 20, 2025
f463ff8
chore: release v0.3.4 (PR #50) (#51)
riatzukiza Nov 20, 2025
961a6fe
skip dev-release-prep when head is release/*
riatzukiza Nov 20, 2025
89f6cb5
Merge pull request #53 from open-hax/ops/version-bump-workflow-review
riatzukiza Nov 20, 2025
cd91a1c
chore: release v0.3.5 (PR #53) (#54)
riatzukiza Nov 20, 2025
4c9cda5
add dev-to-main promotion PR workflow
riatzukiza Nov 20, 2025
21115ef
Merge branch 'dev' into ops/version-bump-workflow-review
riatzukiza Nov 20, 2025
4e16ae8
Merge pull request #55 from open-hax/ops/version-bump-workflow-review
riatzukiza Nov 20, 2025
bb15475
address code rabbit comments
riatzukiza Nov 20, 2025
bda6b12
impoved auto review response flow
riatzukiza Nov 20, 2025
e4bf799
Preserve compaction context when stripping commands
riatzukiza Nov 20, 2025
74c6155
Fix duplicate import in compaction helper test
riatzukiza Nov 20, 2025
4540ec3
Added RequestBody mutation assertions to tests.
opencode-agent[bot] Nov 20, 2025
07b5591
Added equality assertion to test input immutability
opencode-agent[bot] Nov 20, 2025
20f262e
Align session fork ids with prompt cache hints
riatzukiza Nov 20, 2025
7466b2b
Fixed failing test assertion for compaction
opencode-agent[bot] Nov 20, 2025
973404b
Fixed test logic by using null command text.
opencode-agent[bot] Nov 20, 2025
a5a8a58
Update test/compaction-helpers.test.ts
riatzukiza Nov 20, 2025
0c8ed15
Updated test title to match assertions
opencode-agent[bot] Nov 20, 2025
798a8be
Merge pull request #58 from open-hax/review/v0.3.5
riatzukiza Nov 20, 2025
6f77333
Use metadata flag for OpenCode compaction prompts
riatzukiza Nov 20, 2025
4afc4df
Potential fix for pull request finding 'Useless assignment to local v…
riatzukiza Nov 20, 2025
398bb13
Merge branch 'dev' into feat/align-session-fork-ids-23
riatzukiza Nov 20, 2025
b03766f
Potential fix for pull request finding 'Useless assignment to local v…
riatzukiza Nov 20, 2025
2f88ad0
Merge branch 'dev' into feat/compaction-heuristics-22
riatzukiza Nov 20, 2025
72db4d7
Fixed compaction test logic, all tests pass
opencode-agent[bot] Nov 20, 2025
b6ba671
Merge pull request #59 from open-hax/feat/align-session-fork-ids-23
riatzukiza Nov 20, 2025
e48c621
Merge branch 'dev' into feat/compaction-heuristics-22
riatzukiza Nov 20, 2025
1dbfe18
Merge pull request #60 from open-hax/feat/compaction-heuristics-22
riatzukiza Nov 20, 2025
284ad45
chore: release v0.4.0 (PR #59) (#61)
riatzukiza Nov 20, 2025
2416e49
address the rabbits comments
riatzukiza Nov 20, 2025
67b687f
Merge branch 'dev' into pr57-comments
riatzukiza Nov 20, 2025
306e3b3
Merge pull request #63 from open-hax/pr57-comments
riatzukiza Nov 20, 2025
3da7166
dedupe bridge injection when session already injected
riatzukiza Nov 20, 2025
1f480c2
Merge branch 'dev' into pr57-comments
riatzukiza Nov 20, 2025
80c9101
Merge pull request #65 from open-hax/pr57-comments
riatzukiza Nov 20, 2025
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
19 changes: 19 additions & 0 deletions .github/rulesets/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# GitHub Ruleset Snapshots

These files snapshot the current GitHub repository rulesets as exported via `gh api`. GitHub does not read rules from this directory; updates still need to be applied through the Ruleset UI or API. Keep these files in sync to audit drift.

## Refresh commands

```
GH_TOKEN=<token_with_repo_admin> gh api repos/open-hax/codex/rulesets/10200441 > .github/rulesets/release.json
GH_TOKEN=<token_with_repo_admin> gh api repos/open-hax/codex/rulesets/10223971 > .github/rulesets/main.json
```

After refreshing, commit changes. CI (`.github/workflows/ruleset-drift.yml`) fetches live rulesets, strips volatile fields (`created_at`, `updated_at`, `bypass_actors`, `current_user_can_bypass`), normalizes with `jq -S .`, and diffs against these snapshots; it fails on structural drift only.

## Notes

- `release` ruleset applies to the default branch (currently `dev`); strict required checks enforced.
- `main` ruleset applies to `refs/heads/main`; strict_required_status_checks_policy is false.
- If we rename `dev` again, update the default branch and the `release` ruleset target accordingly, then refresh these snapshots.
- CI drift check already fetches live rulesets and diffs against snapshots.
71 changes: 71 additions & 0 deletions .github/rulesets/main.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
{
"id": 10223971,
"name": "main",
"target": "branch",
"source_type": "Repository",
"source": "open-hax/codex",
"enforcement": "active",
"conditions": { "ref_name": { "exclude": [], "include": ["refs/heads/main"] } },
"rules": [
{ "type": "deletion" },
{ "type": "non_fast_forward" },
{
"type": "required_status_checks",
"parameters": {
"strict_required_status_checks_policy": false,
"do_not_enforce_on_create": false,
"required_status_checks": [
{ "context": "Test (20.x)", "integration_id": 15368 },
{ "context": "Test (22.x)", "integration_id": 15368 },
{ "context": "Lint & Typecheck", "integration_id": 15368 },
{ "context": "CodeRabbit", "integration_id": 347564 }
]
}
},
{
"type": "copilot_code_review",
"parameters": { "review_on_push": true, "review_draft_pull_requests": true }
},
{
"type": "pull_request",
"parameters": {
"required_approving_review_count": 0,
"dismiss_stale_reviews_on_push": false,
"required_reviewers": [],
"require_code_owner_review": false,
"require_last_push_approval": false,
"required_review_thread_resolution": true,
"automatic_copilot_code_review_enabled": true,
"allowed_merge_methods": ["merge", "squash", "rebase"]
}
},
{ "type": "code_quality", "parameters": { "severity": "errors" } },
{
"type": "code_scanning",
"parameters": {
"code_scanning_tools": [
{
"tool": "CodeQL",
"security_alerts_threshold": "high_or_higher",
"alerts_threshold": "errors"
}
]
}
},
{
"type": "copilot_code_review_analysis_tools",
"parameters": { "tools": [{ "name": "CodeQL" }, { "name": "ESLint" }] }
}
],
"node_id": "RRS_lACqUmVwb3NpdG9yec5AmajgzgCcAWM",
"created_at": "2025-11-20T12:56:31.538-06:00",
"updated_at": "2025-11-20T13:34:49.695-06:00",
"bypass_actors": [
{ "actor_id": null, "actor_type": "OrganizationAdmin", "bypass_mode": "always" }
],
"current_user_can_bypass": "always",
"_links": {
"self": { "href": "https://api.github.com/repos/open-hax/codex/rulesets/10223971" },
"html": { "href": "https://github.com/open-hax/codex/rules/10223971" }
}
}
55 changes: 55 additions & 0 deletions .github/rulesets/release.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{
"id": 10200441,
"name": "release",
"target": "branch",
"source_type": "Repository",
"source": "open-hax/codex",
"enforcement": "active",
"conditions": { "ref_name": { "exclude": [], "include": ["~DEFAULT_BRANCH"] } },
"rules": [
{ "type": "deletion" },
{ "type": "non_fast_forward" },
{
"type": "copilot_code_review",
"parameters": { "review_on_push": true, "review_draft_pull_requests": false }
},
{
"type": "code_scanning",
"parameters": {
"code_scanning_tools": [
{
"tool": "CodeQL",
"security_alerts_threshold": "high_or_higher",
"alerts_threshold": "errors"
}
]
}
},
{ "type": "code_quality", "parameters": { "severity": "errors" } },
{
"type": "required_status_checks",
"parameters": {
"strict_required_status_checks_policy": true,
"do_not_enforce_on_create": false,
"required_status_checks": [
{ "context": "Lint & Typecheck", "integration_id": 15368 },
{ "context": "CodeRabbit", "integration_id": 347564 },
{ "context": "Test (20.x)", "integration_id": 15368 },
{ "context": "Test (22.x)", "integration_id": 15368 }
]
}
}
],
"node_id": "RRS_lACqUmVwb3NpdG9yec5AmajgzgCbpXk",
"created_at": "2025-11-20T02:14:51.195-06:00",
"updated_at": "2025-11-20T12:58:18.002-06:00",
"bypass_actors": [
{ "actor_id": null, "actor_type": "OrganizationAdmin", "bypass_mode": "always" },
{ "actor_id": 5, "actor_type": "RepositoryRole", "bypass_mode": "always" }
],
"current_user_can_bypass": "always",
"_links": {
"self": { "href": "https://api.github.com/repos/open-hax/codex/rulesets/10200441" },
"html": { "href": "https://github.com/open-hax/codex/rules/10200441" }
}
}
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ jobs:
- lint
- test
if: >-
${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && startsWith(github.event.head_commit.message, 'chore: release v') }}
${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && (startsWith(github.event.head_commit.message, 'chore: release v') || startsWith(github.event.head_commit.message, 'hotfix: release v')) }}
permissions:
contents: write
env:
Expand Down
32 changes: 32 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: CodeQL

on:
push:
branches: [dev, main]
pull_request:
branches: [dev, main]
schedule:
- cron: "24 21 * * 5"

permissions:
contents: read
security-events: write

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: javascript

- name: Autobuild
uses: github/codeql-action/autobuild@v3

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
Loading
Loading