Skip to content

chore(deps,ci): Bump docker/build-push-action from 6 to 7 - #1

Closed
dependabot[bot] wants to merge 4 commits into
mainfrom
dependabot/github_actions/docker/build-push-action-7
Closed

chore(deps,ci): Bump docker/build-push-action from 6 to 7#1
dependabot[bot] wants to merge 4 commits into
mainfrom
dependabot/github_actions/docker/build-push-action-7

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github May 11, 2026

Copy link
Copy Markdown
Contributor

Bumps docker/build-push-action from 6 to 7.

Release notes

Sourced from docker/build-push-action's releases.

v7.0.0

Full Changelog: docker/build-push-action@v6.19.2...v7.0.0

v6.19.2

Full Changelog: docker/build-push-action@v6.19.1...v6.19.2

v6.19.1

Full Changelog: docker/build-push-action@v6.19.0...v6.19.1

v6.19.0

Full Changelog: docker/build-push-action@v6.18.0...v6.19.0

v6.18.0

[!NOTE] Build summary is now supported with Docker Build Cloud.

Full Changelog: docker/build-push-action@v6.17.0...v6.18.0

v6.17.0

[!NOTE] Build record is now exported using the buildx history export command instead of the legacy export-build tool.

Full Changelog: docker/build-push-action@v6.16.0...v6.17.0

v6.16.0

... (truncated)

Commits
  • bcafcac Merge pull request #1509 from docker/dependabot/npm_and_yarn/vite-7.3.2
  • 18e62f1 Merge pull request #1510 from docker/dependabot/npm_and_yarn/lodash-4.18.1
  • 46580d2 chore: update generated content
  • 3f80b25 chore(deps): Bump lodash from 4.17.23 to 4.18.1
  • efeec95 Merge pull request #1505 from crazy-max/refactor-git-context
  • ddf04b0 Merge pull request #1511 from docker/dependabot/github_actions/crazy-max-dot-...
  • db08d97 chore(deps): Bump the crazy-max-dot-github group with 2 updates
  • ef1fb96 Merge pull request #1508 from docker/dependabot/github_actions/docker/login-a...
  • 2d8f2a1 chore: update generated content
  • 919ac7b fix test since secrets are not written to temp path anymore
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

iret77 and others added 4 commits May 9, 2026 19:49
Omadia — an Agentic OS for plugin-based AI agents.

This is the first public release of Omadia, extracted from byte5's
internal development tree. The full pre-public commit history (~250
commits across April–May 2026, including the brand-rename sweep, the
byte5-customer plugins moved out of the public scope, and the
deployment infrastructure that lives at byte5) is preserved privately
at byte5ai/omadia-pre-public-history for byte5 maintainers; this
repo starts fresh so that the public surface stays focused on the
kernel + reference plugins.

What this release ships:

Kernel SDK (under @omadia/* on npm):
  @omadia/plugin-api          — public plugin contract surface
  @omadia/channel-sdk         — channel-agnostic outgoing message types
  @omadia/orchestrator        — turn loop, tool dispatch, streaming
  @omadia/orchestrator-extras — context retriever, fact extractor,
                                topic detector, graph backfill
  @omadia/knowledge-graph-{inmemory,neon} — KG capability providers
  @omadia/embeddings          — embedding capability
  @omadia/memory              — memory store
  @omadia/diagrams            — diagram rendering pipeline
  @omadia/verifier            — answer-verification capability

Plugin-store-installable plugins:
  @omadia/plugin-quality-guard          — manifest + spec quality gating
  @omadia/plugin-privacy-guard          — Privacy-Proxy with detector pipeline
  @omadia/plugin-privacy-detector-{ollama,presidio} — NER detectors
  @omadia/plugin-web-search             — web-search tool

Reference agents:
  @omadia/agent-reference-maximum       — exercises every plugin-API
                                          capability, fork as starting point
  @omadia/agent-seo-analyst             — focused tool-only example

Built-in plugins (in middleware/src/plugins/):
  builder                               — UI-driven plugin authoring loop
                                          (codegen, slot typecheck, eslint
                                          auto-fix, runtime smoke harness)
  routines                              — user-authored cron-triggered
                                          agent runs with run-history viewer

Auth: multi-provider login (local password + Microsoft Entra ID OIDC),
admin UI for provider toggle and user management, audit log.

OSS-stack: Dockerfile (repo root + web-dev) for production build, MIT-
licensed.

Not in this release (lives in operator's deployment repo):
  - Production deployment infra (Fly.io, kroki, ollama, presidio-sidecar
    deployment configs)
  - byte5-customer plugin packages (channel-teams, channel-telegram,
    integration-{microsoft365,odoo,confluence}, agent-odoo-{accounting,
    hr}, agent-confluence) — installable via the plugin-store ZIP
    upload flow
  - Internal development docs (handoffs, briefings, plans)

The companion documentation is under README.md. For contribution
guidance see CONTRIBUTING.md, and for security disclosures see
SECURITY.md.
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6 to 7.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@v6...v7)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github May 11, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: ci, deps. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot @github

dependabot Bot commented on behalf of github May 11, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/github_actions/docker/build-push-action-7 branch May 11, 2026 08:24
Weegy added a commit that referenced this pull request Jun 16, 2026
Generalizes the durable-knowledge lifecycle so it self-curates on ANY
deployment, with no per-instance backfill/cleanup scripts.

GAP #1 — durable coverage grows automatically:
- excerptExtractor + significanceScorer now recognize learned data-model /
  schema / domain conventions (entities, field names, entity-sets, joins) as
  kind=reference + high significance (>=0.85). Such turns auto-promote to the
  durable tier (T3), so once the agent learns e.g. the booking/participant
  schema it becomes durable and is never re-discovered. Time-bound data
  snapshots stay mid-significance insights (not durable).

GAP #2 — duplicates stop accumulating automatically:
- the merge detector (already fires on every MK create) now RESOLVES
  high-confidence pairs itself instead of only flagging for an operator.
  Aggressive default threshold 0.90 (env kg_auto_merge_threshold) so
  paraphrased re-statements merge too; flag floor lowered to the threshold so
  sub-0.95 near-dups actually surface. SAFETY: a durable (manuallyAuthored)
  node is NEVER deleted; when exactly one side is durable it wins; both-durable
  is left for an operator; otherwise the OLDER node wins. Config-gated
  (kg_auto_merge_enabled, default on) + startup telemetry.

Tests: test/autoMerge.test.ts (durable-protected, durable-as-source,
both-durable-skip, older-wins, flag-only-without-threshold). 31/31 merge +
build + lint green.
Weegy added a commit that referenced this pull request Jun 16, 2026
…es auto-merge (#322)

* feat(kg): durable schema full-render + trust prompt + ingest hygiene

Three follow-ups so the durable tier actually stops re-learning:

- Render DURABLE insights at full length (2000 vs the fuzzy 300 cap) in both
  toRecalledInsight and renderRecallBlocks, marked via RecalledInsight.durable.
  The agent was getting a 300-char stub of the curated schema and re-running
  dynamics_describe for fields it already had.
- Orchestrator prompt: when curated schema/reference knowledge is in the
  recalled context, trust it and do NOT re-run discovery tools (dynamics_describe)
  for those entities — go straight to dynamics_query.
- Ingest hygiene now gates ALL auto-harvest (not just durable promotion):
  first-person agent narration ("Ich schaue kurz in den Memory…") is dropped
  entirely instead of stored as a fuzzy MK that re-pollutes recall every
  session. Length is NOT a gate for fuzzy (short facts stay); the durable tier
  keeps its own length floor.

Tests: +narration-skip + short-fact-kept (promoteTurnIfSignificant) +
durable-full-render (durableRecall). 21/21 durable+promotion green, build+lint clean.

Verified live on omadia-test: redundant dynamics_describe calls ~halved
(11 → 6) for a course query; durable schema surfaces full-length. Remaining
re-discovery is for booking/participant entities not yet curated as durable
(needs backfill coverage — separate).

* feat(kg): automatic self-curation — schema→durable + auto-merge dups

Generalizes the durable-knowledge lifecycle so it self-curates on ANY
deployment, with no per-instance backfill/cleanup scripts.

GAP #1 — durable coverage grows automatically:
- excerptExtractor + significanceScorer now recognize learned data-model /
  schema / domain conventions (entities, field names, entity-sets, joins) as
  kind=reference + high significance (>=0.85). Such turns auto-promote to the
  durable tier (T3), so once the agent learns e.g. the booking/participant
  schema it becomes durable and is never re-discovered. Time-bound data
  snapshots stay mid-significance insights (not durable).

GAP #2 — duplicates stop accumulating automatically:
- the merge detector (already fires on every MK create) now RESOLVES
  high-confidence pairs itself instead of only flagging for an operator.
  Aggressive default threshold 0.90 (env kg_auto_merge_threshold) so
  paraphrased re-statements merge too; flag floor lowered to the threshold so
  sub-0.95 near-dups actually surface. SAFETY: a durable (manuallyAuthored)
  node is NEVER deleted; when exactly one side is durable it wins; both-durable
  is left for an operator; otherwise the OLDER node wins. Config-gated
  (kg_auto_merge_enabled, default on) + startup telemetry.

Tests: test/autoMerge.test.ts (durable-protected, durable-as-source,
both-durable-skip, older-wins, flag-only-without-threshold). 31/31 merge +
build + lint green.

* fix(kg): thread durable auto-promotion config to dynamic/registry agents

buildOrchestrator forwarded autoPromote+threshold but dropped
autoPromoteDurableMinSignificance/Kinds — so registry-built agents (the
default 'fallback') promoted only to the fuzzy tier, never durable, even
though orchestratorDeps already carried the value (plugin.ts:562) and the
static chatAgent@1 had it (durableAutoPromote=on@0.85). Now forwarded, so
EVERY agent auto-promotes learned schema/reference knowledge to the durable
tier. (Same class as the earlier 'missing modelRouting in registry-managed
orchestrators' fix.)

* chore(deps): bump hono to clear npm audit high gate (#322 CI)

CI 'audit (high+critical block)' was red on middleware: hono <=4.12.24
(high). `npm audit fix` (semver-compatible, no --force) bumps it in the
lockfile only — high/critical → 0. The remaining uuid/botbuilder advisories
are MODERATE (don't gate) and only fixable via a breaking botbuilder
downgrade, so left untouched. web-ui audit already clean. Build green.

* test(office): freeze clock in xlsx determinism test (fix pre-existing CI flake)

The 'same descriptor yields identical bytes' test compared raw xlsx (zip)
bytes from two in-process renders. exceljs 4.4.0 stamps ZIP entry mtimes with
the wall clock (DOS 2-second granularity) and exposes no API to pin them, so
two renders straddling a 2s boundary differ even though the logical workbook +
pinned created/modified are identical — flaky in slow CI, passes locally where
both renders land in the same window (confirmed: byte-equal immediately,
differ after a 2.5s gap). Freeze the clock across both renders via node:test
mock.timers so the assertion verifies renderer determinism, not wall-clock
timing. (Freezing Date globally inside the renderer would be unsafe under
concurrent async on the server.) Unrelated to the KG changes in this PR.
Weegy added a commit that referenced this pull request Jun 18, 2026
…#332)

Confidence-check follow-ups on the #332 Direct Line:

- Collision rule (Open Q3): a leading `#token` is now a directive ONLY when it
  resolves to a whitelisted specialist. An UNKNOWN token falls through to the
  normal LLM turn, so ordinary messages that merely start with `#` (`#urgent …`,
  `#1 priority …`, hashtags) are no longer hijacked into a "no such agent"
  reply. Ambiguous tokens (matched ≥2 agents) still disambiguate.

- Awareness/continuity (Pitfall 5): a direct-line turn is now persisted through
  the same `sessionLogger` as a normal turn (KG continuity + cross-session
  recall + turnId), instead of relying only on the channel's prior-turn buffer.

Tests: +ambiguous-disambiguation, +session-logger persistence, unknown-token
now asserts LLM fall-through (17 green).
Weegy added a commit that referenced this pull request Jun 18, 2026
…ion (#332) (#335)

* feat(orchestrator): tamper-evident agent transparency + Direct Line + forced delegation (#332)

Address orchestrator "gatekeeper drift": make a requested sub-agent delegation
observable and non-suppressible across every channel (incl. MS Teams), while
keeping the orchestrator in the loop and aware.

L1 — Transparency: project the deterministic runTrace.agentInvocations into a
curated SemanticAnswer.agentsConsulted field (+ DelegatedAnswer contract + a
plain-text footer fallback). Teams/Telegram, which never see the raw runTrace,
now show which specialist actually ran — sourced from the choke-point trace,
not the LLM's prose. A fabricated "I asked X" with no real invocation shows
nothing.

L2 — Direct Line: a core-parsed `#<specialist>` directive binds the sub-agent's
input to the user's verbatim payload via the deterministic choke point and
delivers its verbatim answer as a harness-owned, attributed delegatedAnswer the
orchestrator can neither suppress nor reword. strict passthrough (default) or
guarded additive note (never a redaction). Wired into BOTH the non-streaming
(chat()/Teams) and streaming (chatStream/web-ui) paths; unknown/ambiguous
tokens disambiguate instead of silently routing; sub-agent errors are delivered
faithfully.

L3 — Forced delegation: ChatTurnInput.expectedDomainTool ports OB-31 to the
orchestrator loop — forces tool_choice + a synthetic reminder when the turn
would otherwise end without the required consult.

Tests: test/orchestrator/directLine.test.ts (15 new, all green).

* fix(orchestrator): direct-line collision rule + awareness persistence (#332)

Confidence-check follow-ups on the #332 Direct Line:

- Collision rule (Open Q3): a leading `#token` is now a directive ONLY when it
  resolves to a whitelisted specialist. An UNKNOWN token falls through to the
  normal LLM turn, so ordinary messages that merely start with `#` (`#urgent …`,
  `#1 priority …`, hashtags) are no longer hijacked into a "no such agent"
  reply. Ambiguous tokens (matched ≥2 agents) still disambiguate.

- Awareness/continuity (Pitfall 5): a direct-line turn is now persisted through
  the same `sessionLogger` as a normal turn (KG continuity + cross-session
  recall + turnId), instead of relying only on the channel's prior-turn buffer.

Tests: +ambiguous-disambiguation, +session-logger persistence, unknown-token
now asserts LLM fall-through (17 green).

* fix(orchestrator): direct-line review fixes — stream turnId parity + verbatim payload (#332)

Independent Codex/GPT-5.4 review follow-ups:

- Streaming direct-line `onAfterTurn` now carries `turnExternalId` (parity with
  the normal done branch), so graph-linking observers (#133 E8) fire on
  direct-line streams too.
- Directive payload now keeps internal/trailing whitespace byte-for-byte; only
  the leading separator is stripped, so a whitespace-significant payload (fenced
  code block) reaches the sub-agent truly verbatim. An all-whitespace remainder
  still collapses to an empty payload.

Tests 18 green (+verbatim-preservation, +all-whitespace-empty).

* fix(orchestrator): close direct-line privacy + KG-learning gaps (#332)

Codex review MEDIUM follow-ups:

- Guarded-additive PII: the note runs an extra `provider.complete` over the
  verbatim answer that is NOT routed through the privacy interning path. Degrade
  guarded → strict whenever a privacy guard is active, so un-masked PII is never
  forwarded to the model provider. The verbatim block is still delivered intact.

- KG-learning parity: a direct-line turn skips chatInContext*, so the knowledge
  graph never learned from a delegated answer. Fire `factExtractor.extractAndIngest`
  (fire-and-forget) after the session log lands, mirroring a normal turn.

Tests 20 green (+guarded no-redaction, +guarded degrades-to-strict-under-privacy).

* fix(orchestrator): drop unused observer param in executeDirectLine (#332 CI lint)

The direct-line dispatch uses the RunTraceCollector's own observer (handle.observer)
for the trace, not the passed one, so the parameter was dead. Removing it (and the
stream call-site arg) clears the no-unused-vars lint error.
Weegy added a commit that referenced this pull request Jul 11, 2026
Cross-family (Forge/GPT-5.4 + Opus) audit of 0f47f40 confirmed the deny invariant
holds (a human never overrides a deny) but found 2 correctness/liveness races in
the gate-resume plumbing.

#1 HIGH — apply-sweep re-gates an approved job. resumeApplyAfterGate flipped the
job waiting→applying BEFORE the in-process guard was held, and the periodic apply
sweep re-applied it WITHOUT operatorApprovedGate → re-gate loop, lost approval, 500.
The crash/restart variant was deterministic. Fixed two ways:
  - DURABLE flag: applyJobInner now derives operatorApprovedGate from gate state
    (gateStore.hasApprovedApplyGate: a resolved diff_policy gate) on EVERY apply,
    so a sweep- or crash-recovery-driven re-apply carries the approval too — it can
    never re-gate an approved job. Injected via DevJobWorkerDeps.hasApprovedApplyGate.
  - GUARD spans the flip: new worker.resumeGatedApply takes the in-flight guard
    BEFORE resumeApplyAfterGate and holds it across the apply, so the sweep sees
    applying.has(jobId) and skips. onApproved routes through it (was: separate
    resumeApplyAfterGate + applyJob with a gap).

#6 MED/HIGH — dangling gate on a failed-after-diff job. A POST /jobs/:id/apply
retry that gates leaves the job 'failed', but parkForApplyGate CAS'd only on
'applying' → 0 rows, gate dangled, later approval silently no-op'd. Widened the
fence to status IN ('applying','failed'); onGate now checks the park result and
logs if it didn't land. resumeApplyAfterGate gained a 'phase <> await_human' guard
so it can never resume a review-parked (diff-less) job into applying.

The deny invariant is unchanged — the flag only demotes gate-severity findings.
Counter-proofs at every layer: gateStore.hasApprovedApplyGate (resolved diff_policy
only), parkForApplyGate admits failed, resumeApplyAfterGate refuses await_human,
worker derives the flag on a sweep apply + resumeGatedApply applies exactly once
with the approval under a concurrent sweep. 543 devplatform tests green.
Weegy added a commit that referenced this pull request Jul 11, 2026
…4 audit

Forge confirmed HMAC / sender authz / structural refusals / injection all hold, but
found 3 concurrency races the sequential tests missed (N concurrent labeled-issue
deliveries, each a distinct GUID with a valid signature, interleave at every await).

- #1 HIGH rate-limit TOCTOU: the per-repo (5/h) and per-sender (2/h) counts read
  only committed job_created rows, so in-flight 'received' deliveries were invisible
  — 10 concurrent deliveries all read count=0 and all created jobs (20 from a cap of
  2). Replaced count-then-create with reserveJobSlot: one txn takes
  pg_advisory_xact_lock(hashtext(repo)) FIRST, counts, then stamps the delivery
  rate_limited or job_created (RESERVE) and commits while the lock is held, so a
  concurrent delivery blocks then sees the committed reservation.
- #2 HIGH first-source gate race: the gated first job was created status='queued'
  (claimable) and only parked 'waiting' at the end, so claimNextQueued could
  provision a runner and run the agent on the hostile brief in the window. createJob
  gained an optional status; a gated trigger job is now born directly
  status='waiting', phase='await_human' in the single INSERT (never claimable), then
  the gate opens. /gates/:id/resolve still resumes it (fenced on await_human).
- #3 MEDIUM active-job dedupe race: two different-GUID deliveries for one issue both
  passed the SELECT-1 check. migration 0028 adds a partial UNIQUE INDEX on
  dev_jobs(repo_id, source_ref) WHERE source='webhook' AND status NOT terminal;
  createTriggerJob catches the 23505 conflict → deduped_active_job.

Index shipped as 0028 (new file), NOT folded into 0027 — the migration runner keys
on filename, so an edit to an already-applied migration never runs. requireGate is
computed BEFORE the reservation (reserveJobSlot stamps job_created, which hasPriorJob
counts). Tests: new devWebhooksConcurrency.pg (Promise.all N=10 for #1/#2/#3, each
FAIL-IF-REVERTED); 24 existing webhook + 21 store green; 589 devplatform total.
Weegy added a commit that referenced this pull request Jul 11, 2026
…buffer (Forge W4 audit)

Forge verified the accumulate is race-safe and no oracle/double-terminate, but
found the enforcement built on it was not safe.

- #1 HIGH real money leak: enforcement was EDGE-triggered — only the one call that
  crossed the threshold got exceeded:true and called markBudgetExceeded. If that
  finalize failed (a transient DB blip), the job stayed active, the auth pre-gate
  never closed, and EVERY subsequent call delivered 200 and billed the provider for
  the rest of the job's life; the edge never re-fired. A concurrent burst at the
  crossing had the same shape (only the edge call 402'd, the rest delivered 200).
  Fix: enforcement is now LEVEL-triggered — every call whose committed spend is
  >= budget returns exceeded (402) and re-attempts the idempotent markBudgetExceeded,
  so a transient finalize failure self-heals on the next over-budget call and a
  concurrent burst 402s on all of its over-budget calls. The 80% warning stays
  edge-triggered (one-shot).
- #2 MEDIUM buffering DoS: the enforced path buffers the whole response to meter it
  before committing; the byte bound rested on the OPTIONAL max_tokens clamp. Added
  MAX_ENFORCED_BUFFER_BYTES (32MiB) — a hard independent ceiling that truncates
  rather than OOMs, not dependent on the clamp being wired.
- #3 LOW (noted for the wiring unit): an allowed-but-unpriced model prices at $0 and
  disables a cost-only budget — the wire must assert allowedModels subset of priced.

Counter-proofs (each FAIL-IF-REVERTED): an already-over-budget call still 402s
(level, not edge); a markBudgetExceeded failure at the crossing self-heals on the
next call which re-drives finalize. 13 accounting tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants