Skip to content

Give the AGT reference implementation Dependabot coverage - #126

Open
rocklambros wants to merge 1 commit into
integrationfrom
refimpl/dependabot-bun-coverage
Open

rocklambros wants to merge 1 commit into
integrationfrom
refimpl/dependabot-bun-coverage

Conversation

@rocklambros

@rocklambros rocklambros commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

What changed

Adds a Bun entry to .github/dependabot.yml for reference-implementations/agt. That workspace has its own npm dependencies, and until now nothing proposed updates for them. Dependabot has no security updates for Bun, so this version-update entry is the only automated path. It uses the same 7-day cooldown as the GitHub Actions and uv entries.

Dependabot reads the workspace list from the root package.json, so one entry covers all five packages and both hosts, and its Bun updater rewrites bun.lock alongside the manifests. CI's bun install --frozen-lockfile accepts that.

agent-control-specification* is ignored. agt.lock pins that SDK to the vendored AGT commit, and test/pin.test.ts fails when package.json and the lock disagree, so the SDK moves with agt_ref as one deliberate change. The header comment now says Bun is the exception to security updates covering everything.

Which issue does this implement

Closes #127

Base branch

  • integration, because this touches the specification, schemas, a reference
    implementation, an adapter, tests, or CI
  • main, because every changed path is on the documentation lane allowlist in
    CONTRIBUTING.md

Type of change

  • Specification change (schema, hooks, events, AgBOM)
  • Reference implementation or adapter
  • Documentation
  • Tooling or CI
  • Governance (licensing, security policy, contributor docs)

I tested this

  • I synced my branch with the base branch before opening this
  • uv run pytest -v passes on my machine
  • uv run mkdocs build --strict passes on my machine

The config validates against the SchemaStore dependabot-2.0.json schema with zero errors, and a copy with a misspelled ecosystem and cooldown key produces two. For the ignore rule, bun test test/pin.test.ts passes 4 of 4 on an unmodified tree and fails pins the SDK version the bridge installs after bumping only the SDK in package.json.

The first live Dependabot run can only be checked after merge, under Insights, Dependency graph, Dependabot.

Checklist

  • Commits are signed off with git commit -s (required by the DCO)
  • Prose follows STYLE.md
  • No secrets, tokens, or internal URLs in the diff

Security

  • This change has no security impact

Dependabot will open pull requests that change the AGT reference implementation's dependency tree. Each one waits 7 days after an upstream release, runs the Reference implementation workflow, and needs code-owner review under /reference-implementations/.

reference-implementations/agt is a Bun workspace with its own npm
dependencies, and nothing proposed updates for them. Dependabot has no
security updates for Bun, so a version-update entry is the only automated
path. The entry uses the same 7-day cooldown as the other ecosystems.

agent-control-specification is ignored because agt.lock pins it to the
vendored AGT commit and test/pin.test.ts fails when package.json and the
lock disagree. That SDK moves with agt_ref as one deliberate change.

Signed-off-by: rocklambros <rock@rockcyber.com>
@github-actions github-actions Bot added the status:needs-triage Not yet triaged. Applied by the issue forms label Sep 15, 2026
@github-actions

This comment has been minimized.

@rocklambros rocklambros removed the status:needs-triage Not yet triaged. Applied by the issue forms label Sep 15, 2026
@github-project-automation github-project-automation Bot moved this to Needs triage in ACS Project Tracker Sep 17, 2026
@rocklambros rocklambros moved this from Needs triage to In progress in ACS Project Tracker Sep 17, 2026
rocklambros added a commit that referenced this pull request Sep 17, 2026
… one pass (#158)

Follow-up to #157, fixing a defect I found by testing the merged workflow rather than one a reviewer would have caught from the diff.

## The defect

A reconcile run that adds items cannot also set their Status.

Adding an item triggers project 9's own `Item added to project` workflow, which stamps a default Status asynchronously. `apply_governance.py` builds its entire plan before executing any of it, so on a run that adds anything it has already decided the Status actions before those items exist on the board. The default lands after the run finishes and nothing corrects it until the next run.

## Measured, not theorised

On the 2026-09-17 backfill the first pass made **40 adds and 1 Status change**. A second pass run immediately afterwards found **5 more Status corrections waiting**:

| Item | Why the default was wrong |
| --- | --- |
| #135 | `status:accepted` |
| #131 | `status:accepted` |
| #126 | open pull request, belongs in In progress |
| #113 | open pull request |
| #112 | open pull request |

None of those five has the default as its correct Status, which is precisely the population a single pass strands. A third pass reported zero actions, so the tool converges, it just cannot converge in one run when it is also adding.

Nightly, that is up to 24 hours of a board reading Needs triage for work that is accepted or in flight. That is the failure the board exists to prevent, so shipping #157 without this would have left the automation quietly wrong in the one case it most needed to be right.

## The fix

Run the board step twice under `--apply`. The dry-run path still runs once and returns, since printing the same plan twice helps nobody.

The reconciler is idempotent, so the second pass costs one API listing on a run that added nothing. Once `Auto-add to project` is enabled on the project, that is every run.

## Note on review

I did not admin-merge this one. #157 was merged under the administrative authorisation given for it specifically, and extending that to a second change on my own judgement is the kind of thing that should be asked for rather than assumed. The workflow is inert until the App and environment exist, so there is no urgency in merging this ahead of a normal review.


Signed-off-by: Rock Lambros <rock@rockcyber.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

[RefImpl] Dependabot coverage for the AGT reference implementation's Bun dependencies

1 participant