Skip to content

#401: publish reviewed Runtime Evidence + shared-auth + #352 candidate - #10

Merged
cermm merged 8 commits into
release/401-base-87bc7106-20260801-t813c3f87from
release/401-head-8eae3648-20260801-t813c3f87
Aug 1, 2026
Merged

#401: publish reviewed Runtime Evidence + shared-auth + #352 candidate#10
cermm merged 8 commits into
release/401-base-87bc7106-20260801-t813c3f87from
release/401-head-8eae3648-20260801-t813c3f87

Conversation

@cermm

@cermm cermm commented Aug 1, 2026

Copy link
Copy Markdown
Owner

Scope

Owned-fork publication and CI artifact for cermm/wc-infrastructure#401, with necessary prerequisites #358 and #380.

  • Candidate head: 8eae3648479bb9983f2a42695b8b0c2ad6aebe2b
  • Candidate tree: 50fe7deceda6f34c05c71dc4ef43177759636e45
  • Exact base: 87bc710609f8b89b6e6b4aa418dde8ee30ec6873 (freshly read NousResearch/hermes-agent@main)
  • Reviewed pinned base: 003af7f85ce2ebe24b38556d735a0d7678a4a8dd
  • Fresh-base drift: one conflict-free, path-disjoint upstream commit; zero overlap paths with the candidate and clean merge-tree readback.

Review evidence

  • Semantic: hermes-shared-auth-authority/t_cf3d2f5d — PASS, approved=true
  • Security: hermes-shared-auth-authority/t_a8092ac0 — PASS, approved=true
  • Immutable Assurance: hermes-shared-auth-authority/t_dfdca965 — PASS, approved=true
  • Verified suites on the exact candidate: 53 focused fix(gateway): detect prior sessions from disk in has_any_sessions() NousResearch/hermes-agent#352, 305 broad Kanban, 421 auth/result/runtime; compile, diff, credential, topology and clean-state checks PASS.

Authorization and boundaries

Source-bound umbrella: Discord thread 1528018072944902245, message 1533030101162266695; marker umbrella-auth-1533030101162266695.

This PR targets only an owned-fork base branch. It does not mutate NousResearch upstream. Merge is permitted only for this exact head/base after complete authoritative non-empty green CI, review-label/attribution gates, mergeability and provider readback. No force/history rewrite, install, diagnostic, profile/auth/config/SOUL mutation, issue closure or cleanup is part of this PR step.

cermm and others added 8 commits August 1, 2026 08:45
…stream

Squash the accepted NousResearch#358/NousResearch#380 runtime and profile-auth candidate onto current upstream without importing its second-parent history.

Repair the Flux profile-root credential assertion and invoke the installed ascii-guard console entry before pinned uv fallbacks.

Co-authored-by: Hermes Agent <hermes-agent@local>
…01-074431-t-c37b3a63

fix(runtime): publish reviewed NousResearch#358/NousResearch#380 candidate on current upstream
@cermm

cermm commented Aug 1, 2026

Copy link
Copy Markdown
Owner Author

ci-reviewed is supported by exact independent review evidence, not inferred from the label itself:

  • head 8eae3648479bb9983f2a42695b8b0c2ad6aebe2b, tree 50fe7deceda6f34c05c71dc4ef43177759636e45
  • semantic t_cf3d2f5d: PASS / approved=true
  • security t_a8092ac0: PASS / approved=true
  • immutable Assurance t_dfdca965: PASS / approved=true
  • fresh base 87bc710609f8b89b6e6b4aa418dde8ee30ec6873 differs from reviewed pinned base by one path-disjoint commit; merge-tree is conflict-free and no candidate path overlaps.

The label authorizes no merge by itself. Merge remains bound to exact PR/head/base plus complete authoritative non-empty green CI and final provider readback.

@cermm cermm added the ci-reviewed CI-sensitive changes independently reviewed label Aug 1, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8eae364847

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +513 to +515
source = _load_auth_store(home / "auth.json")
_merge_section(merged, source, "providers", conflict_policy)
_merge_section(merged, source, "credential_pool", conflict_policy)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Preserve suppression state during shared-auth migration

When a migrated profile has top-level suppressed_sources entries, this loop copies only providers and credential_pool before switching the profile to the shared store. The suppression markers written after a user removes an env/device credential are therefore lost, allowing those credentials to be re-seeded on the next pool load; active_provider is similarly discarded. Merge these top-level auth fields with explicit conflict semantics before committing the authority change.

AGENTS.md reference: AGENTS.md:L84-L87

Useful? React with 👍 / 👎.

Comment thread cli.py
Comment on lines +18363 to +18366
getattr(cli, "result_meta_file", None)
or getattr(cli, "result_meta_fd", None) is not None
):
cli._publish_result_metadata(result)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Publish metadata for non-quiet one-shot queries

The CLI accepts --result-meta-file and --result-meta-fd for any classic --query, but this publication call is nested under if quiet. Thus hermes chat -q ... --result-meta-file ... completes without creating the promised file, while the FD form merely closes the pipe and yields EOF. Publish from the shared one-shot completion path, or reject the option unless --quiet is present before invoking the model.

AGENTS.md reference: AGENTS.md:L84-L87

Useful? React with 👍 / 👎.

Comment on lines +24 to +27
def _root_and_profile(home: Path) -> tuple[Path, str]:
if home.parent.name == "profiles" and home.parent.parent.name == ".hermes":
return home.parent.parent, home.name
return home, "default"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Recognize profiles under custom Docker roots

For a supported custom profile home such as /opt/data/profiles/worker, this condition fails solely because the grandparent is not named .hermes, so the helper treats the profile directory as the shared root. With auth.authority: shared, stage-two bootstrap then writes /opt/data/profiles/worker/auth.json, while the application resolves /opt/data/auth.json, leaving the runtime unauthenticated. Match the application's rule that any <root>/profiles/<name> path has <root> as its shared root.

AGENTS.md reference: AGENTS.md:L84-L87

Useful? React with 👍 / 👎.

@cermm
cermm merged commit c7309ae into release/401-base-87bc7106-20260801-t813c3f87 Aug 1, 2026
49 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-reviewed CI-sensitive changes independently reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant