chore(deps,ci): Bump docker/build-push-action from 6 to 7 - #1
Closed
dependabot[bot] wants to merge 4 commits into
Closed
chore(deps,ci): Bump docker/build-push-action from 6 to 7#1dependabot[bot] wants to merge 4 commits into
dependabot[bot] wants to merge 4 commits into
Conversation
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.
# Conflicts: # LICENSE
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>
Contributor
Author
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
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 If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
dependabot
Bot
deleted the
dependabot/github_actions/docker/build-push-action-7
branch
May 11, 2026 08:24
This was referenced May 18, 2026
This was referenced May 28, 2026
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.
5 tasks
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.
6 tasks
This was referenced Aug 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps docker/build-push-action from 6 to 7.
Release notes
Sourced from docker/build-push-action's releases.
... (truncated)
Commits
bcafcacMerge pull request #1509 from docker/dependabot/npm_and_yarn/vite-7.3.218e62f1Merge pull request #1510 from docker/dependabot/npm_and_yarn/lodash-4.18.146580d2chore: update generated content3f80b25chore(deps): Bump lodash from 4.17.23 to 4.18.1efeec95Merge pull request #1505 from crazy-max/refactor-git-contextddf04b0Merge pull request #1511 from docker/dependabot/github_actions/crazy-max-dot-...db08d97chore(deps): Bump the crazy-max-dot-github group with 2 updatesef1fb96Merge pull request #1508 from docker/dependabot/github_actions/docker/login-a...2d8f2a1chore: update generated content919ac7bfix test since secrets are not written to temp path anymoreDependabot 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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)