Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
db6ec9e
Add antianqi/tool-map v0.2.0: persistent cross-platform tool inventory
antianqi Aug 19, 2026
5c6d11d
fix(security): address PR #5 review blockers (2 P1 + 3 correctness)
antianqi Aug 23, 2026
fb0b87d
Add codex-harness-patterns plugin
antianqi Aug 23, 2026
8a6c180
Expand codex-harness-patterns: add review-mode, delegate-with-context…
antianqi Aug 23, 2026
fdbffcc
v0.3.0: add 2 Skills (goal-persistence, model-router) — 10 Skills total
antianqi Aug 23, 2026
c2422f2
v0.4.0: 12 Skills total — add completion-audit + fork-context-decisio…
antianqi Aug 23, 2026
21afb47
v0.5.0: 14 Skills — add subagent-family-tracking + goal-token-budgeti…
antianqi Aug 23, 2026
3cfbb2a
v0.6.0: 18 Skills total — add error-recovery-strategy, retry-with-bac…
antianqi Aug 24, 2026
f6d18a9
v0.6.1: rewrite all 18 Skill frontmatter descriptions for LLM matching
antianqi Aug 24, 2026
4a7b838
v0.6.2: catalog corrections (6 misjudgments) + 2-3 month roadmap
Aug 24, 2026
901e2a1
v0.6.3: research milestone — Phase 1 Week 1 (memories/ deep-dive)
Aug 24, 2026
3616b16
v0.6.4: research milestone — Phase 1 Week 2 (skills/ deep-dive)
Aug 24, 2026
cfadb53
v0.6.5: research milestone — Phase 1 Week 3 (thread-store/ deep-dive)
Aug 24, 2026
ab97ec7
v0.7.0: research milestone — Phase 1 completion (5 core crates)
Aug 24, 2026
15f4d41
v0.7.1: research milestone — Phase 2 Week 5 (agent + session deep-dive)
Aug 24, 2026
2d8fed0
v0.7.2: research milestone — Phase 2 Week 6 (tools/ deep-dive)
Aug 24, 2026
00ffed5
v0.7.3: research milestone — Phase 2 Week 7 (rollout + models-manager)
Aug 24, 2026
1f9d574
v0.7.4: research milestone — Phase 2 Week 8 (protocol layer)
Aug 24, 2026
d2da1ea
v0.7.5: research milestone — Phase 3 (edge crates)
Aug 24, 2026
e2ec486
v1.0.0: MAJOR — 5 new Skills (23 total), full agent lifecycle coverage
Aug 24, 2026
5f41ba3
v1.0.1: documentation refresh — OVERVIEW.md / STATUS.md / PR #18 title
Aug 24, 2026
5b7f1a8
v1.0.2: README 4-section disclosure (mcode plugin convention)
Aug 25, 2026
f0c8918
fix(security): atomicWriteBundle handles all rollback paths
antianqi Aug 25, 2026
1f4530c
fix: remove Codex-only tool params from 5 Skills (reviewer feedback)
Aug 25, 2026
6f1a615
fix: add Host runtime requirements sections to plugin-author-helper a…
Aug 25, 2026
7f15cf1
feat(mcode-island): v0.3.0 — io.minimax.mcode Hooks extension
antianqi Aug 26, 2026
526f0a2
fix(mcode-island): correct README drift and lock PermissionRequest de…
antianqi Aug 26, 2026
72952c9
fix: replace Codex-only tool param names with mcode actual API (v1.0.3)
Aug 25, 2026
a9f80c3
docs: align version references to v1.0.3 across plugin metadata
antianqi Aug 26, 2026
aa77b1c
fix: clean up hardcoded path and stale frontmatter reference missed i…
antianqi Aug 26, 2026
2dedc99
fix(security): per-program shell decision for version probes
antianqi Aug 26, 2026
155f0ad
fix(mcode-schema): rewrite 5 Skills against mcode 0.2.4 actual task /…
antianqi Aug 26, 2026
020c43c
fix(mcode-schema): error-recovery-strategy 0.1.1 -> 0.1.2 (subagent -…
antianqi Aug 26, 2026
61ae6f4
test(codex-harness-patterns): close round-4 false-green holes in stat…
antianqi Aug 27, 2026
60d272c
fix(tool-map): address PR #5 round-4 review (4 blockers)
antianqi Aug 27, 2026
38413d9
fix(mcode-island): remove _comment, classify 7 forward events, fix di…
antianqi Aug 28, 2026
a0a6d16
fix(test): use .sh extension in case-distinct test so NPM_BIN_HINT is…
antianqi Aug 28, 2026
6bb6a4b
fix(tool-map): require X_OK on POSIX so non-executable in earlier PAT…
antianqi Aug 29, 2026
6a9e7c6
ci(mcode-island): add windows-latest Actions job for round-5 executab…
antianqi Aug 29, 2026
659b606
fix(codex-harness-patterns): align Skills with current mcode 0.2.4 ta…
antianqi Aug 29, 2026
fa62b0e
ci(mcode-island): replace heredoc with single-line string in workflow…
antianqi Aug 29, 2026
fe3b3bb
fix(codex-harness-patterns): close 5 self-contradictions + CRLF guard…
antianqi Aug 29, 2026
2e5e02f
fix(codex-harness-patterns): resolve PR #18 round-5 blockers (plugin.…
antianqi Sep 1, 2026
86247c7
ci(mcode-island): add local-runner for the windows-latest workflow (P…
antianqi Sep 1, 2026
9cd8ac1
ci(tool-map): add windows-latest Actions job + local runner (PR #5 ro…
antianqi Sep 1, 2026
c949789
fix(codex-harness-patterns): pin mcode 0.2.4 in description (round-7 …
antianqi Sep 2, 2026
e777e3c
ci(tool-map): add workflow_dispatch trigger for manual CI runs
antianqi Sep 2, 2026
498d2a3
ci(tool-map): copy tool-map-windows.yml to main for workflow_dispatch…
antianqi Sep 2, 2026
f2ae1a6
ci(tool-map): also bring test/tool-map.test.mjs to main for workflow run
antianqi Sep 2, 2026
31eb117
Merge branch 'add-tool-map'
antianqi Sep 2, 2026
9600667
Merge branch 'proposal/io-minimax-mcode-hooks'
antianqi Sep 2, 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
21 changes: 21 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ permissions:

jobs:
validate:
name: validate (ubuntu-latest)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b18 # v7.0.1
Expand All @@ -19,3 +20,23 @@ jobs:
cache: npm
- run: npm ci
- run: npm run check

# Round-4 review: ".cmd/.bat 分支本轮没有真实 Windows 证据".
# The R4-1 (case-distinct), R4-2 (resolveProgram directory
# rejection), and R4-3 (probeVersion resolved-path) tests are
# POSIX-gated and were previously only run on ubuntu-latest. The
# R4-4 test exercises the .cmd / .bat / PATHEXT branch on real
# Windows. This matrix ensures the .cmd / .bat code path is
# validated by an actual Windows runner, not just a reviewer's
# local machine.
validate-windows:
name: validate (windows-latest)
runs-on: windows-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b18 # v7.0.1
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: 22
cache: npm
- run: npm ci
- run: npm run check
313 changes: 313 additions & 0 deletions .github/workflows/mcode-island-windows.yml

Large diffs are not rendered by default.

84 changes: 84 additions & 0 deletions .github/workflows/tool-map-windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: tool-map (windows-latest)

on:
pull_request:
paths:
- 'plugins/antianqi/tool-map/**'
- '.github/workflows/tool-map-windows.yml'
- 'test/tool-map.test.mjs'
push:
branches: [main]
paths:
- 'plugins/antianqi/tool-map/**'
- '.github/workflows/tool-map-windows.yml'
- 'test/tool-map.test.mjs'
# Manual dispatch: lets a maintainer / the PR author trigger the
# same windows-latest job outside a PR. Used to capture a
# github-hosted green check on the fork (the fork-to-upstream PR
# itself cannot trigger Actions without explicit maintainer
# approval, and first-time-contributor protection is on).
workflow_dispatch:

# PR #5 round-6 review (hetaoBackend, 2026-09-01T01:24:53Z) on commit
# 6bb6a4b: "POSIX tests pass 29/29 ... The remaining blocker is
# platform evidence: the Windows/.cmd/.bat tests return early on
# non-Windows, and this head has no GitHub Actions run, so the new
# windows-latest workflow has not actually validated the
# shell/PATHEXT path. Please provide a real Windows run before merge."
#
# This workflow exercises the existing test/tool-map.test.mjs on
# windows-latest. The two test cases gated on win32 are:
#
# - "Windows: probeVersion handles the PATHEXT-expanded .CMD
# path (R4-4 real Windows evidence)" -- creates a fake
# `node.cmd` in a temp dir, sets PATH, asserts probeVersion
# resolves the .cmd shim and captures `node core` via the
# PATHEXT lookup. This is the only line of code that decides
# whether a .cmd shim routes through cmd.exe (CVE-2024-27980) or
# spawns as a normal executable.
# - "shouldUseShell agrees with shellForFile for every whitelisted
# probe that is installed" -- runs scan.mjs's `shouldUseShell`
# against the installed tools on the runner and asserts the
# decision is consistent with the resolved file extension.
#
# These two tests were SKIPPED on every previous CI run (POSIX
# runner); this workflow is what makes the round-6 "real Windows
# run" requirement reproducible in CI. The local-runnable mirror
# `plugins/antianqi/tool-map/scripts/test-windows-workflow-local.ps1`
# gives the same evidence without requiring Actions approval from
# the maintainer.
#
# `[code]smith` is SKIPPED on this repository, so this windows-latest
# job is the CI evidence for the round-6 review.

permissions:
contents: read

jobs:
tool-map-windows:
name: tool-map on windows-latest (.cmd/.bat / PATHEXT / shell)
runs-on: windows-latest
timeout-minutes: 10
defaults:
run:
shell: pwsh
steps:
- name: Checkout
uses: actions/checkout@v4

# Use the system Node so the .cmd / .bat PATHEXT lookup uses the
# same Node version the reviewer tested against. The runner
# images ship with Node 20.x as of 2026-09-01.
- name: Set up Node (system)
run: |
node --version
npm --version

# Round-6 reviewer finding: ".cmd/.bat tests return early on
# non-Windows." On windows-latest the if (process.platform
# !== 'win32') return guards in the test bodies will NOT trip,
# and the R4-4 .cmd / .bat evidence will actually exercise.
- name: Run tool-map Windows test suite
run: |
cd '${{ github.workspace }}'
node --test test/tool-map.test.mjs
201 changes: 201 additions & 0 deletions plugins/antianqi/codex-harness-patterns/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of tracking or otherwise improving the Work,
but excludes communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for describing the origin of the Work and
reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may accept and charge a
fee for, acceptance of support, warranty, indemnity, or other
liability obligations and/or rights consistent with this License.
However, in accepting such obligations, You may act only on Your
own behalf and on Your sole responsibility, not on behalf of any
other Contributor, and only if You agree to indemnify, defend,
and hold each Contributor harmless for any liability incurred by,
or claims asserted against, such Contributor by reason of your
accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright 2026 antianqi

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Loading