Skip to content

Develop to main #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1,168 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1168 commits
Select commit Hold shift + click to select a range
4a91e6f
Mark metadata_extract checklist item complete per DoD (build/tests/li…
Aug 18, 2025
23c18d5
Add pdf_extract tool scaffold with size cap test and wiring
Aug 18, 2025
72f80fa
Implement pdf_extract parsing and optional OCR hook
Aug 18, 2025
3c7e35b
docs(checklist): add README follow-author LinkedIn link task
Aug 18, 2025
ea997b2
Tool: pdf_extract — implement PDF text extraction with optional OCR, …
Aug 18, 2025
de7c9fe
Add skeleton for rss_fetch tool with tests
Aug 18, 2025
0a6446d
Implement rss_fetch: HTTP fetch with conditional GET, RSS/Atom parsin…
Aug 18, 2025
2c7659f
Wire rss_fetch into build and manifest; add docs
Aug 18, 2025
3c20531
Fix lint: handle Close/Copy errors and gofmt for rss_fetch
Aug 18, 2025
21a45cb
Mark L17 rss_fetch done — DoD verified (build/tests/lint green); incl…
Aug 18, 2025
e17bbd5
Add wayback_lookup tool with SSRF guard, lookup/save behavior, tests,…
Aug 18, 2025
51d1486
fix(wayback_lookup): retry GET on 5xx to reduce flakiness
Aug 18, 2025
3391126
chore: add prebuilt rss_fetch binary artifact to repo
Aug 18, 2025
1f74e16
Add failing tests for wiki_query tool (titles and search)
Aug 18, 2025
cc69303
Implement wiki_query tool with MediaWiki extracts/opensearch support
Aug 18, 2025
24254d3
Wire wiki_query into Makefile TOOLS and tools.json manifest
Aug 18, 2025
049389b
Check off FEATURE_CHECKLIST wiki_query item after adding tool, tests,…
Aug 18, 2025
62fde11
Tool: openalex_search — implement scholarly works search with SSRF gu…
Aug 18, 2025
eb78a1d
Check off FEATURE_CHECKLIST.md L20: openalex_search implemented with …
Aug 18, 2025
d38c5e4
docs: add rss_fetch cleanup and heading consolidation tasks
Aug 18, 2025
a79850b
Add crossref_search tool with tests and docs; wire into Makefile and …
Aug 18, 2025
4f36d7b
Tool: github_search — implement GitHub search (repos/code/issues/comm…
Aug 18, 2025
4bc49bf
TDD: add failing test and stub for dedupe_rank tool
Aug 18, 2025
57dd905
Tool: dedupe_rank — implement minimal Jaccard-based grouping with TF‑…
Aug 18, 2025
2f58c99
Tool: citation_pack — normalize citation and optional Wayback lookup;…
Aug 18, 2025
5a790a9
wiki_query: remove top-level oneOf from tools.json and enforce mutual…
Aug 18, 2025
43d7442
checklist: mark L25 done — wiki_query schema updated, runtime validat…
Aug 18, 2025
3429a73
Docs: add consolidated research tools reference and link from README;…
Aug 18, 2025
4d4fea3
Docs: add research tools security posture and link from threat model
Aug 18, 2025
5bad5ce
Checklist: mark L27 done — research tools security posture doc added …
Aug 18, 2025
8ac9e54
Docs: add research pipeline diagram and link from ADR-0010 and docs i…
Aug 18, 2025
7ef5a7a
Runbook: add Troubleshooting research tools section covering envs, SS…
Aug 18, 2025
2151137
examples: add manual research tools README with copy-paste commands a…
Aug 18, 2025
562b2aa
chore: mark Makefile tooling wiring as done after reproducible build …
Aug 18, 2025
b4fa966
docs: add LinkedIn follow link to README and complete checklist item
Aug 18, 2025
2b9b8fa
cli: add -http-retries and -http-retry-backoff flags with env precede…
Aug 18, 2025
604e136
checklist: mark L33 complete — global HTTP retry knobs added, help up…
Aug 18, 2025
1fe66e9
docs: expand FUTURE_CHECKLIST with sandbox tool plans and de-duplicat…
Aug 18, 2025
1df7884
feat(cli,image): add -image-base-url and -image-api-key with inherita…
Aug 18, 2025
2170408
BLOCKED: L35 Add image model flag – missing cmd/agentcli and internal…
Aug 18, 2025
4538741
feat(cli,image): add image HTTP behavior flags (-image-http-timeout, …
Aug 18, 2025
6339a12
checklist: mark L37 complete — image HTTP timeout/retry/backoff flags…
Aug 18, 2025
0099d55
feat(cli,image): add common image parameter flags and tests; sync hel…
Aug 18, 2025
7c1a6c5
docs(prompts): add default prep prompt
Aug 18, 2025
6026194
docs(checklist): update FUTURE_CHECKLIST items
Aug 18, 2025
533eeb6
docs(checklist): update FEATURE_CHECKLIST items
Aug 18, 2025
f826867
BLOCKED L39: Image prompt file support cannot proceed: missing cmd/ag…
Aug 18, 2025
a44361e
BLOCKED: Mark L41 blocked due to missing cmd/agentcli; added next-ste…
Aug 18, 2025
e0b80bd
BLOCKED: L43 -print-config cannot proceed: missing cmd/agentcli; adde…
Aug 18, 2025
465033f
agentcli: add -prep-temp and env overrides; env for -prep-top-p; one-…
Aug 18, 2025
3873e24
checklist: mark pre-stage sampling knobs done (prep-temp, prep-top-p)
Aug 18, 2025
eafbd33
internal/oai: add centralized resolution helpers for precedence/inher…
Aug 18, 2025
fd17d24
internal/cli,resolve: refactor HTTP retry knob resolution to use cent…
Aug 18, 2025
83b90da
chore(tests): satisfy linters — use t.Setenv in resolve tests; add no…
Aug 18, 2025
efd73e0
chore(lint): gofmt -s resolve_test; maintainers-only change
Aug 18, 2025
c04c455
internal/oai: extend resolver tests for edge cases
Aug 18, 2025
372e27b
checklist: mark L50 precedence/inheritance helpers complete after gre…
Aug 18, 2025
c8f69be
docs: trim trailing blank line in FUTURE_CHECKLIST.md
Aug 18, 2025
703d13c
cmd/agentcli: add -image-model flag with env precedence; update help,…
Aug 18, 2025
1a41966
BLOCKED S02: print-config image.model — cmd/agentcli/main.go missing;…
Aug 18, 2025
e642300
S03: add image.Options scaffold and unit test
Aug 18, 2025
7e79f1c
logs: update CURRENT_TASK.md
Aug 18, 2025
38732fb
BLOCKED S04: Marked plumb-model-to-options as blocked due to missing …
Aug 18, 2025
12fb849
cmd/agentcli: extend messages save/load to support image_prompt metadata
Aug 18, 2025
f0d9980
checklist: mark image_prompt save/load support as complete (L52)
Aug 18, 2025
2638a46
Mark API key redaction task as BLOCKED due to missing cmd/agentcli de…
Aug 18, 2025
ff19377
BLOCKED: capabilities backend summary cannot be implemented: missing …
Aug 18, 2025
13d5b6c
checklist: mark docs update complete (L57)
Aug 18, 2025
35a80dd
docs(README): rewrite and expand getting started and usage
Aug 18, 2025
2f5b32c
cmd/agentcli: add deterministic --help snapshot test and mark checkli…
Aug 18, 2025
0473907
cmd/agentcli: add explicit parse errors for conflicting flags; add co…
Aug 19, 2025
846a00d
examples(image): add README with same/split backend commands; Makefil…
Aug 19, 2025
ea5f49f
BLOCKED: L61 pre-stage prompt flags — CLI missing; add Next subtask.
Aug 19, 2025
b26a8c3
internal/oai: add PrepConfig and JoinPrompts for pre-stage prompt con…
Aug 19, 2025
ede0a3b
checklist: mark L63 (pre-stage prompt concat) complete
Aug 19, 2025
afd119e
internal/oai: embed default smart prep prompt and test
Aug 19, 2025
9179f77
checklist: mark default smart prep prompt as complete
Aug 19, 2025
1624c2b
prompts(prep_default): rewrite default Smart Prep prompt to Harmony m…
Aug 19, 2025
b207adb
internal/oai: add ResolvePrepPrompt with tests; select pre-stage prom…
Aug 19, 2025
25e049b
test(oai): clarify non-fatal shape hint log; format helper
Aug 19, 2025
a6c8587
chore(logs): update current work item description
Aug 19, 2025
f3c5fda
prestage: add minimal runner to send resolved prompt as user message
Aug 19, 2025
9cf8238
chore: update CURRENT_TASK to reflect L66 execution wiring focus
Aug 19, 2025
f633890
checklist: mark L66 pre-stage prompt wiring complete; add errcheck on…
Aug 19, 2025
ccebb12
chore(logs): update CURRENT_TASK for L66 wiring completion
Aug 19, 2025
03f4cfe
prestage: define Harmony output contract and validator; add tests and…
Aug 19, 2025
ea73686
checklist: mark L67 pre-stage contract/validator complete; link doc f…
Aug 19, 2025
bcad5d8
chore(logs): update CURRENT_TASK for L67 pre-stage contract/validator
Aug 19, 2025
76c7be7
Implement prestage merge parser and merger (L68); add unit tests.\n\n…
Aug 19, 2025
4133250
Check off L68: prestage merge implemented with parser and merge helpe…
Aug 19, 2025
10bb720
Implement -prep-dry-run merged output and pre-stage merge wiring.
Aug 19, 2025
0ec1362
checklist: mark L69 (-prep-dry-run merged output) complete per DoD
Aug 19, 2025
d3039f2
agentcli: include prestage metadata in message print/save outputs; ma…
Aug 19, 2025
d86d9dc
agentcli: tests cover prestage metadata in -print-messages and saved …
Aug 19, 2025
cdf13d0
checklist: mark prestage metadata extension complete (print/save wrap…
Aug 19, 2025
3946ac0
cmd/agentcli: add -prep-system and -prep-system-file flags with env f…
Aug 19, 2025
7d625f7
checklist: mark L71 (-prep-system flags) complete after tests/lint green
Aug 19, 2025
884d523
chore(logs): update CURRENT_TASK to L72 capability-map enforcement
Aug 19, 2025
a90aaf5
prestage: enforce one‑knob + add JSON mode support
Aug 19, 2025
272b107
checklist: mark L72 (pre-stage capability-map enforcement) complete
Aug 19, 2025
a4c6b95
checklist: mark L73 blocked; add next-step
Aug 19, 2025
0c6711f
checklist: mark L75 (-print-config prep section) BLOCKED; add next st…
Aug 19, 2025
997dd6e
docs(logs): clarify CURRENT_TASK blocked item and next step
Aug 19, 2025
d47d482
BLOCKED: README pre-stage prompt overrides section — flags -prep-prom…
Aug 19, 2025
5b518b7
checklist: mark backward compatibility guard BLOCKED; add next step
Aug 19, 2025
8af416f
BLOCKED: Telemetry/verbosity alignment — CLI scaffold missing; added …
Aug 19, 2025
c97bf8a
ADR-0007: Pre-stage prompt overrides (flags + embedded default)
Aug 19, 2025
5caa05c
docs(logs): update CURRENT_TASK for ADR-0007 drafting and verification
Aug 19, 2025
179fdc1
Docs: add prestage flow Mermaid diagram and index link; mark checklis…
Aug 19, 2025
d514c5b
cmd/agentcli: expand help snapshot assertions for repeatable flags, '…
Aug 19, 2025
85ed6eb
checklist: mark help snapshot test expansion as done; tests/lint green
Aug 19, 2025
c1c2683
internal/tools/jsrun: add minimal code.sandbox.js.run handler with bo…
Aug 19, 2025
9cb171d
checklist: mark code.sandbox.js.run handler implemented (tests green)
Aug 19, 2025
9434985
jsrun: add goja VM with wall-time interrupt and TIMEOUT errors; add t…
Aug 19, 2025
0dab15f
fix: address lint issues in jsrun (errcheck, gofmt); tests and lint g…
Aug 19, 2025
7e9b1c5
jsrun: mark TIMEOUT/interrupt item complete in FEATURE_CHECKLIST.md
Aug 19, 2025
4483136
Add hygiene audit items: img_create extras in tools.json schema; harm…
Aug 19, 2025
3d25fd0
jsrun: enforce deny-by-default via tests; mark checklist item complete
Aug 19, 2025
d888024
docs(logs): mark CURRENT_TASK idle
Aug 19, 2025
aae45f4
jsrun: structured error codes (EVAL_ERROR/OUTPUT_LIMIT/TIMEOUT) with …
Aug 19, 2025
5a2874b
Docs: add code.sandbox.js.run interface page and link from README.
Aug 19, 2025
c2ab556
Check off docs item: add code.sandbox.js.run interface and README link.
Aug 19, 2025
8855fe1
checklist: add SEARXNG_ALLOW_LOCAL, HTTP_FETCH_ALLOW_LOCAL, and fs_mo…
Aug 19, 2025
9602481
internal/tools/jsrun: add observability audit for code.sandbox.js.run…
Aug 19, 2025
43928c5
code.sandbox.wasm.run: add input-validation skeleton and tests
Aug 19, 2025
b08effc
wasmrun[S01]: validate positive limits with tests
Aug 19, 2025
671b95e
docs(logs): update CURRENT_TASK for wasm.run positive-limits validation
Aug 19, 2025
94c805e
BLOCKED: code.sandbox.wasm.run – add embedded test module next.
Aug 19, 2025
e0a3691
docs(logs): mark CURRENT_TASK blocked pending embedded wasm module
Aug 19, 2025
3a586b9
wasmrun: deny WASI by default and add negative test; fix embed path
Aug 19, 2025
6345714
BLOCKED: wasm runner memory limit task (L96) — execution engine not y…
Aug 19, 2025
1643207
wasmrun: add linear memory read helper with strict OOB checks and uni…
Aug 19, 2025
cfbe5b4
checklist: mark 'Host memory read correctness' done with helper + tests
Aug 19, 2025
b1e5d33
docs(logs): update CURRENT_TASK for wasm memory helper and OOB tests
Aug 19, 2025
2ec1651
Block wasmrun structured errors & schema; add Next step.
Aug 19, 2025
5224673
checklist: mark L101 BLOCKED and add Next step
Aug 19, 2025
4421fde
wasmrun: add observability audit lines with span tools.wasm.run and test
Aug 19, 2025
8fc4e97
checklist: mark L103 (wasmrun observability) done — tests+lint green
Aug 19, 2025
c95db7c
docs(logs): update CURRENT_TASK — observability green; idle
Aug 19, 2025
c230478
internal/sandbox: introduce shared limits utilities (bounded buffer, …
Aug 19, 2025
5355a9f
docs(logs): update CURRENT_TASK — idle
Aug 19, 2025
82850dc
Docs(js sandbox): add Security Model, Pitfalls, and timeout example; …
Aug 19, 2025
396fb45
docs(logs): update CURRENT_TASK — JS sandbox security; WASM pending
Aug 19, 2025
fc3aa10
checklist: mark L105 complete (Security Model docs)
Aug 19, 2025
74f2845
cmd/agentcli: add -state-dir flag with env fallback, tilde expansion,…
Aug 19, 2025
a2832b6
docs(logs): update CURRENT_TASK — progress sync
Aug 19, 2025
920b3fd
internal/state: define versioned StateBundle schema and validators; a…
Aug 19, 2025
9a48ed3
checklist: mark L108 complete — state bundle schema and ADR in place
Aug 19, 2025
c9463c2
docs(logs): update CURRENT_TASK — implement versioned state bundle sc…
Aug 19, 2025
38469aa
internal/state: add atomic SaveStateBundle with fsync and pointer upd…
Aug 19, 2025
ad23086
checklist: mark L109 complete — atomic SaveStateBundle with tests
Aug 19, 2025
5baeb9f
checklist: add security sandbox feature plan with tasks and DoD
Aug 19, 2025
b3f583e
Implement LoadLatestStateBundle with strict validation and tests.
Aug 19, 2025
3d31333
Check off LoadLatestStateBundle item; tests and lint are green.
Aug 19, 2025
37fd776
internal/state: tighten atomic write error handling; refresh tests
Aug 19, 2025
4064292
cmd/agentcli: add -state-scope flag and default hashing; update docs …
Aug 19, 2025
6c3188a
checklist: mark -state-scope feature done; help/docs/tests updated an…
Aug 19, 2025
a20993a
prestage: add Coordinator with restore-before-prep behavior and tests
Aug 19, 2025
1180a90
checklist: mark restore-before-prep wiring as completed
Aug 19, 2025
8096591
docs(logs): update CURRENT_TASK — focus on restore-before-prep wiring
Aug 19, 2025
1ae32a6
agentcli: add -state-refine flags and validation; sync CLI docs
Aug 19, 2025
0b49209
checklist: mark L113 complete — refine flags and tests in place, gate…
Aug 19, 2025
642f67e
README: add jq prerequisite and Windows instructions for ripgrep and …
Aug 19, 2025
9ef7329
docs(logs): update CURRENT_TASK — progress sync
Aug 19, 2025
bcb0964
state: add RefineStateBundle with deterministic append and prev_sha; …
Aug 19, 2025
9a69086
checklist: mark L114 complete — RefineStateBundle implemented with te…
Aug 19, 2025
e8e5929
prestage: enforce effective-source precedence and warn on refine+over…
Aug 19, 2025
6315a35
checklist: mark L115 done (effective-source precedence + warning)
Aug 19, 2025
d9cbfb6
state: harden persistence with secure dir checks and secret redaction
Aug 19, 2025
2e4d4e3
checklist: mark state security hardening as done
Aug 19, 2025
a49840a
cli: add --dry-run to print state plan without writing; document in h…
Aug 19, 2025
9d34fc3
test: fix errcheck in SaveStateBundle redaction test by checking Read…
Aug 19, 2025
944ac61
chore: update CURRENT_TASK.md status for dry-run planning work
Aug 19, 2025
4134d86
style: normalize gofmt indentation across CLI and state
Aug 19, 2025
3149d71
test: add E2E state persistence scenario (save→restore→refine) and p…
Aug 19, 2025
589a657
docs(logs): sync CURRENT_TASK.md progress
Aug 19, 2025
578a474
state: quarantine corrupt latest.json and snapshots; add tests; mark …
Aug 19, 2025
19218f9
docs(logs): sync CURRENT_TASK.md progress
Aug 19, 2025
61502ca
state: add coarse advisory file lock (state.lock) for save/load and c…
Aug 19, 2025
c726054
checklist: mark concurrency & locking state.lock item done; tests ens…
Aug 19, 2025
6ceaeee
ADR-0012 and README: document -state-dir persistence and refinement; …
Aug 19, 2025
b097c38
state(lock/load/save): fix errcheck and gofmt issues; handle lock fil…
Aug 19, 2025
a4a0456
style(state): gofmt -s internal/state after errcheck updates
Aug 19, 2025
0032c97
docs(checklist): expand migration plan with sliced PRs and workflow s…
Aug 19, 2025
e71c9b7
logs: set idle CURRENT_TASK and record NOOP iteration
Aug 19, 2025
8b93ccd
checklists: reorder FEATURE_CHECKLIST and FUTURE_CHECKLIST determinis…
Aug 19, 2025
5b35c2c
checklist: mark S01 img-model default inject as BLOCKED (missing cmd/…
Aug 19, 2025
153cfba
docs(checklists): reorder FEATURE_CHECKLIST and FUTURE_CHECKLIST dete…
Aug 19, 2025
3a4a727
docs(changelog): record checklist reorg and future items move
Aug 19, 2025
9434679
docs(checklists): consolidate future items into feature checklist; re…
Aug 19, 2025
9e3b16f
docs(rules): fine-tune .cursor/rules wording for clarity
Aug 19, 2025
5291a81
Docs: Linux 5.4 sandbox compatibility runbook and help link
Aug 19, 2025
b886615
checklist: complete bootstrap/preflight
Aug 19, 2025
20bf684
workflow: mark PR #01 scaffold as BLOCKED
Aug 19, 2025
c1393c4
chore(changelog,checklist): record PR slicing plan; keep develop limi…
Aug 19, 2025
78c8705
docs: mark PR #01 scaffold as OPEN in task docs
Aug 19, 2025
dfc65d6
docs: add PR #02 link under minimal CLI entrypoint
Aug 19, 2025
880961f
docs(checklists): record existing open PRs and link PR #02; keep deve…
Aug 19, 2025
4f0a2e2
docs(checklists): mark PR #09 docs/diagrams as OPEN with link; admin-…
Aug 19, 2025
9973628
docs(checklists): mark PR plan as OPEN (#6) and link docs/diagrams PR…
Aug 19, 2025
7259a77
docs(checklists): mark PR #03 as BLOCKED pending #01/#02; clarify min…
Aug 19, 2025
e6b2a2f
docs: record PR #7 for OAI client/types in checklist+changelog
Aug 19, 2025
403e49b
chore: track PR #05 (model defaults & capability map) and sync task f…
Aug 19, 2025
2fcde56
chore: record PR #8 in checklist and changelog
Aug 19, 2025
4f094fc
chore(checklist): record PR #07 tool runner link
Aug 19, 2025
8bf22db
chore(logs): update CURRENT_TASK after opening PR #10
Aug 19, 2025
1c45ed8
docs(checklists): record OPEN PRs #09 tools manifest and #10 tool run…
Aug 19, 2025
2282575
chore(checklist): record PR #10 (get_time) link in checklist and chan…
Aug 19, 2025
b35dc5e
chore(checklist): record PR #12 quickstart in checklist and changelog
Aug 19, 2025
c34f3c1
docs(checklist,changelog): record opened PRs for exec and fs_read_file
Aug 19, 2025
639c472
docs(checklist,changelog): add PR references for fs_* tools
Aug 19, 2025
43778da
docs(checklist): note prepared clean workspace at ./work/main for fea…
Aug 19, 2025
9d12211
docs(checklist): record new PR #20 for fs_mkdirp on develop
Aug 19, 2025
e7710ae
docs(checklist): record new PR #21 for fs_stat on develop
Aug 19, 2025
5262371
docs(changelog): record opened PRs #20 (fs_mkdirp) and #21 (fs_stat) …
Aug 19, 2025
f61b855
docs(checklist): mark PR #07 tool runner BLOCKED pending manifest typ…
Aug 19, 2025
a023f5b
chore(logs): update CURRENT_TASK after blocking pr/07; focus pr/06 ma…
Aug 19, 2025
00a8979
docs(checklist,changelog): record new OPEN PRs for fs_edit_range (#22…
Aug 19, 2025
93bfdaa
docs(checklist,changelog): record new OPEN PR for img_create (#26) on…
Aug 19, 2025
a689c35
docs(checklist,changelog): record new OPEN PR for http_fetch (#27) on…
Aug 19, 2025
02073ab
docs(checklist,changelog): record new OPEN PR for robots_check (#28) …
Aug 19, 2025
5d9e597
docs(checklist,changelog): record new OPEN PR for readability_extract…
Aug 19, 2025
16a6d96
docs(checklist,changelog): record new OPEN PR for metadata_extract (#…
Aug 19, 2025
33af332
docs(checklist,changelog): record new OPEN PR for rss_fetch (#31) on …
Aug 19, 2025
dabe3ed
docs(checklist,changelog): record new OPEN PR for wayback_lookup (#32…
Aug 19, 2025
062348f
docs(checklist,changelog): record new OPEN PRs (#33-#40) on develop only
Aug 19, 2025
370180d
chore(checklist,changelog): record PR #42 for scripts and CI utilitie…
Aug 19, 2025
d4ce54c
docs(chore): track PR #43 in FEATURE_CHECKLIST and CHANGELOG; update …
Aug 19, 2025
8440095
chore: update checklist with open PR links (scripts, Makefile, securi…
Aug 19, 2025
f4184ee
chore: record ADR-0002 PR link in checklist
Aug 19, 2025
417e7ab
chore(checklist): track integration tests PR and set current task
Aug 19, 2025
9ef45b7
docs(checklist): track ADR-0011/0012 PRs
Aug 19, 2025
eefcb96
docs(checklists): record ADR-0011 PR as OPEN (#48) on develop only
Aug 19, 2025
a366660
docs(checklists): record ADR-0012 PR as OPEN (#49) on develop only
Aug 19, 2025
0289092
docs(checklist): mark core tests slice BLOCKED; record next action
Aug 19, 2025
17cd9a3
docs(checklist): record OPEN PR #50 for state schema slice (develop-o…
Aug 19, 2025
4e379ab
docs(changelog): record OPEN PR #50 for state schema slice (develop-o…
Aug 19, 2025
06da2ce
docs(admin): record OPEN PRs #50 (schema) and #51 (save/load) in chec…
Aug 19, 2025
5c88cda
chore(tasks): refresh PR inventory note in checklist only
Aug 19, 2025
0ab3e0f
chore(tasks): link existing diagrams PR in checklist
Aug 19, 2025
8e0296e
docs(checklist): maintenance note — verified open PRs and refreshed c…
Aug 19, 2025
527d951
chore: update feature checklist after PR inventory and work/main sync
Aug 19, 2025
4d785fa
docs(checklist,changelog): record OPEN PR #52 Sandbox limits utilitie…
Aug 19, 2025
6547139
chore(tasks): refresh PR inventory; reset ./work/main to origin/main …
Aug 19, 2025
50b995f
chore(tasks): refresh PR inventory; re-sync ./work/main to origin/mai…
Aug 19, 2025
ea95a92
docs: update FEATURE_CHECKLIST with refreshed PR inventory and synced…
Aug 19, 2025
b438e1c
chore(tasks): refresh PR inventory; log idle status (develop-only admin)
Aug 19, 2025
00d41ad
chore(task): update FEATURE_CHECKLIST with docs-cli-reference branch …
Aug 19, 2025
459d821
chore(tasks): record OPEN PR #55 (CLI reference) on develop-only admi…
Aug 19, 2025
7281c6c
docs(tasks): CURRENT_TASK — opened PR #55; preparing next docs-only s…
Aug 19, 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
1 change: 1 addition & 0 deletions .cursor/rules
Submodule rules added at 2bbe13
13 changes: 13 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true

[*.go]
indent_style = tab

[*.{md,yml,yaml}]
indent_style = space
indent_size = 2
7 changes: 7 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Normalize text files and enforce LF where required
* text=auto

# Always use LF line endings for source/docs/scripts that are sensitive to EOLs
*.go text eol=lf
*.md text eol=lf
*.sh text eol=lf
109 changes: 109 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
name: CI

on:
push:
branches: [ develop, main, master ]
pull_request:
branches: [ '**' ]

permissions:
contents: read

jobs:
build:
name: ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: true

- name: Print Go version
run: go version

- name: Install ripgrep (Linux)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y ripgrep

- name: Install ripgrep (macOS)
if: runner.os == 'macOS'
run: |
brew update
brew install ripgrep

- name: Install make and ripgrep (Windows)
if: runner.os == 'Windows'
shell: bash
run: |
choco install -y make ripgrep
echo "make version:"; make --version || true
echo "rg version:"; rg --version || true

- name: Print Go env
run: go env

- name: Tidy
shell: bash
run: make tidy

- name: lint (includes check-go-version)
shell: bash
run: |
set -o pipefail
make lint 2>&1 | tee lint.log

- name: Assert lint order (check-go-version before golangci-lint)
shell: bash
run: |
test -f lint.log || { echo "lint.log missing"; exit 1; }
L_CHECK=$(rg -n "^check-go-version: OK" -N lint.log | head -1 | cut -d: -f1)
L_GCL=$(rg -n "^golangci-lint version" -N lint.log | head -1 | cut -d: -f1)
if [ -z "$L_CHECK" ]; then echo "Missing 'check-go-version: OK' line in lint.log"; exit 1; fi
if [ -z "$L_GCL" ]; then echo "Missing 'golangci-lint version' line in lint.log"; exit 1; fi
if [ "$L_CHECK" -ge "$L_GCL" ]; then
echo "Ordering incorrect: 'check-go-version: OK' occurs at line $L_CHECK, after golangci-lint version at line $L_GCL"; exit 1;
fi
echo "Lint order OK: check-go-version runs before golangci-lint"

- name: Upload lint.log artifact
uses: actions/upload-artifact@v4
with:
name: lint-${{ matrix.os }}
path: lint.log
if-no-files-found: error

- name: Tools path hygiene
shell: bash
run: make check-tools-paths

- name: Verify tools manifest commands
shell: bash
run: make verify-manifest-paths

- name: Test
shell: bash
run: make test

- name: Test clean-logs guard
shell: bash
run: make test-clean-logs

- name: Build
shell: bash
run: make build

- name: Build tools
shell: bash
run: make build-tools
31 changes: 31 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
agentcli
agentcli.exe
bin/
logs/

.goagent
*.log

# Ignore built tool binaries only; keep sources tracked
tools/bin/**

# Test reports and coverage artifacts
# Keep the working tree clean after local test runs
reports/
tests/
coverage.out
*.coverprofile
coverage.html
lint.err
lint_verify.err

# Common local artifacts
dist/
.DS_Store
go.work
.idea/
.vscode/
# Editor swap files
*.swp

work/
6 changes: 6 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[submodule ".cursor/rules"]
path = .cursor/rules
url = [email protected]:hyperifyio/go-cursor-rules.git
[submodule "scripts"]
path = scripts
url = [email protected]:hyperifyio/go-scripts.git
27 changes: 27 additions & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
run:
timeout: 5m
issues-exit-code: 1
tests: true

linters:
enable:
- govet
- gofmt
- errcheck
- staticcheck
- gocyclo
- gosimple

linters-settings:
gocyclo:
min-complexity: 20
gofmt:
simplify: true
errcheck:
check-type-assertions: true
check-blank: true

issues:
exclude-use-default: false
max-issues-per-linter: 0
max-same-issues: 0
487 changes: 487 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
## Code of Conduct

We are committed to a welcoming and inclusive community. All participants are expected to be respectful and professional.

- Be kind and constructive. Assume good intent.
- No harassment, discrimination, or exclusionary behavior.
- Use inclusive language. Respect different backgrounds and experiences.
- Provide actionable, empathetic feedback in reviews and discussions.

If you experience or witness unacceptable behavior, please report it by opening a confidential issue or contacting the maintainers via the repository's security or contact channels.

Consequences for unacceptable behavior may include temporary or permanent bans from participation at the maintainers' discretion.
57 changes: 57 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
## Contributing to goagent

Thank you for your interest in improving `goagent`! Contributions are welcome.

### Ways to contribute
- Report bugs and request features via the issue tracker
- Improve documentation and examples
- Submit pull requests for fixes and enhancements

### Development setup
- Prerequisites: Go 1.24+, `ripgrep` (rg), `golangci-lint`
- Recommended commands from a clean clone:
```bash
make tidy build build-tools
make test
make lint
```

### Workflow
1. Fork the repository and create a feature branch from `develop`
2. Write tests first (unit/integration). Keep tests deterministic and offline
3. Implement the smallest change to make tests pass; keep code clear and readable
4. Run quality gates locally:
```bash
make test
make lint
```
5. Open a pull request that:
- Explains the intent and links to the canonical GitHub issue
- Describes user-facing changes and risks
- Updates docs as needed

### Coding standards
- Go formatting: run `gofmt -s` (enforced by `make lint`)
- Linting: `golangci-lint run` (invoked by `make lint`)
- Avoid deep nesting; prefer early returns and clear error handling
- Add tests for all changed behaviors; maintain or improve coverage

### Tools layout conventions
- Tool sources live under `tools/cmd/NAME/*.go`
- Tool binaries are built to `tools/bin/NAME` (or `NAME.exe` on Windows)
- Use `make build-tools` or `make build-tool NAME=<name>` to build
- Validate paths and manifests locally:
```bash
make check-tools-paths
make verify-manifest-paths
```

### Commit messages
- Keep the subject concise; focus on the why, not just the what
- Reference the issue with a full URL in either the PR description or commit body

### Code of Conduct
By participating, you agree to abide by the project Code of Conduct. See `CODE_OF_CONDUCT.md`.

### Getting help
If you are blocked while contributing, open a draft PR or an issue with details. We'll help you move forward.
Loading
Loading