Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
541 commits
Select commit Hold shift + click to select a range
627e603
chore(security): gofmt trace.go
Benkapner Jun 22, 2026
90bb6a5
Merge pull request #2010 from Benkapner/docs/audit-log-integrity
ralphbean Jun 22, 2026
0fb80c9
Merge pull request #2010 from Benkapner/docs/audit-log-integrity
ralphbean Jun 22, 2026
c7f580d
feat(eval): add functional test framework with harness hooks
ralphbean Jun 4, 2026
1da7261
feat(eval): add functional test framework with harness hooks
ralphbean Jun 4, 2026
5cd97bb
fix(eval): address review findings on threshold checks and shellcheck
ralphbean Jun 4, 2026
b439f6f
fix(eval): address review findings on threshold checks and shellcheck
ralphbean Jun 4, 2026
77e064f
fix(eval): install agent-eval-harness from submodule instead of git URL
ralphbean Jun 5, 2026
75420e8
fix(eval): install agent-eval-harness from submodule instead of git URL
ralphbean Jun 5, 2026
551bdff
refactor(eval): move behavioral thresholds into harness judges
ralphbean Jun 5, 2026
c1d7719
refactor(eval): move behavioral thresholds into harness judges
ralphbean Jun 5, 2026
8ecd8c6
fix(eval): lint-cases checks for required judges in eval.yaml
ralphbean Jun 5, 2026
ebc0e8b
fix(eval): lint-cases checks for required judges in eval.yaml
ralphbean Jun 5, 2026
6cb8220
fix(eval): write metrics.json to correct output path
ralphbean Jun 5, 2026
8d4d559
fix(eval): write metrics.json to correct output path
ralphbean Jun 5, 2026
9041b54
fix(eval): raise max_turns threshold to 30 for triage case
ralphbean Jun 5, 2026
8129761
fix(eval): raise max_turns threshold to 30 for triage case
ralphbean Jun 5, 2026
7ce1d35
feat(eval): add needs-info, feature-request, and duplicate test cases
ralphbean Jun 5, 2026
cfa2270
feat(eval): add needs-info, feature-request, and duplicate test cases
ralphbean Jun 5, 2026
d346678
perf(eval): run triage cases in parallel (parallelism: 4)
ralphbean Jun 5, 2026
c958216
perf(eval): run triage cases in parallel (parallelism: 4)
ralphbean Jun 5, 2026
32dfd39
fix(eval): renumber ADRs 0044/0045 to 0046/0047 to avoid collision
ralphbean Jun 11, 2026
0f9bf77
fix(eval): renumber ADRs 0044/0045 to 0046/0047 to avoid collision
ralphbean Jun 11, 2026
bced358
fix(docs): renumber ADR 0046 to 0048 to resolve collision
ralphbean Jun 15, 2026
d32c417
fix(docs): renumber ADR 0046 to 0048 to resolve collision
ralphbean Jun 15, 2026
3e5e578
chore: fix gofmt in claude_progress.go
ralphbean Jun 15, 2026
a1dfdc2
chore: fix gofmt in claude_progress.go
ralphbean Jun 15, 2026
205d9cd
fix(eval): address review feedback from waynesun09
ralphbean Jun 15, 2026
b38ed55
fix(eval): address review feedback from waynesun09
ralphbean Jun 15, 2026
8299019
fix(docs): renumber ADRs 0047/0048 to 0051/0052 to avoid collision
ralphbean Jun 22, 2026
722af5c
fix(docs): renumber ADRs 0047/0048 to 0051/0052 to avoid collision
ralphbean Jun 22, 2026
2893fcc
Merge pull request #1682 from fullsend-ai/ci/functional-evals
ralphbean Jun 22, 2026
e66df00
Merge pull request #1682 from fullsend-ai/ci/functional-evals
ralphbean Jun 22, 2026
1facad7
ci: add per-script timing to script-test target
ralphbean Jun 22, 2026
73d644c
fix: disable CSMA spread delay in post-prioritize tests
ralphbean Jun 22, 2026
b45bf1a
fix(#2345): resolve TARGET_BRANCH dynamically in code agent
Marcusk19 Jun 16, 2026
7bc5e6c
fix(#2345): resolve TARGET_BRANCH dynamically in code agent
Marcusk19 Jun 16, 2026
d77c7bb
docs(#2345): add ADR 0047 for agent-driven branch targeting
Marcusk19 Jun 17, 2026
355afa8
docs(#2345): add ADR 0047 for agent-driven branch targeting
Marcusk19 Jun 17, 2026
d88167c
feat(#2345): wire up structured output and branch policy in code harness
Marcusk19 Jun 17, 2026
023b9cd
feat(#2345): wire up structured output and branch policy in code harness
Marcusk19 Jun 17, 2026
2fe5903
feat(#2345): add code-result.schema.json for agent branch targeting
Marcusk19 Jun 17, 2026
4e1e7a6
feat(#2345): add code-result.schema.json for agent branch targeting
Marcusk19 Jun 17, 2026
6deffb7
feat(#2345): add agent-driven branch resolution to post-code.sh
Marcusk19 Jun 17, 2026
ed7980c
feat(#2345): add agent-driven branch resolution to post-code.sh
Marcusk19 Jun 17, 2026
17349d2
refactor(#2345): remove hardcoded TARGET_BRANCH from code workflow
Marcusk19 Jun 17, 2026
70c1caf
refactor(#2345): remove hardcoded TARGET_BRANCH from code workflow
Marcusk19 Jun 17, 2026
cdaafaf
docs(#2345): instruct code agent to write target branch to structured…
Marcusk19 Jun 17, 2026
de85fea
docs(#2345): instruct code agent to write target branch to structured…
Marcusk19 Jun 17, 2026
9998660
fix(#2345): address PR review feedback
Marcusk19 Jun 18, 2026
2a9c398
fix(#2345): address PR review feedback
Marcusk19 Jun 18, 2026
5369932
fix(#2345): address second round of review feedback
Marcusk19 Jun 22, 2026
32f7efd
fix(#2345): address second round of review feedback
Marcusk19 Jun 22, 2026
5e891a3
fix(#2345): renumber ADR 0051 → 0052 (collision in merge queue)
Marcusk19 Jun 22, 2026
60b3ab8
fix(#2345): renumber ADR 0051 → 0052 (collision in merge queue)
Marcusk19 Jun 22, 2026
5d88516
fix(#2345): renumber ADR 0052 → 0053 (0051-0052 merged upstream)
Marcusk19 Jun 22, 2026
e6ecc12
fix(#2345): renumber ADR 0052 → 0053 (0051-0052 merged upstream)
Marcusk19 Jun 22, 2026
b2e30d1
fix(#1835): require file reads before asserting contents in findings
fullsend-ai-coder[bot] Jun 18, 2026
aa87bfa
fix(#1835): require file reads before asserting contents in findings
fullsend-ai-coder[bot] Jun 18, 2026
b4da33d
feat(admin): add ESLint, Prettier, and Stylelint configuration
waynesun09 May 3, 2026
23ed3eb
feat(admin): add ESLint, Prettier, and Stylelint configuration
waynesun09 May 3, 2026
96fbec0
fix(#1835): add cross-file verification to security sub-agent
fullsend-ai-coder[bot] Jun 22, 2026
f610c77
fix(#1835): add cross-file verification to security sub-agent
fullsend-ai-coder[bot] Jun 22, 2026
65056b7
ci: retrigger checks after merge queue dequeue
ralphbean Jun 22, 2026
22fe71f
ci: retrigger checks after merge queue dequeue
ralphbean Jun 22, 2026
687a24b
refactor(config): remove OrgConfig.Agents field entirely (ADR-0045 Ph…
ggallen Jun 22, 2026
b76d35d
refactor(config): remove OrgConfig.Agents field entirely (ADR-0045 Ph…
ggallen Jun 22, 2026
0ac7318
Merge pull request #2346 from Marcusk19/fix/dynamic-target-branch
ralphbean Jun 22, 2026
f8e0bcc
Merge pull request #2346 from Marcusk19/fix/dynamic-target-branch
ralphbean Jun 22, 2026
825b326
Merge pull request #2443 from fullsend-ai/agent/1835-verify-file-cont…
ben-alkov Jun 22, 2026
2c06f1e
Merge pull request #2443 from fullsend-ai/agent/1835-verify-file-cont…
ben-alkov Jun 22, 2026
c90a2cb
fix: sync functional tests openshell version with shared pin
ralphbean Jun 22, 2026
de1c02e
fix: sync functional tests openshell version with shared pin
ralphbean Jun 22, 2026
09cf796
feat(harness): fetch scripts from URL-referenced base harnesses (ADR-…
ggallen Jun 22, 2026
23a44bf
feat(harness): fetch scripts from URL-referenced base harnesses (ADR-…
ggallen Jun 22, 2026
68f3aa8
chore(ci): pin all GitHub Actions to full-length commit SHAs
ralphbean Jun 22, 2026
31b16dd
chore(ci): pin all GitHub Actions to full-length commit SHAs
ralphbean Jun 22, 2026
c7bee5c
chore(ci): align action versions across workflows
ralphbean Jun 22, 2026
216182b
chore(ci): align action versions across workflows
ralphbean Jun 22, 2026
170e224
chore(ci): pin functional-tests.yml actions and fix pinact/renovate c…
ralphbean Jun 22, 2026
0b6dea8
chore(ci): pin functional-tests.yml actions and fix pinact/renovate c…
ralphbean Jun 22, 2026
a7733a0
fix: drop hardcoded supervisor image override
ralphbean Jun 22, 2026
4a92735
fix: drop hardcoded supervisor image override
ralphbean Jun 22, 2026
52ebc5a
Merge pull request #2525 from ggallen/worktree-adr-0038-base-scripts
ggallen Jun 22, 2026
5d51fbc
Merge pull request #2525 from ggallen/worktree-adr-0038-base-scripts
ggallen Jun 22, 2026
ab4c9ac
Merge pull request #2517 from ggallen/worktree-adr-0045-phase4-pr4
ggallen Jun 22, 2026
a2797a6
Merge pull request #2517 from ggallen/worktree-adr-0045-phase4-pr4
ggallen Jun 22, 2026
d8552d2
fix: align functional tests openshell setup with action.yml
ralphbean Jun 22, 2026
04b43ac
fix: align functional tests openshell setup with action.yml
ralphbean Jun 22, 2026
7037abc
docs: add autonomy-readiness skill design spec
ralphbean Jun 22, 2026
e7f80f2
fix: quote $HOME and simplify heredoc to satisfy actionlint
ralphbean Jun 22, 2026
f300b6b
fix: quote $HOME and simplify heredoc to satisfy actionlint
ralphbean Jun 22, 2026
aec2035
docs: add autonomy-readiness skill implementation plan
ralphbean Jun 22, 2026
c56f7ac
ci(functional-tests): use pull_request_target for fork PR support
ralphbean Jun 22, 2026
e1f305b
ci(functional-tests): use pull_request_target for fork PR support
ralphbean Jun 22, 2026
da23233
ci(functional-tests): address PR review feedback
ralphbean Jun 22, 2026
470372d
ci(functional-tests): address PR review feedback
ralphbean Jun 22, 2026
9fb5644
feat(skill): add autonomy-readiness skill
ralphbean Jun 22, 2026
0189478
fix(skill): add Constraints section to autonomy-readiness
ralphbean Jun 22, 2026
d12fb1b
feat(retro): wire autonomy-readiness skill into harness
ralphbean Jun 22, 2026
8d08c1d
feat(retro): add autonomy readiness as optimization goal
ralphbean Jun 22, 2026
6c39bfa
feat(retro): list autonomy-readiness in agent frontmatter
ralphbean Jun 22, 2026
0cbc959
test: add autonomy-readiness skill to scaffold file checks
ralphbean Jun 22, 2026
ba16739
fix(skill): address review feedback on autonomy-readiness
ralphbean Jun 22, 2026
2219a4f
feat(install): default to PR-based scaffold delivery
waynesun09 Jun 22, 2026
0eed82e
feat(install): default to PR-based scaffold delivery
waynesun09 Jun 22, 2026
1a1cc28
feat(cli): add --direct flag to admin install and github setup
waynesun09 Jun 22, 2026
6f7be9d
feat(cli): add --direct flag to admin install and github setup
waynesun09 Jun 22, 2026
c69dc63
test(scaffold): tighten reusable-dispatch routing regexes
ifireball Jun 23, 2026
161198d
test(scaffold): tighten reusable-dispatch routing regexes
ifireball Jun 23, 2026
ed1d99e
Merge branch 'main' into refactor/drop-issue-review-fix-triggers
ifireball Jun 23, 2026
c3fc48d
Merge branch 'main' into refactor/drop-issue-review-fix-triggers
ifireball Jun 23, 2026
0c06adc
test(scaffold): rename to TestReusableDispatchWorkflowContent
ifireball Jun 23, 2026
bd850dc
test(scaffold): rename to TestReusableDispatchWorkflowContent
ifireball Jun 23, 2026
f2c450e
Merge pull request #2473 from ifireball/refactor/drop-issue-review-fi…
ifireball Jun 23, 2026
4a1203f
Merge pull request #2473 from ifireball/refactor/drop-issue-review-fi…
ifireball Jun 23, 2026
12ca020
Merge pull request #2421 from fullsend-ai/fix/2420-automate-v0-tag
rh-hemartin Jun 23, 2026
0ca2613
Merge pull request #2421 from fullsend-ai/fix/2420-automate-v0-tag
rh-hemartin Jun 23, 2026
06390ea
Merge upstream/main (includes #2473 review concurrency fix)
ifireball Jun 23, 2026
bcbc6d8
Merge pull request #2480 from fullsend-ai/hemartin/renovate-github-app
rh-hemartin Jun 23, 2026
d8f7b5d
Merge pull request #2480 from fullsend-ai/hemartin/renovate-github-app
rh-hemartin Jun 23, 2026
f87b72c
Merge pull request #2535 from fullsend-ai/fix/openshell-version-sync
ralphbean Jun 23, 2026
468dce4
Merge pull request #2535 from fullsend-ai/fix/openshell-version-sync
ralphbean Jun 23, 2026
277e2b4
feat(cli): mint agent tokens in the binary instead of workflows
ggallen Jun 23, 2026
bce1402
Merge branch 'main' into fix-functional-tests-fork-support
ralphbean Jun 23, 2026
53ab724
Merge branch 'main' into fix-functional-tests-fork-support
ralphbean Jun 23, 2026
6868253
Merge pull request #2534 from fullsend-ai/fix-functional-tests-fork-s…
ralphbean Jun 23, 2026
14cc917
Merge pull request #2534 from fullsend-ai/fix-functional-tests-fork-s…
ralphbean Jun 23, 2026
0ea1999
test(install): update tests for PR-based scaffold default
waynesun09 Jun 22, 2026
3e6efc9
test(install): update tests for PR-based scaffold default
waynesun09 Jun 22, 2026
a40a79b
chore(admin): format and lint existing admin SPA code
waynesun09 May 3, 2026
042ab0c
chore(admin): format and lint existing admin SPA code
waynesun09 May 3, 2026
058d20d
fix(admin): address review findings in lint config
waynesun09 May 3, 2026
bb9e7cf
fix(admin): address review findings in lint config
waynesun09 May 3, 2026
3a6fd22
feat: add lint-staged pre-commit hook for web apps
waynesun09 May 3, 2026
a7aba78
feat: add lint-staged pre-commit hook for web apps
waynesun09 May 3, 2026
47d5adb
fix(admin): resolve ESLint errors and Stylelint deprecations
waynesun09 May 6, 2026
9156e5e
fix(admin): resolve ESLint errors and Stylelint deprecations
waynesun09 May 6, 2026
c904dfd
fix(admin): remove dead _scanComplete reactive state from OrgList
waynesun09 May 6, 2026
f8aff99
fix(admin): remove dead _scanComplete reactive state from OrgList
waynesun09 May 6, 2026
368c4dc
fix: remove unused dep and scope browser globals
waynesun09 Jun 22, 2026
758ce3e
fix: remove unused dep and scope browser globals
waynesun09 Jun 22, 2026
ff20816
Merge pull request #2533 from fullsend-ai/feat-default-pr-install
waynesun09 Jun 23, 2026
ce6c786
Merge pull request #2533 from fullsend-ai/feat-default-pr-install
waynesun09 Jun 23, 2026
71f2b8b
Merge branch 'main' into pin-actions-to-sha
ralphbean Jun 23, 2026
392be78
Merge branch 'main' into pin-actions-to-sha
ralphbean Jun 23, 2026
0818386
docs(#1662): ADR 0043 — require authorization on all slash commands
May 29, 2026
8591434
docs: revise ADR 0043 to gate all dispatch paths universally
ascerra May 29, 2026
356a070
feat(dispatch): gate all dispatch paths with is_authorized
ascerra Jun 16, 2026
e75b17e
fix(docs): renumber ADR 0043 → 0049 to avoid collision
ascerra Jun 16, 2026
09b3089
fix(dispatch): gate issues.opened in reusable-dispatch + add auth docs
ascerra Jun 17, 2026
b27d5a2
fix(docs): correct bot-bypass mechanism + add ADR 0049 to architecture
ascerra Jun 17, 2026
ed8d066
fix(docs): correct bot-bypass language in consequences and workflow g…
ascerra Jun 17, 2026
97b92b6
fix(docs): qualify auto-trigger statements + add auth to all agent docs
ascerra Jun 18, 2026
1410e3c
fix(docs): renumber ADR 0049 → 0050 to avoid collision
ascerra Jun 18, 2026
d8d2aa5
fix(docs): renumber ADR 0050 → 0051 to avoid collision
ascerra Jun 18, 2026
4fb4916
fix(dispatch): ungate issues.opened/edited for auto-triage
ascerra Jun 18, 2026
aabb8f2
Merge pull request #625 from fullsend-ai/add-frontend-linting
waynesun09 Jun 23, 2026
170c1f0
Merge pull request #625 from fullsend-ai/add-frontend-linting
waynesun09 Jun 23, 2026
01060b6
chore: update fullsend shim workflow
fullsend-ai-fullsend[bot] Jun 23, 2026
16d388a
chore: update fullsend shim workflow
fullsend-ai-fullsend[bot] Jun 23, 2026
6a8b38d
Merge pull request #2573 from fullsend-ai/fullsend/onboard
ralphbean Jun 23, 2026
21cc2c2
Merge pull request #2573 from fullsend-ai/fullsend/onboard
ralphbean Jun 23, 2026
b2ea498
fix(deps): restore toml-eslint-parser removed by 758ce3e4
waynesun09 Jun 23, 2026
6fa766e
fix(deps): restore toml-eslint-parser removed by 758ce3e4
waynesun09 Jun 23, 2026
6727792
fix(install): skip enrollment dispatch when scaffold delivered via PR
waynesun09 Jun 23, 2026
20c11e6
Merge pull request #2508 from fullsend-ai/pin-actions-to-sha
ralphbean Jun 23, 2026
3fab76a
Merge pull request #2508 from fullsend-ai/pin-actions-to-sha
ralphbean Jun 23, 2026
51ee5f7
fix(#1230): run OutputPipeline on post-review before posting to forge
fullsend-ai-coder[bot] Jun 18, 2026
0defec4
fix(#1230): run OutputPipeline on post-review before posting to forge
fullsend-ai-coder[bot] Jun 18, 2026
645d883
fix(#1230): sanitize severity/category fields and fix misleading log …
fullsend-ai-coder[bot] Jun 22, 2026
52d9898
fix(#1230): sanitize severity/category fields and fix misleading log …
fullsend-ai-coder[bot] Jun 22, 2026
13d82c0
fix: log per-finding details after body sanitization summary
fullsend-ai-coder[bot] Jun 22, 2026
5dc2d8f
fix: log per-finding details after body sanitization summary
fullsend-ai-coder[bot] Jun 22, 2026
5d6928e
Merge pull request #2444 from fullsend-ai/agent/1230-sanitize-post-re…
ben-alkov Jun 23, 2026
76d7cd6
Merge pull request #2444 from fullsend-ai/agent/1230-sanitize-post-re…
ben-alkov Jun 23, 2026
0ae170f
Merge remote-tracking branch 'origin/main' into docs/mcp-config-drift
Benkapner Jun 24, 2026
1b361f6
Merge remote-tracking branch 'origin/main' into docs/mcp-config-drift
Benkapner Jun 24, 2026
623c7f0
Merge pull request #2011 from Benkapner/docs/mcp-config-drift
rh-hemartin Jun 24, 2026
b72eb4d
Merge pull request #2011 from Benkapner/docs/mcp-config-drift
rh-hemartin Jun 24, 2026
ce549c1
fix(#2591): add Signed-off-by trailer to scaffold PR commits
fullsend-ai-coder[bot] Jun 24, 2026
469affc
fix(#2591): add Signed-off-by trailer to scaffold PR commits
fullsend-ai-coder[bot] Jun 24, 2026
9d7c2b9
fix: scope ErrNotFound wrapping in GetAuthenticatedUserIdentity
fullsend-ai-coder[bot] Jun 24, 2026
45803b4
fix: scope ErrNotFound wrapping in GetAuthenticatedUserIdentity
fullsend-ai-coder[bot] Jun 24, 2026
811d99a
Merge pull request #2595 from fullsend-ai/agent/2591-scaffold-signoff
ifireball Jun 24, 2026
1e86875
Merge pull request #2595 from fullsend-ai/agent/2591-scaffold-signoff
ifireball Jun 24, 2026
d726889
Merge pull request #2576 from fullsend-ai/fix-toml-dep
ifireball Jun 24, 2026
2ab79ec
Merge pull request #2576 from fullsend-ai/fix-toml-dep
ifireball Jun 24, 2026
fa4bb7d
chore(ci): add pinact pre-commit hook to enforce SHA-pinned actions
ralphbean Jun 22, 2026
ebdef91
chore(ci): add pinact pre-commit hook to enforce SHA-pinned actions
ralphbean Jun 22, 2026
44e9d2f
fix(ci): pin actions in renovate.yml to commit SHAs
ralphbean Jun 23, 2026
5aefa4f
fix(ci): pin actions in renovate.yml to commit SHAs
ralphbean Jun 23, 2026
8ac66b4
fix(ci): add pinact to bootstrap and cover .github/actions/ in hook
ralphbean Jun 24, 2026
75b0606
fix(ci): add pinact to bootstrap and cover .github/actions/ in hook
ralphbean Jun 24, 2026
5d8d1ef
fix(dispatch): restore is_event_actor_authorized gate on issues.opene…
ascerra Jun 22, 2026
1295e02
fix(dispatch): use collaborator permission API instead of author_asso…
ascerra Jun 22, 2026
cc3d11b
fix(dispatch): unify is_authorized to use collaborator permission API
ascerra Jun 22, 2026
74b026b
fix(test): update scaffold test for permission API authorization
ascerra Jun 22, 2026
83201b1
fix(docs): revert accidental ADR 0050 renumber in architecture.md
ascerra Jun 22, 2026
ee49c71
fix(dispatch): address review findings on has_write_permission
ascerra Jun 22, 2026
26f1a31
fix(dispatch): address review findings and renumber ADR to 0054
ascerra Jun 23, 2026
05d5df7
fix(dispatch): add ISSUE_IS_PR guard to /fs-review in reusable-dispatch
ascerra Jun 23, 2026
009298a
fix(dispatch): address waynesun09 review findings
ascerra Jun 23, 2026
a2628e1
docs(ADR): fix issues.edited actor description in event triggers table
ascerra Jun 23, 2026
b4ffe64
Merge pull request #2509 from fullsend-ai/chore/pinact-precommit-hook
ralphbean Jun 24, 2026
249e0a0
Merge pull request #2509 from fullsend-ai/chore/pinact-precommit-hook
ralphbean Jun 24, 2026
4b08f2a
Merge upstream/main
ifireball Jun 24, 2026
a3bbc22
fix(workflows): add PR fallback to triage/code/prioritize concurrency
ifireball Jun 24, 2026
048f53d
fix(ci): propagate test exit code in run-timed macro
ralphbean Jun 24, 2026
44db33d
docs: document GCP project for hosted mint
ifireball Jun 21, 2026
762929b
Merge pull request #2464 from ifireball/cursor/document-hosted-mint-g…
ifireball Jun 24, 2026
c577cc7
Merge pull request #2530 from fullsend-ai/ci/script-test-timing
ralphbean Jun 24, 2026
a68755b
Merge pull request #1688 from fullsend-ai/agent/1662-adr-auth-slash-c…
ascerra Jun 24, 2026
9c3f8ee
Merge pull request #2389 from fullsend-ai/worktree-mint-in-binary
waynesun09 Jun 24, 2026
f35c753
Merge upstream/main into fix/981-per-repo-concurrency
ifireball Jun 24, 2026
8525f63
Merge pull request #2465 from ifireball/fix/981-per-repo-concurrency
ifireball Jun 24, 2026
8ef0718
fix(harness): resolve URL base scripts relative to scaffold root
ralphbean Jun 24, 2026
91c43bb
test(e2e): exercise default PR-based scaffold install flow
waynesun09 Jun 23, 2026
228b9e5
feat(scaffold): auto-detect and install pre-commit tool dependencies
waynesun09 Jun 18, 2026
b5c0114
Merge pull request #2567 from fullsend-ai/e2e-pr-flow-install
waynesun09 Jun 24, 2026
d59366d
Merge pull request #2613 from fullsend-ai/fix/url-base-script-resolution
ralphbean Jun 24, 2026
c9e69f8
Merge pull request #2539 from fullsend-ai/rbean/autonomy-readiness-skill
ralphbean Jun 24, 2026
2080045
Merge pull request #2531 from fullsend-ai/fix/post-prioritize-test-speed
ralphbean Jun 24, 2026
39a55a5
feat(scaffold): pin workflow refs to release commit SHA
waynesun09 Jun 24, 2026
136c662
Merge branch 'main' into fix/commit-lint-pr-commits
ralphbean Jun 24, 2026
abf8a4c
Merge pull request #2514 from fullsend-ai/fix/commit-lint-pr-commits
ralphbean Jun 24, 2026
45d230d
fix(ci): skip e2e/functional tests in merge queue when paths are irre…
ralphbean Jun 24, 2026
044167d
fix(ci): pin third-party actions in root action.yml to full-length co…
waynesun09 Jun 24, 2026
fcc8f32
Merge pull request #2615 from fullsend-ai/feat-1933-pin-scaffold-sha
waynesun09 Jun 24, 2026
10b62b5
Merge pull request #2621 from fullsend-ai/fix-pin-root-action-yml
ralphbean Jun 24, 2026
c0e4c98
fix(ci): use GitHub PR titles for release notes instead of raw commits
ralphbean Jun 24, 2026
f051dbd
fix(scaffold): use __FULLSEND_AI_REF__ for mint-token action refs
waynesun09 Jun 24, 2026
9252946
fix(#2632): use SKILL.md frontmatter name for remote skill display
fullsend-ai-coder[bot] Jun 24, 2026
885e295
fix(ci): fail open when compare API may truncate file list
ralphbean Jun 24, 2026
77294c7
fix(ci): include root action.yml in pinact and pre-commit checks
ralphbean Jun 24, 2026
52f61ba
fix(ci): extend pinact patterns to cover .yaml workflow extensions
ralphbean Jun 24, 2026
36d9a48
Merge pull request #2633 from fullsend-ai/agent/2632-skill-display-name
ralphbean Jun 24, 2026
2886c4a
Merge pull request #2622 from fullsend-ai/fix/pinact-cover-root-actio…
ralphbean Jun 24, 2026
9111c9c
fix(scaffold): update tests for mint-token __FULLSEND_AI_REF__ change
waynesun09 Jun 24, 2026
db7892b
Merge pull request #2628 from fullsend-ai/fix-pin-mint-token-scaffold
waynesun09 Jun 24, 2026
f319601
feat(renovate): enable automerge for low-risk PRs
rh-hemartin Jun 23, 2026
5b6d704
Merge pull request #2546 from fullsend-ai/feat/2506-renovate-automerge
rh-hemartin Jun 25, 2026
db0772f
ci(sandbox): add macOS runner for darwin-specific tar behavior test
rh-hemartin Jun 9, 2026
bd8a21e
Merge pull request #2063 from fullsend-ai/fix/macos-files-test
rh-hemartin Jun 25, 2026
397e330
Merge pull request #1055 from fullsend-ai/auto-precommit-tools
waynesun09 Jun 25, 2026
780abad
Merge pull request #2627 from fullsend-ai/fix/goreleaser-pr-based-cha…
ralphbean Jun 25, 2026
f502487
Merge pull request #2617 from fullsend-ai/fix/merge-queue-path-filter
ralphbean Jun 25, 2026
03ab339
docs(adr): add ADR 0056 for per-repo pre-commit tools registry
waynesun09 Jun 25, 2026
69d14c0
feat(scaffold): per-repo pre-commit tools registry with L2 additive m…
waynesun09 Jun 25, 2026
34c0aca
docs(guides): document per-repo pre-commit tools customization
waynesun09 Jun 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/actions/setup-gcp/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ runs:
run: echo "::add-mask::${GITHUB_WORKSPACE}/gha-creds-"

- name: Authenticate to Google Cloud (WIF)
uses: google-github-actions/auth@v3
uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0
with:
workload_identity_provider: ${{ inputs.gcp_wif_provider }}
project_id: ${{ inputs.gcp_project_id }}
Expand Down
6 changes: 0 additions & 6 deletions .github/dependabot.yml

This file was deleted.

18 changes: 18 additions & 0 deletions .github/scripts/install-openshell.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
# Install the pinned OpenShell version via upstream install.sh.
#
# Sources openshell-version.sh for the version and commit SHA, then
# runs the upstream installer. Requires sudo for RPM installation.
#
# Usage:
# .github/scripts/install-openshell.sh
set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
source "${SCRIPT_DIR}/openshell-version.sh"

echo "Installing OpenShell ${OPENSHELL_VERSION} (${OPENSHELL_SHA})"
curl -LsSf "https://raw.githubusercontent.com/NVIDIA/OpenShell/${OPENSHELL_SHA}/install.sh" \
| OPENSHELL_VERSION="v${OPENSHELL_VERSION}" sh

openshell --version
20 changes: 20 additions & 0 deletions .github/scripts/openshell-version.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/usr/bin/env bash
# Single source of truth for the pinned OpenShell version.
#
# Source this script to set OPENSHELL_VERSION and OPENSHELL_SHA in the
# current shell. In GitHub Actions it also exports them to GITHUB_ENV
# for downstream steps.
#
# Usage:
# source .github/scripts/openshell-version.sh

# renovate: datasource=github-tags depName=NVIDIA/OpenShell
OPENSHELL_VERSION=0.0.63
OPENSHELL_SHA=ec197a43ef349e36c3fff04e9aaea9599fb83b31

export OPENSHELL_VERSION OPENSHELL_SHA

if [[ -n "${GITHUB_ENV:-}" ]]; then
echo "OPENSHELL_VERSION=${OPENSHELL_VERSION}" >> "${GITHUB_ENV}"
echo "OPENSHELL_SHA=${OPENSHELL_SHA}" >> "${GITHUB_ENV}"
fi
2 changes: 1 addition & 1 deletion .github/workflows/branch-cleanup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
cleanup:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6.0.2
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Delete stale branches
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand Down
77 changes: 55 additions & 22 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ permissions: {}
on:
push:
branches: [main]
# SYNC-WITH: grep regex in "Check for e2e-relevant changes" step in the e2e job
paths:
- '**/*.go'
- 'go.mod'
Expand All @@ -24,19 +25,6 @@ on:
- 'scripts/check-e2e-authorization.sh'
pull_request_target:
types: [opened, synchronize, reopened, labeled]
paths:
- '**/*.go'
- 'go.mod'
- 'go.sum'
- 'e2e/**'
- 'internal/scaffold/fullsend-repo/**'
- 'internal/security/hooks/**'
- 'internal/dispatch/gcf/mintsrc/**'
- 'internal/sentencetoken/english.json'
- 'Makefile'
- '.github/workflows/e2e.yml'
- '.github/actions/check-e2e-authorization/**'
- 'scripts/check-e2e-authorization.sh'
merge_group:
workflow_dispatch:

Expand Down Expand Up @@ -65,7 +53,7 @@ jobs:
outputs:
authorized: ${{ steps.auth.outputs.authorized }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
ref: ${{ github.sha }} # Base branch only — never checkout PR head in gate

Expand Down Expand Up @@ -93,19 +81,64 @@ jobs:
contents: read
id-token: write
steps:
- uses: actions/checkout@v4
- name: Check for e2e-relevant changes
id: changes
if: github.event_name == 'pull_request_target' || github.event_name == 'merge_group'
env:
GH_TOKEN: ${{ github.token }}
EVENT_NAME: ${{ github.event_name }}
PR_NUMBER: ${{ github.event.pull_request.number }}
REPO: ${{ github.repository }}
MERGE_GROUP_BASE: ${{ github.event.merge_group.base_sha }}
MERGE_GROUP_HEAD: ${{ github.event.merge_group.head_sha }}
# SYNC-WITH: push.paths filter above
run: |
if [ "$EVENT_NAME" = "merge_group" ]; then
FILES=$(gh api "repos/${REPO}/compare/${MERGE_GROUP_BASE}...${MERGE_GROUP_HEAD}" --jq '.files[].filename') || {
echo "::warning::Failed to fetch merge group files — running e2e tests as a precaution"
echo "relevant=true" >> "$GITHUB_OUTPUT"
exit 0
}
FILE_COUNT=$(echo "$FILES" | wc -l)
if [ "$FILE_COUNT" -ge 300 ]; then
echo "::warning::Compare API returned $FILE_COUNT files (possible truncation at 300) — running e2e tests as a precaution"
echo "relevant=true" >> "$GITHUB_OUTPUT"
exit 0
fi
else
FILES=$(gh api "repos/${REPO}/pulls/${PR_NUMBER}/files" --paginate --jq '.[].filename') || {
echo "::warning::Failed to fetch PR files — running e2e tests as a precaution"
echo "relevant=true" >> "$GITHUB_OUTPUT"
exit 0
}
fi
if echo "$FILES" | grep -qE '\.go$|^go\.(mod|sum)$|^e2e/|^internal/scaffold/fullsend-repo/|^internal/security/hooks/|^internal/dispatch/gcf/mintsrc/|^internal/sentencetoken/english\.json$|^Makefile$|^\.github/workflows/e2e\.yml$|^\.github/actions/check-e2e-authorization/|^scripts/check-e2e-authorization\.sh$'; then
echo "relevant=true" >> "$GITHUB_OUTPUT"
else
echo "::notice::No e2e-relevant files changed — skipping tests"
echo "relevant=false" >> "$GITHUB_OUTPUT"
fi

- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
if: steps.changes.outputs.relevant != 'false'
with:
ref: ${{ github.event_name == 'pull_request_target' && github.event.pull_request.head.sha || github.sha }}
persist-credentials: false
# checkout@v7 blocks fork PR head checkouts on pull_request_target by default.
# Safe here: gate job authorizes before this job runs; no pull-requests: write.
allow-unsafe-pr-checkout: ${{ github.event_name == 'pull_request_target' }}

- uses: actions/setup-go@v5
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
if: steps.changes.outputs.relevant != 'false'
with:
go-version-file: go.mod

- name: Install Playwright system dependencies
if: steps.changes.outputs.relevant != 'false'
run: npx playwright install-deps chromium

- name: Check for secrets
if: steps.changes.outputs.relevant != 'false'
id: secrets-check
run: |
if [ -z "$E2E_GITHUB_SESSION_B64" ]; then
Expand All @@ -118,7 +151,7 @@ jobs:
E2E_GITHUB_SESSION_B64: ${{ secrets.E2E_GITHUB_SESSION }}

- name: Decode session
if: steps.secrets-check.outputs.available == 'true'
if: steps.changes.outputs.relevant != 'false' && steps.secrets-check.outputs.available == 'true'
run: |
SESSION_FILE="${RUNNER_TEMP}/github-session.json"
printf '%s' "$E2E_GITHUB_SESSION_B64" | base64 -d > "$SESSION_FILE"
Expand All @@ -127,14 +160,14 @@ jobs:
E2E_GITHUB_SESSION_B64: ${{ secrets.E2E_GITHUB_SESSION }}

- name: Authenticate to GCP
if: steps.secrets-check.outputs.available == 'true'
uses: google-github-actions/auth@v2
if: steps.changes.outputs.relevant != 'false' && steps.secrets-check.outputs.available == 'true'
uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0
with:
workload_identity_provider: ${{ secrets.E2E_GCP_WIF_PROVIDER }}
service_account: ${{ secrets.E2E_GCP_SERVICE_ACCOUNT }}

- name: Run e2e tests
if: steps.secrets-check.outputs.available == 'true'
if: steps.changes.outputs.relevant != 'false' && steps.secrets-check.outputs.available == 'true'
run: make e2e-test
env:
E2E_SCREENSHOT_DIR: ${{ runner.temp }}/e2e-screenshots
Expand All @@ -144,8 +177,8 @@ jobs:
E2E_GCP_PROJECT_ID: ${{ secrets.E2E_GCP_PROJECT_ID }}

- name: Upload debug screenshots
if: always() && steps.secrets-check.outputs.available == 'true'
uses: actions/upload-artifact@v4
if: always() && steps.changes.outputs.relevant != 'false' && steps.secrets-check.outputs.available == 'true'
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: e2e-screenshots-${{ github.event_name == 'pull_request_target' && github.event.pull_request.number || github.run_id }}
path: ${{ runner.temp }}/e2e-screenshots/
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/fullsend.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# This file is managed by fullsend. Do not edit it directly.
# Upstream: https://github.com/fullsend-ai/fullsend/blob/main/internal/scaffold/fullsend-repo/templates/shim-workflow-call.yaml
---
# --- fullsend managed below - do not edit ---
# lint-workflow-size: max-lines=280
Expand Down
Loading
Loading