{"schemaVersion":"1.0.0","snapshotAt":"2026-08-31T17:15:28Z","nodes":[{"id":"artifact:all-gods-paper","kind":"artifact","label":"All Gods Must Die","summary":"The 68-page public paper documenting adversarially verified transformation.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"published artifact"},"source":{"origin":"drive.google.com","url":"https://drive.google.com/file/d/1GYR9AikBP7B6teFMyNOyp-P606fMzfVS/view?usp=drive_link","retrievedAt":"2026-08-31T17:15:28Z","durable":false,"immutable":false},"data":{"url":"https://drive.google.com/file/d/1GYR9AikBP7B6teFMyNOyp-P606fMzfVS/view?usp=drive_link","tags":["paper","engineering-method","evidence"],"curatedId":"all-gods-paper"}},{"id":"artifact:credential-datacamp-associate-data-scientist-r","kind":"artifact","label":"Associate Data Scientist in R","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"title":"Associate Data Scientist in R","issuer":"DataCamp","dates":"March 2025","status":"completed learning track; not represented as a professional certification","name":"Associate Data Scientist in R — DataCamp","state":"PUBLISHED"}},{"id":"artifact:credential-datacamp-data-analyst-associate","kind":"artifact","label":"Data Analyst Associate","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"title":"Data Analyst Associate","issuer":"DataCamp","dates":"LinkedIn/DataCamp record","status":"public credential label recorded","name":"Data Analyst Associate — DataCamp","state":"PUBLISHED"}},{"id":"artifact:credential-datacamp-sql-associate","kind":"artifact","label":"SQL Associate","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"title":"SQL Associate","issuer":"DataCamp","dates":"LinkedIn/DataCamp record","status":"public credential label recorded","name":"SQL Associate — DataCamp","state":"PUBLISHED"}},{"id":"artifact:credential-google-data-analytics","kind":"artifact","label":"Google Data Analytics Certificate","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"title":"Google Data Analytics Certificate","issuer":"Google","dates":"November 2022-January 2023","status":"completed certificate recorded on LinkedIn","name":"Google Data Analytics Certificate — Google","state":"PUBLISHED"}},{"id":"artifact:kaggle-competitions-backpack-prediction-challenge","kind":"artifact","label":"Backpack Prediction Challenge","summary":"Kaggle competition.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.kaggle.com","url":"https://www.kaggle.com/competitions/playground-series-s5e2","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"name":"Backpack Prediction Challenge","state":"PUBLISHED","platform":"Kaggle","collection":"competitions"}},{"id":"artifact:kaggle-competitions-binary-prediction-with-a-rainfall-dataset","kind":"artifact","label":"Binary Prediction with a Rainfall Dataset","summary":"Kaggle competition.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.kaggle.com","url":"https://www.kaggle.com/competitions/playground-series-s5e3","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"name":"Binary Prediction with a Rainfall Dataset","state":"PUBLISHED","platform":"Kaggle","collection":"competitions"}},{"id":"artifact:kaggle-competitions-predicting-student-test-scores","kind":"artifact","label":"Predicting Student Test Scores","summary":"Kaggle competition.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.kaggle.com","url":"https://www.kaggle.com/competitions/playground-series-s6e1","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"name":"Predicting Student Test Scores","state":"PUBLISHED","platform":"Kaggle","collection":"competitions"}},{"id":"campaign:godfile-campaign","kind":"campaign","label":"Hermes large-file decomposition","summary":"Twenty tracked Hermes files submitted under an explicit completion and interlock record.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"20 of 20 submitted; maintainer merge state separate"},"source":{"origin":"github.com","url":"https://github.com/NousResearch/hermes-agent/issues/78647","retrievedAt":"2026-08-31T17:15:28Z","durable":false,"immutable":false},"data":{"url":"https://github.com/NousResearch/hermes-agent/issues/78647","tags":["hermes-agent","refactoring","interlock"],"curatedId":"godfile-campaign"}},{"id":"capability-evidence:agent-security","kind":"capability-evidence","label":"skill:agent-security","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"capability-evidence:astro-web-frontend","kind":"capability-evidence","label":"skill:astro-web-frontend","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"capability-evidence:ci-cd-automation","kind":"capability-evidence","label":"skill:ci-cd-automation","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"capability-evidence:cloudflare-edge-deployment","kind":"capability-evidence","label":"skill:cloudflare-edge-deployment","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"capability-evidence:data-analysis","kind":"capability-evidence","label":"skill:data-analysis","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"capability-evidence:developer-tooling","kind":"capability-evidence","label":"skill:developer-tooling","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"capability-evidence:github-api-graphql","kind":"capability-evidence","label":"skill:github-api-graphql","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"capability-evidence:graph-gated-refactoring","kind":"capability-evidence","label":"skill:graph-gated-refactoring","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"capability-evidence:inferential-architecture","kind":"capability-evidence","label":"skill:inferential-architecture","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"capability-evidence:kanban-swarm-execution","kind":"capability-evidence","label":"skill:kanban-swarm-execution","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"capability-evidence:knowledge-graph-modeling","kind":"capability-evidence","label":"skill:knowledge-graph-modeling","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"capability-evidence:memory-context-systems","kind":"capability-evidence","label":"skill:memory-context-systems","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"capability-evidence:multi-agent-orchestration","kind":"capability-evidence","label":"skill:multi-agent-orchestration","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"capability-evidence:plugin-architecture","kind":"capability-evidence","label":"skill:plugin-architecture","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"capability-evidence:python","kind":"capability-evidence","label":"skill:python","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"capability-evidence:refusal-algebra","kind":"capability-evidence","label":"skill:refusal-algebra","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"capability-evidence:typescript","kind":"capability-evidence","label":"skill:typescript","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"capability-evidence:verification-engineering","kind":"capability-evidence","label":"skill:verification-engineering","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"capability-evidence:webhook-automation","kind":"capability-evidence","label":"skill:webhook-automation","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"capability-evidence:windows-desktop-integration","kind":"capability-evidence","label":"skill:windows-desktop-integration","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"career:boka-bread-baker","kind":"career","label":"Bread Baker","summary":"Produced breads and breakfast batters for Little Goat Diner, Girl & the Goat, Cabra, and Duck Duck Goat; managed dough mixing, shaping, proofing, baking, and morning mise en place.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"title":"Bread Baker","organization":"BOKA Restaurant Group","dates":"September 2019-September 2020","location":"Chicago, Illinois","category":"culinary","status":"ENDED","name":"Bread Baker — BOKA Restaurant Group","state":"PUBLISHED"}},{"id":"career:career-history","kind":"career","label":"Complete career history","summary":"Current agent-systems work, customer service, and nearly ten years of culinary work preserved as distinct roles.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"LinkedIn-backed career timeline"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/details/experience/","retrievedAt":"2026-08-31T17:15:28Z","durable":false,"immutable":false},"data":{"url":"https://www.linkedin.com/in/andrexibiza/details/experience/","tags":["career","culinary","customer-service","agent-systems"],"curatedId":"career-history"}},{"id":"career:datacamp-data-science-student","kind":"career","label":"Data Science Student","summary":"Completed sustained coursework and projects across data analysis, SQL, R, Python, statistics, and machine learning; individual credentials remain listed separately.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"title":"Data Science Student","organization":"DataCamp","dates":"August 2021-August 2024","location":"Remote","category":"professional-learning","status":"ENDED","name":"Data Science Student — DataCamp","state":"PUBLISHED"}},{"id":"career:duck-duck-goat-line-cook","kind":"career","label":"Line Cook","summary":"Worked the grill station in a high-volume kitchen under Stephanie Izard's leadership, coordinating proteins, timing, and quality during service.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"title":"Line Cook","organization":"Duck Duck Goat","dates":"July 2019-September 2019","location":"Chicago, Illinois","category":"culinary","status":"ENDED","name":"Line Cook — Duck Duck Goat","state":"PUBLISHED"}},{"id":"career:food-fight-pastry-chef","kind":"career","label":"Pastry Chef","summary":"Developed and executed pastry menus for Aldo's Cafe, Steenbock's on Orchard, and Steenbock's Catering; managed purchasing, costing, development, production, presentation, and staff training.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"title":"Pastry Chef","organization":"Food Fight Restaurant Group","dates":"June 2016-June 2017","location":"Madison, Wisconsin","category":"culinary","status":"ENDED","name":"Pastry Chef — Food Fight Restaurant Group","state":"PUBLISHED"}},{"id":"career:holden-qigong-customer-service","kind":"career","label":"Customer Service Operations Specialist","summary":"Implemented Zendesk Talk, launched live phone support as the sole customer-service representative, built SOPs and daily checklists, managed Zendesk Views, coordinated issues with the back office and senior leaders, and supported live webcasts.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"title":"Customer Service Operations Specialist","organization":"Holden QiGong","dates":"August 2020-December 2020","location":"","category":"customer-service","status":"ENDED","name":"Customer Service Operations Specialist — Holden QiGong","state":"PUBLISHED"}},{"id":"career:madison-sourdough-pastry-baker","kind":"career","label":"Pastry Baker","summary":"Produced viennoiserie and laminated-dough items, including croissants, pain au chocolat, and morning buns, while managing daily pastry prep.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"title":"Pastry Baker","organization":"Madison Sourdough","dates":"June 2017-May 2018","location":"Madison, Wisconsin","category":"culinary","status":"ENDED","name":"Pastry Baker — Madison Sourdough","state":"PUBLISHED"}},{"id":"career:merchant-line-cook","kind":"career","label":"Line Cook","summary":"Worked multiple stations in a high-volume farm-to-table kitchen and coordinated timing during peak service.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"title":"Line Cook","organization":"Merchant","dates":"June 2018-February 2019","location":"Madison, Wisconsin","category":"culinary","status":"ENDED","name":"Line Cook — Merchant","state":"PUBLISHED"}},{"id":"career:nous-hermes-contributor","kind":"career","label":"Hermes Agent Contributor","summary":"Contributes to Hermes Agent across multi-agent orchestration, memory, security, tools, plugins, Windows/Desktop integration, contributor infrastructure, and graph-gated verification.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"title":"Hermes Agent Contributor","organization":"Nous Research","dates":"August 2026-present","location":"Remote","category":"ai-agent-systems","status":"CURRENT","name":"Hermes Agent Contributor — Nous Research","state":"OPEN"}},{"id":"career:vintage-pastry-sous-chef","kind":"career","label":"Pastry Chef / Sous Chef","summary":"Designed and launched the opening dessert menu, served as AM opening manager, and supported training, quality control, staff coordination, and pastry production.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"title":"Pastry Chef / Sous Chef","organization":"Vintage Brewing Co Tangent","dates":"February 2019-July 2019","location":"Madison, Wisconsin","category":"culinary","status":"ENDED","name":"Pastry Chef / Sous Chef — Vintage Brewing Co Tangent","state":"PUBLISHED"}},{"id":"claim:capability:agent-security","kind":"claim","label":"The merged routing contract records fail-closed handling of malformed or unknown connection identifiers in Hermes Agent.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"claim:capability:astro-web-frontend","kind":"claim","label":"The public LinkedIn baseline is the direct source linked to the web-frontend catalog entry.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"claim:capability:ci-cd-automation","kind":"claim","label":"The public PR record links the authored head to passed CI, Docker, and Nix checks.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"claim:capability:cloudflare-edge-deployment","kind":"claim","label":"The public LinkedIn baseline is the direct source linked to the edge-deployment catalog entry.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"claim:capability:data-analysis","kind":"claim","label":"The public work graph's education history links LinkedIn-backed Google certificate and DataCamp learning records to the data-analysis catalog entry.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"claim:capability:developer-tooling","kind":"claim","label":"The public merged PR record identifies an authored Hermes Agent contribution with preserved prior-work credit.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"claim:capability:github-api-graphql","kind":"claim","label":"The public merged PR record identifies an authored GitHub-hosted Hermes Agent contribution with preserved prior-work credit.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"claim:capability:graph-gated-refactoring","kind":"claim","label":"The public campaign record reports twenty of twenty tracked god files killed, with completion kept separate from maintainer merge state.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"claim:capability:inferential-architecture","kind":"claim","label":"The public authorship record identifies Axl Ibiza as creator of Inferential Architecture.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"claim:capability:kanban-swarm-execution","kind":"claim","label":"The public method record identifies 5x2x3 as a documented engineering method with explicit production and adjudication lanes.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"claim:capability:knowledge-graph-modeling","kind":"claim","label":"The public Semantic Interlock Graph presents a dated graph snapshot with 740 issues, 343 identities, and 419 routes.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"claim:capability:memory-context-systems","kind":"claim","label":"The public role record identifies an ongoing Hermes Agent contributor relationship used as the direct source for the memory and context systems catalog entry.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"claim:capability:multi-agent-orchestration","kind":"claim","label":"The public authorship record identifies Axl Ibiza as creator of graph-gated engineering and the 5x2x3 method, which includes multi-agent production and witness lanes.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"claim:capability:plugin-architecture","kind":"claim","label":"The public role record identifies an ongoing Hermes Agent contributor relationship used as the direct source for the plugin architecture catalog entry.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"claim:capability:python","kind":"claim","label":"The public authorship record establishes Axl Ibiza as creator of Refusal Algebra and Inferential Architecture.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"claim:capability:refusal-algebra","kind":"claim","label":"The public record describes Refusal Algebra as Settlement, Refusal, Rejected, or Fault with orthogonal StateEffect and append-only reconciliation.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"claim:capability:typescript","kind":"claim","label":"The public merged PR record identifies an authored Hermes Agent contribution and its exact merged commit.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"claim:capability:verification-engineering","kind":"claim","label":"The public PR record links the authored head to passed CI, Docker, and Nix checks.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"claim:capability:webhook-automation","kind":"claim","label":"The public Brigade Protocol artifact is an explicit public source for the webhook and event-driven automation catalog entry.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"claim:capability:windows-desktop-integration","kind":"claim","label":"The public role record identifies an ongoing Hermes Agent contributor relationship used as the direct source for the platform-integration catalog entry.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"claim:chef-career-and-mba","kind":"claim","label":"The current authenticated LinkedIn experience baseline records a nearly ten-year chef career including BOKA and work with Stephanie Izard, plus an MBA in Finance from Johnson & Wales University; the hospitality career is not operations experience.","summary":"The current authenticated LinkedIn experience baseline records a nearly ten-year chef career including BOKA and work with Stephanie Izard, plus an MBA in Finance from Johnson & Wales University; the hospitality career is not operations experience.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"verified"},"data":{"category":"background","status":"verified","verifiedAt":"2026-08-28","allowedSurfaces":["site","resume","linkedin","profile-packet","digital-double"],"attribution":"Axl Ibiza, MBA; attribution and collaborator credit remain attached to the cited public record."}},{"id":"claim:graph-gated-engineering-5x2x3-authorship","kind":"claim","label":"Axl Ibiza is the creator of graph-gated engineering and the 5x2x3 method. The canonical public explanation is a 68-page paper authored by Axl Ibiza in August 2026; PDF SHA-256: 76310ddf1d1f56745a105ca9ff32b72ea809ebdbb89fe1a385196e3050a1e056.","summary":"Axl Ibiza is the creator of graph-gated engineering and the 5x2x3 method. The canonical public explanation is a 68-page paper authored by Axl Ibiza in August 2026; PDF SHA-256: 76310ddf1d1f56745a105ca9ff32b72ea809ebdbb89fe1a385196e3050a1e056.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"verified"},"data":{"category":"authorship","status":"verified","verifiedAt":"2026-08-28","allowedSurfaces":["site","resume","profile-packet","digital-double"],"attribution":"Axl Ibiza, MBA; attribution and collaborator credit remain attached to the cited public record."}},{"id":"claim:graph-gated-epic-20-of-20","kind":"claim","label":"The public Hermes campaign EPIC records twenty of twenty tracked god files killed, with the completion definition separated from maintainer merge state.","summary":"The public Hermes campaign EPIC records twenty of twenty tracked god files killed, with the completion definition separated from maintainer merge state.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"verified"},"data":{"category":"campaign-record","status":"verified","verifiedAt":"2026-08-28","allowedSurfaces":["site","resume","profile-packet","digital-double"],"attribution":"Axl Ibiza, MBA; attribution and collaborator credit remain attached to the cited public record."}},{"id":"claim:graph-gated-epic-interlock","kind":"claim","label":"The public campaign EPIC lists per-file issue records and individually linked shard pull requests as its completion and interlock evidence.","summary":"The public campaign EPIC lists per-file issue records and individually linked shard pull requests as its completion and interlock evidence.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"verified"},"data":{"category":"coordination","status":"verified","verifiedAt":"2026-08-28","allowedSurfaces":["site","resume","profile-packet","digital-double"],"attribution":"Axl Ibiza, MBA; attribution and collaborator credit remain attached to the cited public record."}},{"id":"claim:graph-gated-paper-doctrine","kind":"claim","label":"The canonical paper presents graph-gated engineering as adversarially verified transformation: model critical claims, separate production from adjudication, use mechanical receipts, and keep hidden debt enumerable.","summary":"The canonical paper presents graph-gated engineering as adversarially verified transformation: model critical claims, separate production from adjudication, use mechanical receipts, and keep hidden debt enumerable.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"verified"},"data":{"category":"method","status":"verified","verifiedAt":"2026-08-28","allowedSurfaces":["site","resume","profile-packet","digital-double"],"attribution":"Axl Ibiza, MBA; attribution and collaborator credit remain attached to the cited public record."}},{"id":"claim:hermes-agent-contributor-nous-research","kind":"claim","label":"Current authenticated LinkedIn baseline lists Axl Ibiza as Hermes Agent Contributor at Nous Research, August 2026-present.","summary":"Current authenticated LinkedIn baseline lists Axl Ibiza as Hermes Agent Contributor at Nous Research, August 2026-present.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"verified"},"data":{"category":"employment","status":"verified","verifiedAt":"2026-08-28","allowedSurfaces":["site","resume","linkedin","profile-packet","digital-double"],"attribution":"Axl Ibiza, MBA; attribution and collaborator credit remain attached to the cited public record."}},{"id":"claim:hermes-pr-90198-ci-state","kind":"claim","label":"The final authored head for PR #90198 passed the linked CI, Docker, and Nix checks, each recorded against head 032078e843e556584dc0ef7a2845a9a1bfe5a68e.","summary":"The final authored head for PR #90198 passed the linked CI, Docker, and Nix checks, each recorded against head 032078e843e556584dc0ef7a2845a9a1bfe5a68e.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"verified"},"data":{"category":"verification","status":"verified","verifiedAt":"2026-08-28","allowedSurfaces":["site","resume","profile-packet","digital-double"],"attribution":"Axl Ibiza, MBA; attribution and collaborator credit remain attached to the cited public record."}},{"id":"claim:hermes-pr-90198-credit-ledger","kind":"claim","label":"The merged PR credits teknium1 for registry-scoped routing and the canonical matcher, and AndreasG78 for an independent production macOS reproduction; those contributions remain distinct from Axl's shipped PR.","summary":"The merged PR credits teknium1 for registry-scoped routing and the canonical matcher, and AndreasG78 for an independent production macOS reproduction; those contributions remain distinct from Axl's shipped PR.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"verified"},"data":{"category":"credit","status":"verified","verifiedAt":"2026-08-28","allowedSurfaces":["site","resume","profile-packet","digital-double"],"attribution":"Axl Ibiza, MBA; teknium1; AndreasG78 — distinct roles preserved in the cited pull request."}},{"id":"claim:hermes-pr-90198-merged","kind":"claim","label":"Hermes Agent PR #90198 merged as commit 38ce2d7553c42af591a59087cb62ea018f9e6917, with preserved teknium1 and AndreasG78/prior-work credit.","summary":"Hermes Agent PR #90198 merged as commit 38ce2d7553c42af591a59087cb62ea018f9e6917, with preserved teknium1 and AndreasG78/prior-work credit.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"verified"},"data":{"category":"contribution","status":"verified","verifiedAt":"2026-08-28","allowedSurfaces":["site","resume","profile-packet","digital-double"],"attribution":"Axl Ibiza, MBA; teknium1; AndreasG78 — distinct roles preserved in the cited pull request."}},{"id":"claim:hermes-pr-90198-routing-contract","kind":"claim","label":"PR #90198 documents a merged connection-identity contract: explicit connection IDs remain authoritative, malformed or unknown IDs fail closed, and only genuinely unqualified descriptors enter legacy matching.","summary":"PR #90198 documents a merged connection-identity contract: explicit connection IDs remain authoritative, malformed or unknown IDs fail closed, and only genuinely unqualified descriptors enter legacy matching.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"verified"},"data":{"category":"engineering","status":"verified","verifiedAt":"2026-08-28","allowedSurfaces":["site","resume","profile-packet","digital-double"],"attribution":"Axl Ibiza, MBA; attribution and collaborator credit remain attached to the cited public record."}},{"id":"claim:identity-display-name","kind":"claim","label":"Public profile evidence supports Axl Ibiza as the primary display identity and Andrex Ibiza as the alternate/platform identity.","summary":"Public profile evidence supports Axl Ibiza as the primary display identity and Andrex Ibiza as the alternate/platform identity.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"verified"},"data":{"category":"identity","status":"verified","verifiedAt":"2026-08-28","allowedSurfaces":["site","profile-packet","digital-double"],"attribution":"Axl Ibiza, MBA; attribution and collaborator credit remain attached to the cited public record."}},{"id":"claim:refusal-algebra-authorship","kind":"claim","label":"Axl Ibiza, MBA created Refusal Algebra and Inferential Architecture.","summary":"Axl Ibiza, MBA created Refusal Algebra and Inferential Architecture.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"verified"},"data":{"category":"authorship","status":"verified","verifiedAt":"2026-08-31","allowedSurfaces":["site","resume","profile-packet","digital-double"],"attribution":"Axl Ibiza, MBA; attribution and collaborator credit remain attached to the cited public record."}},{"id":"claim:refusal-algebra-implementation-boundary","kind":"claim","label":"The public Refusal Algebra specification does not establish complete runtime implementation, merge, release, or conformance certification.","summary":"The public Refusal Algebra specification does not establish complete runtime implementation, merge, release, or conformance certification.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"verified"},"data":{"category":"verification","status":"verified","verifiedAt":"2026-08-31","allowedSurfaces":["site","profile-packet","digital-double"],"attribution":"Axl Ibiza, MBA; attribution and collaborator credit remain attached to the cited public record."}},{"id":"claim:refusal-algebra-result-domain","kind":"claim","label":"Refusal Algebra models consequential results as the disjoint family Settlement, Refusal, Rejected, or Fault, with an orthogonal StateEffect and append-only reconciliation.","summary":"Refusal Algebra models consequential results as the disjoint family Settlement, Refusal, Rejected, or Fault, with an orthogonal StateEffect and append-only reconciliation.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"verified"},"data":{"category":"architecture","status":"verified","verifiedAt":"2026-08-31","allowedSurfaces":["site","profile-packet","digital-double"],"attribution":"Axl Ibiza, MBA; attribution and collaborator credit remain attached to the cited public record."}},{"id":"contribution:decomposition-campaign","kind":"contribution","label":"Campaign architect","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"contribution:graph-gated-paper","kind":"contribution","label":"Author","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"contribution:hermes-pr-90198","kind":"contribution","label":"Hermes Agent Contributor","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"contribution:interlock-campaign","kind":"contribution","label":"Godfile Slayer & Swarm Architect","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"criterion:ai-agent-systems-engineer:agent-security","kind":"criterion","label":"AI Agent Systems Engineer: Agent security","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"criterion:ai-agent-systems-engineer:memory-context-systems","kind":"criterion","label":"AI Agent Systems Engineer: Memory and context systems","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"criterion:ai-agent-systems-engineer:multi-agent-orchestration","kind":"criterion","label":"AI Agent Systems Engineer: Multi-agent orchestration","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"criterion:ai-agent-systems-engineer:verification-engineering","kind":"criterion","label":"AI Agent Systems Engineer: Verification engineering","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"criterion:developer-experience-engineer-ai:developer-tooling","kind":"criterion","label":"Developer Experience Engineer (AI): Developer tooling","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"criterion:developer-experience-engineer-ai:github-api-graphql","kind":"criterion","label":"Developer Experience Engineer (AI): GitHub API and GraphQL","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"criterion:developer-experience-engineer-ai:plugin-architecture","kind":"criterion","label":"Developer Experience Engineer (AI): Plugin architecture","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"criterion:developer-experience-engineer-ai:typescript","kind":"criterion","label":"Developer Experience Engineer (AI): TypeScript","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"criterion:multi-agent-systems-engineer:kanban-swarm-execution","kind":"criterion","label":"Multi-Agent Systems Engineer: Kanban swarm execution","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"criterion:multi-agent-systems-engineer:knowledge-graph-modeling","kind":"criterion","label":"Multi-Agent Systems Engineer: Knowledge graph modeling","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"criterion:multi-agent-systems-engineer:multi-agent-orchestration","kind":"criterion","label":"Multi-Agent Systems Engineer: Multi-agent orchestration","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"criterion:multi-agent-systems-engineer:verification-engineering","kind":"criterion","label":"Multi-Agent Systems Engineer: Verification engineering","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"dataset:kaggle-datasets-chicago-transit-authority-cta-l-ridership-data","kind":"dataset","label":"Chicago Transit Authority CTA L Ridership Data","summary":"Kaggle dataset.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.kaggle.com","url":"https://www.kaggle.com/datasets/andrexibiza/chicago-transit-authority-cta-l-ridership-data","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"name":"Chicago Transit Authority CTA L Ridership Data","state":"PUBLISHED","platform":"Kaggle","collection":"datasets"}},{"id":"dataset:kaggle-datasets-grocery-sales-database","kind":"dataset","label":"Grocery Sales Database","summary":"Kaggle dataset.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.kaggle.com","url":"https://www.kaggle.com/datasets/andrexibiza/grocery-sales-dataset","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"name":"Grocery Sales Database","state":"PUBLISHED","platform":"Kaggle","collection":"datasets"}},{"id":"education:education-history","kind":"education","label":"Education and credentials","summary":"MBA in Finance, graduate Data Analytics study, Google certificate, and DataCamp learning records with completion boundaries preserved.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"LinkedIn and public portfolio-backed"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/details/education/","retrievedAt":"2026-08-31T17:15:28Z","durable":false,"immutable":false},"data":{"url":"https://www.linkedin.com/in/andrexibiza/details/education/","tags":["mba","finance","data-analytics","credentials"],"curatedId":"education-history"}},{"id":"education:jwu-aas-culinary-arts","kind":"education","label":"Associate of Arts and Sciences (AAS), Culinary Arts/Chef Training — Johnson & Wales University","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"degree":"Associate of Arts and Sciences (AAS), Culinary Arts/Chef Training","school":"Johnson & Wales University","dates":"Started 2016","completion":"completed AAS; completion date not asserted","name":"Associate of Arts and Sciences (AAS), Culinary Arts/Chef Training — Johnson & Wales University","state":"PUBLISHED"}},{"id":"education:jwu-data-analytics-study","kind":"education","label":"Graduate study in Data Analytics — Johnson & Wales University","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SPECIFICATION_ONLY"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"degree":"Graduate study in Data Analytics","school":"Johnson & Wales University","dates":"LinkedIn/Kaggle/Tableau record","completion":"study recorded; degree completion not asserted","name":"Graduate study in Data Analytics — Johnson & Wales University","state":"SPECIFICATION_ONLY"}},{"id":"education:jwu-mba-finance","kind":"education","label":"Master of Business Administration (MBA), Finance — Johnson & Wales University","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"degree":"Master of Business Administration (MBA), Finance","school":"Johnson & Wales University","dates":"March 2020-August 2022","completion":"completed","name":"Master of Business Administration (MBA), Finance — Johnson & Wales University","state":"PUBLISHED"}},{"id":"evidence:claim-source:chef-career-and-mba:www-linkedin-com-in-andrexibiza-https-www-linkedin-com-in-andrexibiza-2026-08-28","kind":"evidence","label":"www.linkedin.com/in/andrexibiza/","summary":"https://www.linkedin.com/in/andrexibiza/","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/","retrievedAt":"2026-08-28","durable":false,"immutable":false},"data":{"url":"https://www.linkedin.com/in/andrexibiza/","claimId":"chef-career-and-mba"}},{"id":"evidence:claim-source:graph-gated-engineering-5x2x3-authorship:drive-google-com-file-d-1gyr9aikbp7b6tefmynoyp-p606fmzfvs-view-https-drive-google-com-file-d-1gyr9aikbp7b6tefmynoyp-p606fmzfvs-view-usp-drive-link-2026-08-28","kind":"evidence","label":"drive.google.com/file/d/1GYR9AikBP7B6teFMyNOyp-P606fMzfVS/view","summary":"https://drive.google.com/file/d/1GYR9AikBP7B6teFMyNOyp-P606fMzfVS/view?usp=drive_link","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"drive.google.com","url":"https://drive.google.com/file/d/1GYR9AikBP7B6teFMyNOyp-P606fMzfVS/view?usp=drive_link","retrievedAt":"2026-08-28","durable":false,"immutable":false},"data":{"url":"https://drive.google.com/file/d/1GYR9AikBP7B6teFMyNOyp-P606fMzfVS/view?usp=drive_link","claimId":"graph-gated-engineering-5x2x3-authorship"}},{"id":"evidence:claim-source:graph-gated-epic-20-of-20:github-com-nousresearch-hermes-agent-issues-78647-https-github-com-nousresearch-hermes-agent-issues-78647-2026-08-28","kind":"evidence","label":"github.com/NousResearch/hermes-agent/issues/78647","summary":"https://github.com/NousResearch/hermes-agent/issues/78647","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"github.com","url":"https://github.com/NousResearch/hermes-agent/issues/78647","retrievedAt":"2026-08-28","durable":false,"immutable":false},"data":{"url":"https://github.com/NousResearch/hermes-agent/issues/78647","claimId":"graph-gated-epic-20-of-20"}},{"id":"evidence:claim-source:graph-gated-epic-interlock:github-com-nousresearch-hermes-agent-issues-78647-https-github-com-nousresearch-hermes-agent-issues-78647-2026-08-28","kind":"evidence","label":"github.com/NousResearch/hermes-agent/issues/78647","summary":"https://github.com/NousResearch/hermes-agent/issues/78647","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"github.com","url":"https://github.com/NousResearch/hermes-agent/issues/78647","retrievedAt":"2026-08-28","durable":false,"immutable":false},"data":{"url":"https://github.com/NousResearch/hermes-agent/issues/78647","claimId":"graph-gated-epic-interlock"}},{"id":"evidence:claim-source:graph-gated-paper-doctrine:drive-google-com-file-d-1gyr9aikbp7b6tefmynoyp-p606fmzfvs-view-https-drive-google-com-file-d-1gyr9aikbp7b6tefmynoyp-p606fmzfvs-view-usp-drive-link-2026-08-28","kind":"evidence","label":"drive.google.com/file/d/1GYR9AikBP7B6teFMyNOyp-P606fMzfVS/view","summary":"https://drive.google.com/file/d/1GYR9AikBP7B6teFMyNOyp-P606fMzfVS/view?usp=drive_link","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"drive.google.com","url":"https://drive.google.com/file/d/1GYR9AikBP7B6teFMyNOyp-P606fMzfVS/view?usp=drive_link","retrievedAt":"2026-08-28","durable":false,"immutable":false},"data":{"url":"https://drive.google.com/file/d/1GYR9AikBP7B6teFMyNOyp-P606fMzfVS/view?usp=drive_link","claimId":"graph-gated-paper-doctrine"}},{"id":"evidence:claim-source:hermes-agent-contributor-nous-research:www-linkedin-com-in-andrexibiza-https-www-linkedin-com-in-andrexibiza-2026-08-28","kind":"evidence","label":"www.linkedin.com/in/andrexibiza/","summary":"https://www.linkedin.com/in/andrexibiza/","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/","retrievedAt":"2026-08-28","durable":false,"immutable":false},"data":{"url":"https://www.linkedin.com/in/andrexibiza/","claimId":"hermes-agent-contributor-nous-research"}},{"id":"evidence:claim-source:hermes-pr-90198-ci-state:github-com-nousresearch-hermes-agent-actions-runs-32544489239-https-github-com-nousresearch-hermes-agent-actions-runs-32544489239-2026-08-28","kind":"evidence","label":"github.com/NousResearch/hermes-agent/actions/runs/32544489239","summary":"https://github.com/NousResearch/hermes-agent/actions/runs/32544489239","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"github.com","url":"https://github.com/NousResearch/hermes-agent/actions/runs/32544489239","retrievedAt":"2026-08-28","durable":false,"immutable":false},"data":{"url":"https://github.com/NousResearch/hermes-agent/actions/runs/32544489239","claimId":"hermes-pr-90198-ci-state"}},{"id":"evidence:claim-source:hermes-pr-90198-ci-state:github-com-nousresearch-hermes-agent-actions-runs-32544489257-https-github-com-nousresearch-hermes-agent-actions-runs-32544489257-2026-08-28","kind":"evidence","label":"github.com/NousResearch/hermes-agent/actions/runs/32544489257","summary":"https://github.com/NousResearch/hermes-agent/actions/runs/32544489257","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"github.com","url":"https://github.com/NousResearch/hermes-agent/actions/runs/32544489257","retrievedAt":"2026-08-28","durable":false,"immutable":false},"data":{"url":"https://github.com/NousResearch/hermes-agent/actions/runs/32544489257","claimId":"hermes-pr-90198-ci-state"}},{"id":"evidence:claim-source:hermes-pr-90198-ci-state:github-com-nousresearch-hermes-agent-actions-runs-32544489752-https-github-com-nousresearch-hermes-agent-actions-runs-32544489752-2026-08-28","kind":"evidence","label":"github.com/NousResearch/hermes-agent/actions/runs/32544489752","summary":"https://github.com/NousResearch/hermes-agent/actions/runs/32544489752","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"github.com","url":"https://github.com/NousResearch/hermes-agent/actions/runs/32544489752","retrievedAt":"2026-08-28","durable":false,"immutable":false},"data":{"url":"https://github.com/NousResearch/hermes-agent/actions/runs/32544489752","claimId":"hermes-pr-90198-ci-state"}},{"id":"evidence:claim-source:hermes-pr-90198-credit-ledger:github-com-nousresearch-hermes-agent-pull-90198-https-github-com-nousresearch-hermes-agent-pull-90198-2026-08-28","kind":"evidence","label":"github.com/NousResearch/hermes-agent/pull/90198","summary":"https://github.com/NousResearch/hermes-agent/pull/90198","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"github.com","url":"https://github.com/NousResearch/hermes-agent/pull/90198","retrievedAt":"2026-08-28","durable":false,"immutable":false},"data":{"url":"https://github.com/NousResearch/hermes-agent/pull/90198","claimId":"hermes-pr-90198-credit-ledger"}},{"id":"evidence:claim-source:hermes-pr-90198-merged:github-com-nousresearch-hermes-agent-commit-38ce2d7553c42af591a59087cb62ea018f9e6917-https-github-com-nousresearch-hermes-agent-commit-38ce2d7553c42af591a59087cb62ea018f9e6917-2026-08-28","kind":"evidence","label":"github.com/NousResearch/hermes-agent/commit/38ce2d7553c42af591a59087cb62ea018f9e6917","summary":"https://github.com/NousResearch/hermes-agent/commit/38ce2d7553c42af591a59087cb62ea018f9e6917","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"github.com","url":"https://github.com/NousResearch/hermes-agent/commit/38ce2d7553c42af591a59087cb62ea018f9e6917","retrievedAt":"2026-08-28","durable":false,"immutable":false},"data":{"url":"https://github.com/NousResearch/hermes-agent/commit/38ce2d7553c42af591a59087cb62ea018f9e6917","claimId":"hermes-pr-90198-merged"}},{"id":"evidence:claim-source:hermes-pr-90198-merged:github-com-nousresearch-hermes-agent-pull-90198-https-github-com-nousresearch-hermes-agent-pull-90198-2026-08-28","kind":"evidence","label":"github.com/NousResearch/hermes-agent/pull/90198","summary":"https://github.com/NousResearch/hermes-agent/pull/90198","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"github.com","url":"https://github.com/NousResearch/hermes-agent/pull/90198","retrievedAt":"2026-08-28","durable":false,"immutable":false},"data":{"url":"https://github.com/NousResearch/hermes-agent/pull/90198","claimId":"hermes-pr-90198-merged"}},{"id":"evidence:claim-source:hermes-pr-90198-routing-contract:github-com-nousresearch-hermes-agent-pull-90198-https-github-com-nousresearch-hermes-agent-pull-90198-2026-08-28","kind":"evidence","label":"github.com/NousResearch/hermes-agent/pull/90198","summary":"https://github.com/NousResearch/hermes-agent/pull/90198","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"github.com","url":"https://github.com/NousResearch/hermes-agent/pull/90198","retrievedAt":"2026-08-28","durable":false,"immutable":false},"data":{"url":"https://github.com/NousResearch/hermes-agent/pull/90198","claimId":"hermes-pr-90198-routing-contract"}},{"id":"evidence:claim-source:identity-display-name:github-com-andrexibiza-https-github-com-andrexibiza-2026-08-28","kind":"evidence","label":"github.com/andrexibiza","summary":"https://github.com/andrexibiza","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"github.com","url":"https://github.com/andrexibiza","retrievedAt":"2026-08-28","durable":false,"immutable":false},"data":{"url":"https://github.com/andrexibiza","claimId":"identity-display-name"}},{"id":"evidence:claim-source:identity-display-name:www-linkedin-com-in-andrexibiza-https-www-linkedin-com-in-andrexibiza-2026-08-28","kind":"evidence","label":"www.linkedin.com/in/andrexibiza/","summary":"https://www.linkedin.com/in/andrexibiza/","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/","retrievedAt":"2026-08-28","durable":false,"immutable":false},"data":{"url":"https://www.linkedin.com/in/andrexibiza/","claimId":"identity-display-name"}},{"id":"evidence:claim-source:refusal-algebra-authorship:github-com-nousresearch-hermes-agent-issues-95750-https-github-com-nousresearch-hermes-agent-issues-95750-2026-08-31","kind":"evidence","label":"github.com/NousResearch/hermes-agent/issues/95750","summary":"https://github.com/NousResearch/hermes-agent/issues/95750","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"github.com","url":"https://github.com/NousResearch/hermes-agent/issues/95750","retrievedAt":"2026-08-31","durable":false,"immutable":false},"data":{"url":"https://github.com/NousResearch/hermes-agent/issues/95750","claimId":"refusal-algebra-authorship"}},{"id":"evidence:claim-source:refusal-algebra-implementation-boundary:github-com-nousresearch-hermes-agent-issues-95750-https-github-com-nousresearch-hermes-agent-issues-95750-2026-08-31","kind":"evidence","label":"github.com/NousResearch/hermes-agent/issues/95750","summary":"https://github.com/NousResearch/hermes-agent/issues/95750","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"github.com","url":"https://github.com/NousResearch/hermes-agent/issues/95750","retrievedAt":"2026-08-31","durable":false,"immutable":false},"data":{"url":"https://github.com/NousResearch/hermes-agent/issues/95750","claimId":"refusal-algebra-implementation-boundary"}},{"id":"evidence:claim-source:refusal-algebra-result-domain:github-com-nousresearch-hermes-agent-issues-95750-https-github-com-nousresearch-hermes-agent-issues-95750-2026-08-31","kind":"evidence","label":"github.com/NousResearch/hermes-agent/issues/95750","summary":"https://github.com/NousResearch/hermes-agent/issues/95750","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"github.com","url":"https://github.com/NousResearch/hermes-agent/issues/95750","retrievedAt":"2026-08-31","durable":false,"immutable":false},"data":{"url":"https://github.com/NousResearch/hermes-agent/issues/95750","claimId":"refusal-algebra-result-domain"}},{"id":"experience:hermes-contributor","kind":"experience","label":"Hermes Agent Contributor","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"lifecycles":["lifecycle-event:experience-hermes-contributor-current"],"data":{"status":"CURRENT"}},{"id":"github:issue:I_kwDOPRF1G88AAAABL3TMVQ","kind":"issue","label":"refactor(context_compressor): extract summary kernel (LB8)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-07T14:34:32Z","updatedAt":"2026-08-07T16:22:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/81105"},"data":{"closedAt":null,"createdAt":"2026-08-07T14:34:32Z","number":81105,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(context_compressor): extract summary kernel (LB8)","updatedAt":"2026-08-07T16:22:35Z","url":"https://github.com/NousResearch/hermes-agent/issues/81105","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABL7aDgg","kind":"issue","label":"[Campaign EPIC] WeChat Revolution — feature parity, decomposition, and alignment","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-08T02:21:40Z","updatedAt":"2026-08-08T02:29:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/81454"},"data":{"closedAt":null,"createdAt":"2026-08-08T02:21:40Z","number":81454,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Campaign EPIC] WeChat Revolution — feature parity, decomposition, and alignment","updatedAt":"2026-08-08T02:29:34Z","url":"https://github.com/NousResearch/hermes-agent/issues/81454","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLbij0Q","kind":"issue","label":"[meta] Keystone README accuracy + steering-surface alignment — consolidates #78540/#78546/#78566/#78567","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T15:13:05Z","updatedAt":"2026-08-11T04:07:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78568"},"data":{"closedAt":null,"createdAt":"2026-08-04T15:13:05Z","number":78568,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[meta] Keystone README accuracy + steering-surface alignment — consolidates #78540/#78546/#78566/#78567","updatedAt":"2026-08-11T04:07:54Z","url":"https://github.com/NousResearch/hermes-agent/issues/78568","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLbiO8Q","kind":"issue","label":"bug(gateway): onboarding tells messaging users to /busy but the command is cli_only — 'Unknown command' on every platform","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-04T15:12:33Z","updatedAt":"2026-08-04T16:25:52Z","closedAt":"2026-08-04T16:25:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78566"},"data":{"closedAt":"2026-08-04T16:25:52Z","createdAt":"2026-08-04T15:12:33Z","number":78566,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"bug(gateway): onboarding tells messaging users to /busy but the command is cli_only — 'Unknown command' on every platform","updatedAt":"2026-08-04T16:25:52Z","url":"https://github.com/NousResearch/hermes-agent/issues/78566","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLbiPtQ","kind":"issue","label":"docs+code conflict: /model provider:model colon syntax — model_switch.py rejects it, slash-commands.md documents it","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T15:12:34Z","updatedAt":"2026-08-17T23:37:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78567"},"data":{"closedAt":null,"createdAt":"2026-08-04T15:12:34Z","number":78567,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs+code conflict: /model provider:model colon syntax — model_switch.py rejects it, slash-commands.md documents it","updatedAt":"2026-08-17T23:37:05Z","url":"https://github.com/NousResearch/hermes-agent/issues/78567","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLbNbqw","kind":"issue","label":"docs(readme): keystone README interrupt row contradicts /busy steer model; high-value quick starts missing","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T14:36:52Z","updatedAt":"2026-08-18T00:01:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78539"},"data":{"closedAt":null,"createdAt":"2026-08-04T14:36:52Z","number":78539,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(readme): keystone README interrupt row contradicts /busy steer model; high-value quick starts missing","updatedAt":"2026-08-18T00:01:52Z","url":"https://github.com/NousResearch/hermes-agent/issues/78539","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLbNq3w","kind":"issue","label":"docs(readme): interrupt-current-work row should reference /busy steering surface, not Ctrl+C","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-04T14:37:18Z","updatedAt":"2026-08-04T16:25:49Z","closedAt":"2026-08-04T16:25:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78540"},"data":{"closedAt":"2026-08-04T16:25:49Z","createdAt":"2026-08-04T14:37:18Z","number":78540,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"docs(readme): interrupt-current-work row should reference /busy steering surface, not Ctrl+C","updatedAt":"2026-08-04T16:25:49Z","url":"https://github.com/NousResearch/hermes-agent/issues/78540","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLc7HXA","kind":"issue","label":"test label probe — close me","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-04T18:07:27Z","updatedAt":"2026-08-04T18:20:58Z","closedAt":"2026-08-04T18:20:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78811"},"data":{"closedAt":"2026-08-04T18:20:15Z","createdAt":"2026-08-04T18:07:27Z","number":78811,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"test label probe — close me","updatedAt":"2026-08-04T18:20:58Z","url":"https://github.com/NousResearch/hermes-agent/issues/78811","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcPewA","kind":"issue","label":"Shard hermes_cli/web_server.py (god-file decomposition)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T16:37:13Z","updatedAt":"2026-08-06T00:23:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78628"},"data":{"closedAt":null,"createdAt":"2026-08-04T16:37:13Z","number":78628,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_cli/web_server.py (god-file decomposition)","updatedAt":"2026-08-06T00:23:52Z","url":"https://github.com/NousResearch/hermes-agent/issues/78628","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcPfhA","kind":"issue","label":"Shard tests/test_tui_gateway_server.py (god-file decomposition)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T16:37:14Z","updatedAt":"2026-08-06T19:18:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78629"},"data":{"closedAt":null,"createdAt":"2026-08-04T16:37:14Z","number":78629,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tests/test_tui_gateway_server.py (god-file decomposition)","updatedAt":"2026-08-06T19:18:01Z","url":"https://github.com/NousResearch/hermes-agent/issues/78629","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcPgPQ","kind":"issue","label":"Shard tui_gateway/server.py (god-file decomposition)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T16:37:16Z","updatedAt":"2026-08-06T00:23:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78630"},"data":{"closedAt":null,"createdAt":"2026-08-04T16:37:16Z","number":78630,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tui_gateway/server.py (god-file decomposition)","updatedAt":"2026-08-06T00:23:54Z","url":"https://github.com/NousResearch/hermes-agent/issues/78630","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcPh7Q","kind":"issue","label":"Shard hermes_cli/kanban_db.py (god-file decomposition)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T16:37:19Z","updatedAt":"2026-08-07T02:14:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78632"},"data":{"closedAt":null,"createdAt":"2026-08-04T16:37:19Z","number":78632,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_cli/kanban_db.py (god-file decomposition)","updatedAt":"2026-08-07T02:14:51Z","url":"https://github.com/NousResearch/hermes-agent/issues/78632","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcPhJw","kind":"issue","label":"Shard hermes_cli/main.py (god-file decomposition)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T16:37:18Z","updatedAt":"2026-08-06T05:12:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78631"},"data":{"closedAt":null,"createdAt":"2026-08-04T16:37:18Z","number":78631,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_cli/main.py (god-file decomposition)","updatedAt":"2026-08-06T05:12:49Z","url":"https://github.com/NousResearch/hermes-agent/issues/78631","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcPisA","kind":"issue","label":"Shard plugins/platforms/telegram/adapter.py (god-file decomposition)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T16:37:21Z","updatedAt":"2026-08-06T00:23:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78633"},"data":{"closedAt":null,"createdAt":"2026-08-04T16:37:21Z","number":78633,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard plugins/platforms/telegram/adapter.py (god-file decomposition)","updatedAt":"2026-08-06T00:23:58Z","url":"https://github.com/NousResearch/hermes-agent/issues/78633","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcPjMQ","kind":"issue","label":"Shard plugins/platforms/discord/adapter.py (god-file decomposition)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T16:37:22Z","updatedAt":"2026-08-06T00:23:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78634"},"data":{"closedAt":null,"createdAt":"2026-08-04T16:37:22Z","number":78634,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard plugins/platforms/discord/adapter.py (god-file decomposition)","updatedAt":"2026-08-06T00:23:59Z","url":"https://github.com/NousResearch/hermes-agent/issues/78634","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcPjwg","kind":"issue","label":"Shard agent/auxiliary_client.py (god-file decomposition)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T16:37:23Z","updatedAt":"2026-08-07T02:25:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78635"},"data":{"closedAt":null,"createdAt":"2026-08-04T16:37:23Z","number":78635,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard agent/auxiliary_client.py (god-file decomposition)","updatedAt":"2026-08-07T02:25:12Z","url":"https://github.com/NousResearch/hermes-agent/issues/78635","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcPl6g","kind":"issue","label":"Shard hermes_cli/auth.py (god-file decomposition)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T16:37:27Z","updatedAt":"2026-08-07T00:40:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78637"},"data":{"closedAt":null,"createdAt":"2026-08-04T16:37:27Z","number":78637,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_cli/auth.py (god-file decomposition)","updatedAt":"2026-08-07T00:40:09Z","url":"https://github.com/NousResearch/hermes-agent/issues/78637","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcPlOw","kind":"issue","label":"Shard hermes_state.py (god-file decomposition)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T16:37:26Z","updatedAt":"2026-08-06T15:31:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78636"},"data":{"closedAt":null,"createdAt":"2026-08-04T16:37:26Z","number":78636,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_state.py (god-file decomposition)","updatedAt":"2026-08-06T15:31:13Z","url":"https://github.com/NousResearch/hermes-agent/issues/78636","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcPmfw","kind":"issue","label":"Shard plugins/platforms/slack/adapter.py (god-file decomposition)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T16:37:28Z","updatedAt":"2026-08-09T14:55:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78638"},"data":{"closedAt":null,"createdAt":"2026-08-04T16:37:28Z","number":78638,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard plugins/platforms/slack/adapter.py (god-file decomposition)","updatedAt":"2026-08-09T14:55:26Z","url":"https://github.com/NousResearch/hermes-agent/issues/78638","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcPnaw","kind":"issue","label":"Shard run_agent.py (god-file decomposition)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T16:37:30Z","updatedAt":"2026-08-06T11:03:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78639"},"data":{"closedAt":null,"createdAt":"2026-08-04T16:37:30Z","number":78639,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard run_agent.py (god-file decomposition)","updatedAt":"2026-08-06T11:03:27Z","url":"https://github.com/NousResearch/hermes-agent/issues/78639","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcPopQ","kind":"issue","label":"Shard hermes_cli/gateway.py (god-file decomposition)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T16:37:33Z","updatedAt":"2026-08-11T00:17:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78640"},"data":{"closedAt":null,"createdAt":"2026-08-04T16:37:33Z","number":78640,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_cli/gateway.py (god-file decomposition)","updatedAt":"2026-08-11T00:17:42Z","url":"https://github.com/NousResearch/hermes-agent/issues/78640","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcPpVg","kind":"issue","label":"Shard agent/conversation_loop.py (god-file decomposition)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T16:37:34Z","updatedAt":"2026-08-12T17:13:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78641"},"data":{"closedAt":null,"createdAt":"2026-08-04T16:37:34Z","number":78641,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard agent/conversation_loop.py (god-file decomposition)","updatedAt":"2026-08-12T17:13:46Z","url":"https://github.com/NousResearch/hermes-agent/issues/78641","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcPqlg","kind":"issue","label":"Shard tools/mcp_tool.py (god-file decomposition)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T16:37:35Z","updatedAt":"2026-08-30T19:33:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78642"},"data":{"closedAt":null,"createdAt":"2026-08-04T16:37:35Z","number":78642,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tools/mcp_tool.py (god-file decomposition)","updatedAt":"2026-08-30T19:33:54Z","url":"https://github.com/NousResearch/hermes-agent/issues/78642","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcPrVQ","kind":"issue","label":"Shard gateway/platforms/api_server.py (god-file decomposition)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T16:37:37Z","updatedAt":"2026-08-11T00:33:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78643"},"data":{"closedAt":null,"createdAt":"2026-08-04T16:37:37Z","number":78643,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard gateway/platforms/api_server.py (god-file decomposition)","updatedAt":"2026-08-11T00:33:59Z","url":"https://github.com/NousResearch/hermes-agent/issues/78643","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcPsGQ","kind":"issue","label":"Shard gateway/platforms/base.py (god-file decomposition)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T16:37:38Z","updatedAt":"2026-08-06T12:23:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78644"},"data":{"closedAt":null,"createdAt":"2026-08-04T16:37:38Z","number":78644,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard gateway/platforms/base.py (god-file decomposition)","updatedAt":"2026-08-06T12:23:45Z","url":"https://github.com/NousResearch/hermes-agent/issues/78644","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcPswA","kind":"issue","label":"Shard agent/context_compressor.py (god-file decomposition)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T16:37:39Z","updatedAt":"2026-08-07T16:20:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78645"},"data":{"closedAt":null,"createdAt":"2026-08-04T16:37:39Z","number":78645,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard agent/context_compressor.py (god-file decomposition)","updatedAt":"2026-08-07T16:20:01Z","url":"https://github.com/NousResearch/hermes-agent/issues/78645","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcQAOQ","kind":"issue","label":"[COMPLETE] Large-file decomposition: 20/20 done","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-04T16:38:17Z","updatedAt":"2026-08-30T18:52:12Z","closedAt":"2026-08-12T18:31:02Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78647"},"data":{"closedAt":"2026-08-12T18:31:02Z","createdAt":"2026-08-04T16:38:17Z","number":78647,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"[COMPLETE] Large-file decomposition: 20/20 done","updatedAt":"2026-08-30T18:52:12Z","url":"https://github.com/NousResearch/hermes-agent/issues/78647","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcv_fQ","kind":"issue","label":"feat(telegram): support sendDice and stop dropping inbound dice messages","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:57Z","updatedAt":"2026-08-06T00:51:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78744"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:57Z","number":78744,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): support sendDice and stop dropping inbound dice messages","updatedAt":"2026-08-06T00:51:41Z","url":"https://github.com/NousResearch/hermes-agent/issues/78744","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcv-Ng","kind":"issue","label":"docs(telegram): document media-routing env vars and extension/MIME tables","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:54Z","updatedAt":"2026-08-06T00:51:37Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78742"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:54Z","number":78742,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(telegram): document media-routing env vars and extension/MIME tables","updatedAt":"2026-08-06T00:51:37Z","url":"https://github.com/NousResearch/hermes-agent/issues/78742","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcv-xg","kind":"issue","label":"feat(telegram): support native polls via sendPoll/stopPoll (InputPollOption)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:55Z","updatedAt":"2026-08-06T00:51:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78743"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:55Z","number":78743,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): support native polls via sendPoll/stopPoll (InputPollOption)","updatedAt":"2026-08-06T00:51:39Z","url":"https://github.com/NousResearch/hermes-agent/issues/78743","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcv0_g","kind":"issue","label":"feat(telegram): handle or drop the 20+ subscribed-but-unhandled update types","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:33Z","updatedAt":"2026-08-06T00:51:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78728"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:33Z","number":78728,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): handle or drop the 20+ subscribed-but-unhandled update types","updatedAt":"2026-08-06T00:51:11Z","url":"https://github.com/NousResearch/hermes-agent/issues/78728","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcv0aw","kind":"issue","label":"feat(telegram): editMessageCaption/Media/ReplyMarkup/LiveLocation beyond text-only edits","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:32Z","updatedAt":"2026-08-06T00:51:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78727"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:32Z","number":78727,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): editMessageCaption/Media/ReplyMarkup/LiveLocation beyond text-only edits","updatedAt":"2026-08-06T00:51:09Z","url":"https://github.com/NousResearch/hermes-agent/issues/78727","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcv1nw","kind":"issue","label":"docs(telegram): document TELEGRAM_WEBHOOK_HOST and other undocumented TELEGRAM_* vars","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:35Z","updatedAt":"2026-08-06T00:51:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78729"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:35Z","number":78729,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(telegram): document TELEGRAM_WEBHOOK_HOST and other undocumented TELEGRAM_* vars","updatedAt":"2026-08-06T00:51:13Z","url":"https://github.com/NousResearch/hermes-agent/issues/78729","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcv29g","kind":"issue","label":"feat(telegram): ReplyParameters quote/quote_position/allow_sending_without_reply","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:38Z","updatedAt":"2026-08-06T00:51:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78732"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:38Z","number":78732,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): ReplyParameters quote/quote_position/allow_sending_without_reply","updatedAt":"2026-08-06T00:51:17Z","url":"https://github.com/NousResearch/hermes-agent/issues/78732","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcv2Sw","kind":"issue","label":"docs(telegram): fix reaction lifecycle emojis (docs say ✅/❌, code sets 👍/👎)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:36Z","updatedAt":"2026-08-10T15:31:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78731"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:36Z","number":78731,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(telegram): fix reaction lifecycle emojis (docs say ✅/❌, code sets 👍/👎)","updatedAt":"2026-08-10T15:31:06Z","url":"https://github.com/NousResearch/hermes-agent/issues/78731","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcv3jg","kind":"issue","label":"feat(telegram): outbound sendLocation/sendVenue/sendContact (pins, venue cards, contacts)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:39Z","updatedAt":"2026-08-06T00:51:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78733"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:39Z","number":78733,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): outbound sendLocation/sendVenue/sendContact (pins, venue cards, contacts)","updatedAt":"2026-08-06T00:51:20Z","url":"https://github.com/NousResearch/hermes-agent/issues/78733","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcv45Q","kind":"issue","label":"feat(telegram): sendLivePhoto — outgoing live photos (video+photo pair) unexpressed","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:42Z","updatedAt":"2026-08-06T00:51:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78735"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:42Z","number":78735,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): sendLivePhoto — outgoing live photos (video+photo pair) unexpressed","updatedAt":"2026-08-06T00:51:24Z","url":"https://github.com/NousResearch/hermes-agent/issues/78735","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcv4Ow","kind":"issue","label":"feat(telegram): venue fidelity — sendVenue fields + inbound foursquare/google place IDs","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:41Z","updatedAt":"2026-08-06T00:51:22Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78734"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:41Z","number":78734,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): venue fidelity — sendVenue fields + inbound foursquare/google place IDs","updatedAt":"2026-08-06T00:51:22Z","url":"https://github.com/NousResearch/hermes-agent/issues/78734","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcv5yg","kind":"issue","label":"fix(telegram): inbound GIF/animation dropped — no filters.ANIMATION, no MessageType","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:44Z","updatedAt":"2026-08-06T00:51:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78736"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:44Z","number":78736,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(telegram): inbound GIF/animation dropped — no filters.ANIMATION, no MessageType","updatedAt":"2026-08-06T00:51:26Z","url":"https://github.com/NousResearch/hermes-agent/issues/78736","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcv6hg","kind":"issue","label":"feat(telegram): story lifecycle — post/repost/edit/deleteStory unexpressed","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:46Z","updatedAt":"2026-08-06T00:51:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78737"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:46Z","number":78737,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): story lifecycle — post/repost/edit/deleteStory unexpressed","updatedAt":"2026-08-06T00:51:28Z","url":"https://github.com/NousResearch/hermes-agent/issues/78737","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcv7RA","kind":"issue","label":"feat(telegram): sendPaidMedia — Star-gated media (InputPaidMedia, star_count, payload)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:48Z","updatedAt":"2026-08-06T00:51:29Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78738"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:48Z","number":78738,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): sendPaidMedia — Star-gated media (InputPaidMedia, star_count, payload)","updatedAt":"2026-08-06T00:51:29Z","url":"https://github.com/NousResearch/hermes-agent/issues/78738","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcv87A","kind":"issue","label":"docs(telegram): document inbound sticker/location-pin/album behaviors","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:51Z","updatedAt":"2026-08-06T00:51:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78740"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:51Z","number":78740,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(telegram): document inbound sticker/location-pin/album behaviors","updatedAt":"2026-08-06T00:51:34Z","url":"https://github.com/NousResearch/hermes-agent/issues/78740","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcv8Cw","kind":"issue","label":"fix(telegram): sendAudio drops performer/title/thumbnail and caption parse_mode","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:49Z","updatedAt":"2026-08-06T00:51:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78739"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:49Z","number":78739,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(telegram): sendAudio drops performer/title/thumbnail and caption parse_mode","updatedAt":"2026-08-06T00:51:31Z","url":"https://github.com/NousResearch/hermes-agent/issues/78739","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcv9nw","kind":"issue","label":"feat(telegram): getUserProfilePhotos/getUserProfileAudios/setUserEmojiStatus","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:53Z","updatedAt":"2026-08-06T00:51:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78741"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:53Z","number":78741,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): getUserProfilePhotos/getUserProfileAudios/setUserEmojiStatus","updatedAt":"2026-08-06T00:51:35Z","url":"https://github.com/NousResearch/hermes-agent/issues/78741","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvaog","kind":"issue","label":"feat(telegram): venue fidelity — sendVenue fields + inbound foursquare/google place IDs","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:37Z","updatedAt":"2026-08-09T15:29:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78701"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:37Z","number":78701,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): venue fidelity — sendVenue fields + inbound foursquare/google place IDs","updatedAt":"2026-08-09T15:29:46Z","url":"https://github.com/NousResearch/hermes-agent/issues/78701","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvb5w","kind":"issue","label":"fix(telegram): inbound GIF/animation dropped — no filters.ANIMATION, no MessageType","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:40Z","updatedAt":"2026-08-09T15:29:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78703"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:40Z","number":78703,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(telegram): inbound GIF/animation dropped — no filters.ANIMATION, no MessageType","updatedAt":"2026-08-09T15:29:50Z","url":"https://github.com/NousResearch/hermes-agent/issues/78703","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvbSg","kind":"issue","label":"feat(telegram): sendLivePhoto — outgoing live photos (video+photo pair) unexpressed","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:38Z","updatedAt":"2026-08-09T15:29:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78702"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:38Z","number":78702,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): sendLivePhoto — outgoing live photos (video+photo pair) unexpressed","updatedAt":"2026-08-09T15:29:48Z","url":"https://github.com/NousResearch/hermes-agent/issues/78702","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvciA","kind":"issue","label":"feat(telegram): story lifecycle — post/repost/edit/deleteStory unexpressed","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:41Z","updatedAt":"2026-08-09T15:29:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78704"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:41Z","number":78704,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): story lifecycle — post/repost/edit/deleteStory unexpressed","updatedAt":"2026-08-09T15:29:52Z","url":"https://github.com/NousResearch/hermes-agent/issues/78704","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvdAA","kind":"issue","label":"feat(telegram): sendPaidMedia — Star-gated media (InputPaidMedia, star_count, payload)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:42Z","updatedAt":"2026-08-09T15:29:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78705"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:42Z","number":78705,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): sendPaidMedia — Star-gated media (InputPaidMedia, star_count, payload)","updatedAt":"2026-08-09T15:29:54Z","url":"https://github.com/NousResearch/hermes-agent/issues/78705","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvdqA","kind":"issue","label":"fix(telegram): sendAudio drops performer/title/thumbnail and caption parse_mode","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:44Z","updatedAt":"2026-08-09T15:29:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78707"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:44Z","number":78707,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(telegram): sendAudio drops performer/title/thumbnail and caption parse_mode","updatedAt":"2026-08-09T15:29:56Z","url":"https://github.com/NousResearch/hermes-agent/issues/78707","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcve6w","kind":"issue","label":"feat(telegram): getUserProfilePhotos/getUserProfileAudios/setUserEmojiStatus","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:46Z","updatedAt":"2026-08-09T15:30:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78709"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:46Z","number":78709,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): getUserProfilePhotos/getUserProfileAudios/setUserEmojiStatus","updatedAt":"2026-08-09T15:30:00Z","url":"https://github.com/NousResearch/hermes-agent/issues/78709","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvePw","kind":"issue","label":"docs(telegram): document inbound sticker/location-pin/album behaviors","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:45Z","updatedAt":"2026-08-13T17:12:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78708"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:45Z","number":78708,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(telegram): document inbound sticker/location-pin/album behaviors","updatedAt":"2026-08-13T17:12:24Z","url":"https://github.com/NousResearch/hermes-agent/issues/78708","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvfgQ","kind":"issue","label":"docs(telegram): document media-routing env vars and extension/MIME tables","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:48Z","updatedAt":"2026-08-13T17:10:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78710"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:48Z","number":78710,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(telegram): document media-routing env vars and extension/MIME tables","updatedAt":"2026-08-13T17:10:15Z","url":"https://github.com/NousResearch/hermes-agent/issues/78710","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvgPA","kind":"issue","label":"feat(telegram): support native polls via sendPoll/stopPoll (InputPollOption)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:49Z","updatedAt":"2026-08-09T15:30:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78711"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:49Z","number":78711,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): support native polls via sendPoll/stopPoll (InputPollOption)","updatedAt":"2026-08-09T15:30:04Z","url":"https://github.com/NousResearch/hermes-agent/issues/78711","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvhTQ","kind":"issue","label":"feat(telegram): support sendDice and stop dropping inbound dice messages","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:51Z","updatedAt":"2026-08-09T15:30:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78713"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:51Z","number":78713,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): support sendDice and stop dropping inbound dice messages","updatedAt":"2026-08-09T15:30:06Z","url":"https://github.com/NousResearch/hermes-agent/issues/78713","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvi2g","kind":"issue","label":"feat(telegram): emit InputRichMessage.is_rtl for RTL rich messages","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:54Z","updatedAt":"2026-08-09T15:30:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78715"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:54Z","number":78715,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): emit InputRichMessage.is_rtl for RTL rich messages","updatedAt":"2026-08-09T15:30:11Z","url":"https://github.com/NousResearch/hermes-agent/issues/78715","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcviEQ","kind":"issue","label":"feat(telegram): support Bot API 10.2 checklists (sendChecklist/editMessageChecklist)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:52Z","updatedAt":"2026-08-09T15:30:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78714"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:52Z","number":78714,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): support Bot API 10.2 checklists (sendChecklist/editMessageChecklist)","updatedAt":"2026-08-09T15:30:09Z","url":"https://github.com/NousResearch/hermes-agent/issues/78714","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvjmA","kind":"issue","label":"feat(telegram): rich sends can't set effect/paid-broadcast/suggested-post params","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:56Z","updatedAt":"2026-08-09T15:30:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78716"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:56Z","number":78716,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): rich sends can't set effect/paid-broadcast/suggested-post params","updatedAt":"2026-08-09T15:30:13Z","url":"https://github.com/NousResearch/hermes-agent/issues/78716","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvkOA","kind":"issue","label":"feat(telegram): surface inbound poll lifecycle (PollAnswer, option add/del)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:57Z","updatedAt":"2026-08-09T15:30:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78717"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:57Z","number":78717,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): surface inbound poll lifecycle (PollAnswer, option add/del)","updatedAt":"2026-08-09T15:30:17Z","url":"https://github.com/NousResearch/hermes-agent/issues/78717","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvksQ","kind":"issue","label":"feat(telegram): surface inbound checklists and ChecklistTasksAdded/Done service updates","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:58Z","updatedAt":"2026-08-09T15:30:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78718"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:58Z","number":78718,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): surface inbound checklists and ChecklistTasksAdded/Done service updates","updatedAt":"2026-08-09T15:30:19Z","url":"https://github.com/NousResearch/hermes-agent/issues/78718","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvl0w","kind":"issue","label":"feat(telegram): add chat-member moderation (ban/unban/restrict/promote)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:01Z","updatedAt":"2026-08-09T15:30:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78720"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:01Z","number":78720,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): add chat-member moderation (ban/unban/restrict/promote)","updatedAt":"2026-08-09T15:30:26Z","url":"https://github.com/NousResearch/hermes-agent/issues/78720","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvlQA","kind":"issue","label":"fix(telegram): inbound dice messages are silently dropped (no DICE handler)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:59Z","updatedAt":"2026-08-09T15:30:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78719"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:59Z","number":78719,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(telegram): inbound dice messages are silently dropped (no DICE handler)","updatedAt":"2026-08-09T15:30:24Z","url":"https://github.com/NousResearch/hermes-agent/issues/78719","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvSUw","kind":"issue","label":"feat(telegram): support paid broadcasts (allow_paid_broadcast) on send paths","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:19Z","updatedAt":"2026-08-06T00:58:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78689"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:19Z","number":78689,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): support paid broadcasts (allow_paid_broadcast) on send paths","updatedAt":"2026-08-06T00:58:14Z","url":"https://github.com/NousResearch/hermes-agent/issues/78689","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvTDw","kind":"issue","label":"feat(telegram): expose LinkPreviewOptions url and prefer_*/show_above_text","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:20Z","updatedAt":"2026-08-06T00:58:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78690"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:20Z","number":78690,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): expose LinkPreviewOptions url and prefer_*/show_above_text","updatedAt":"2026-08-06T00:58:09Z","url":"https://github.com/NousResearch/hermes-agent/issues/78690","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvTjw","kind":"issue","label":"feat(telegram): setMessageReaction is_big, custom emoji, multi-reaction array","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:21Z","updatedAt":"2026-08-06T00:58:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78691"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:21Z","number":78691,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): setMessageReaction is_big, custom emoji, multi-reaction array","updatedAt":"2026-08-06T00:58:04Z","url":"https://github.com/NousResearch/hermes-agent/issues/78691","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvu2g","kind":"issue","label":"feat(telegram): support paid broadcasts (allow_paid_broadcast) on send paths","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:20Z","updatedAt":"2026-08-09T15:29:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78721"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:20Z","number":78721,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): support paid broadcasts (allow_paid_broadcast) on send paths","updatedAt":"2026-08-09T15:29:21Z","url":"https://github.com/NousResearch/hermes-agent/issues/78721","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvU7w","kind":"issue","label":"feat(telegram): use deleteMessages batch (1-100) instead of N single deletes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:25Z","updatedAt":"2026-08-06T00:57:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78693"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:25Z","number":78693,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): use deleteMessages batch (1-100) instead of N single deletes","updatedAt":"2026-08-06T00:57:53Z","url":"https://github.com/NousResearch/hermes-agent/issues/78693","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvUPA","kind":"issue","label":"feat(telegram): forwardMessage/forwardMessages/copyMessage/copyMessages support","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:23Z","updatedAt":"2026-08-06T00:57:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78692"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:23Z","number":78692,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): forwardMessage/forwardMessages/copyMessage/copyMessages support","updatedAt":"2026-08-06T00:57:59Z","url":"https://github.com/NousResearch/hermes-agent/issues/78692","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvVhQ","kind":"issue","label":"feat(telegram): deleteMessageReaction / deleteAllMessageReactions (reaction moderation)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:26Z","updatedAt":"2026-08-09T15:29:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78694"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:26Z","number":78694,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): deleteMessageReaction / deleteAllMessageReactions (reaction moderation)","updatedAt":"2026-08-09T15:29:32Z","url":"https://github.com/NousResearch/hermes-agent/issues/78694","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvw7A","kind":"issue","label":"feat(telegram): setMessageReaction is_big, custom emoji, multi-reaction array","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:25Z","updatedAt":"2026-08-09T15:29:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78723"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:25Z","number":78723,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): setMessageReaction is_big, custom emoji, multi-reaction array","updatedAt":"2026-08-09T15:29:26Z","url":"https://github.com/NousResearch/hermes-agent/issues/78723","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvwCg","kind":"issue","label":"feat(telegram): expose LinkPreviewOptions url and prefer_*/show_above_text","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:23Z","updatedAt":"2026-08-09T15:29:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78722"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:23Z","number":78722,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): expose LinkPreviewOptions url and prefer_*/show_above_text","updatedAt":"2026-08-09T15:29:23Z","url":"https://github.com/NousResearch/hermes-agent/issues/78722","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvWJA","kind":"issue","label":"feat(telegram): editMessageCaption/Media/ReplyMarkup/LiveLocation beyond text-only edits","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:27Z","updatedAt":"2026-08-09T15:29:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78695"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:27Z","number":78695,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): editMessageCaption/Media/ReplyMarkup/LiveLocation beyond text-only edits","updatedAt":"2026-08-09T15:29:34Z","url":"https://github.com/NousResearch/hermes-agent/issues/78695","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvWtg","kind":"issue","label":"feat(telegram): handle or drop the 20+ subscribed-but-unhandled update types","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:28Z","updatedAt":"2026-08-09T15:29:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78696"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:28Z","number":78696,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): handle or drop the 20+ subscribed-but-unhandled update types","updatedAt":"2026-08-09T15:29:36Z","url":"https://github.com/NousResearch/hermes-agent/issues/78696","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvXdA","kind":"issue","label":"docs(telegram): document TELEGRAM_WEBHOOK_HOST and other undocumented TELEGRAM_* vars","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:30Z","updatedAt":"2026-08-13T17:08:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78697"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:30Z","number":78697,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(telegram): document TELEGRAM_WEBHOOK_HOST and other undocumented TELEGRAM_* vars","updatedAt":"2026-08-13T17:08:15Z","url":"https://github.com/NousResearch/hermes-agent/issues/78697","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvxmw","kind":"issue","label":"feat(telegram): forwardMessage/forwardMessages/copyMessage/copyMessages support","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:26Z","updatedAt":"2026-08-09T15:29:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78724"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:26Z","number":78724,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): forwardMessage/forwardMessages/copyMessage/copyMessages support","updatedAt":"2026-08-09T15:29:28Z","url":"https://github.com/NousResearch/hermes-agent/issues/78724","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvYCg","kind":"issue","label":"docs(telegram): fix reaction lifecycle emojis (docs say ✅/❌, code sets 👍/👎)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:32Z","updatedAt":"2026-08-09T15:29:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78698"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:32Z","number":78698,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(telegram): fix reaction lifecycle emojis (docs say ✅/❌, code sets 👍/👎)","updatedAt":"2026-08-09T15:29:40Z","url":"https://github.com/NousResearch/hermes-agent/issues/78698","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvYuQ","kind":"issue","label":"feat(telegram): ReplyParameters quote/quote_position/allow_sending_without_reply","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:33Z","updatedAt":"2026-08-09T15:29:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78699"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:33Z","number":78699,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): ReplyParameters quote/quote_position/allow_sending_without_reply","updatedAt":"2026-08-09T15:29:42Z","url":"https://github.com/NousResearch/hermes-agent/issues/78699","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvyvA","kind":"issue","label":"feat(telegram): use deleteMessages batch (1-100) instead of N single deletes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:29Z","updatedAt":"2026-08-09T15:29:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78725"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:29Z","number":78725,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): use deleteMessages batch (1-100) instead of N single deletes","updatedAt":"2026-08-09T15:29:30Z","url":"https://github.com/NousResearch/hermes-agent/issues/78725","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvZhw","kind":"issue","label":"feat(telegram): outbound sendLocation/sendVenue/sendContact (pins, venue cards, contacts)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:42:35Z","updatedAt":"2026-08-09T15:29:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78700"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:42:35Z","number":78700,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): outbound sendLocation/sendVenue/sendContact (pins, venue cards, contacts)","updatedAt":"2026-08-09T15:29:44Z","url":"https://github.com/NousResearch/hermes-agent/issues/78700","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcvzwA","kind":"issue","label":"feat(telegram): deleteMessageReaction / deleteAllMessageReactions (reaction moderation)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:31Z","updatedAt":"2026-08-06T00:51:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78726"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:31Z","number":78726,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): deleteMessageReaction / deleteAllMessageReactions (reaction moderation)","updatedAt":"2026-08-06T00:51:07Z","url":"https://github.com/NousResearch/hermes-agent/issues/78726","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwa3A","kind":"issue","label":"feat(telegram): reply keyboards — ReplyKeyboardMarkup, KeyboardButton, ForceReply","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:52Z","updatedAt":"2026-08-06T00:52:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78780"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:52Z","number":78780,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): reply keyboards — ReplyKeyboardMarkup, KeyboardButton, ForceReply","updatedAt":"2026-08-06T00:52:58Z","url":"https://github.com/NousResearch/hermes-agent/issues/78780","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwAJA","kind":"issue","label":"feat(telegram): support Bot API 10.2 checklists (sendChecklist/editMessageChecklist)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:43:58Z","updatedAt":"2026-08-06T00:51:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78745"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:43:58Z","number":78745,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): support Bot API 10.2 checklists (sendChecklist/editMessageChecklist)","updatedAt":"2026-08-06T00:51:43Z","url":"https://github.com/NousResearch/hermes-agent/issues/78745","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwB8Q","kind":"issue","label":"feat(telegram): rich sends can't set effect/paid-broadcast/suggested-post params","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:01Z","updatedAt":"2026-08-06T00:51:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78747"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:01Z","number":78747,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): rich sends can't set effect/paid-broadcast/suggested-post params","updatedAt":"2026-08-06T00:51:46Z","url":"https://github.com/NousResearch/hermes-agent/issues/78747","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwBFg","kind":"issue","label":"feat(telegram): emit InputRichMessage.is_rtl for RTL rich messages","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:00Z","updatedAt":"2026-08-06T00:51:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78746"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:00Z","number":78746,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): emit InputRichMessage.is_rtl for RTL rich messages","updatedAt":"2026-08-06T00:51:44Z","url":"https://github.com/NousResearch/hermes-agent/issues/78746","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwbqg","kind":"issue","label":"feat(telegram): inline button variants — url, login_url, switch_inline_query, pay, web_app","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:54Z","updatedAt":"2026-08-06T00:52:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78781"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:54Z","number":78781,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): inline button variants — url, login_url, switch_inline_query, pay, web_app","updatedAt":"2026-08-06T00:52:59Z","url":"https://github.com/NousResearch/hermes-agent/issues/78781","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwcaA","kind":"issue","label":"feat(telegram): setMyCommands full scope coverage + get/deleteMyCommands","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:55Z","updatedAt":"2026-08-06T00:53:02Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78782"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:55Z","number":78782,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): setMyCommands full scope coverage + get/deleteMyCommands","updatedAt":"2026-08-06T00:53:02Z","url":"https://github.com/NousResearch/hermes-agent/issues/78782","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwCoA","kind":"issue","label":"feat(telegram): surface inbound poll lifecycle (PollAnswer, option add/del)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:03Z","updatedAt":"2026-08-06T00:51:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78748"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:03Z","number":78748,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): surface inbound poll lifecycle (PollAnswer, option add/del)","updatedAt":"2026-08-06T00:51:48Z","url":"https://github.com/NousResearch/hermes-agent/issues/78748","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwdOA","kind":"issue","label":"feat(telegram): bot identity/profile — setMyName/Description/ProfilePhoto + menu buttons","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:57Z","updatedAt":"2026-08-09T15:30:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78783"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:57Z","number":78783,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): bot identity/profile — setMyName/Description/ProfilePhoto + menu buttons","updatedAt":"2026-08-09T15:30:33Z","url":"https://github.com/NousResearch/hermes-agent/issues/78783","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwDXA","kind":"issue","label":"feat(telegram): surface inbound checklists and ChecklistTasksAdded/Done service updates","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:05Z","updatedAt":"2026-08-06T00:51:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78749"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:05Z","number":78749,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): surface inbound checklists and ChecklistTasksAdded/Done service updates","updatedAt":"2026-08-06T00:51:50Z","url":"https://github.com/NousResearch/hermes-agent/issues/78749","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwe6Q","kind":"issue","label":"feat(telegram): managed-bot APIs — getManagedBotToken, access settings, updates","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:45:00Z","updatedAt":"2026-08-06T00:53:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78785"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:45:00Z","number":78785,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): managed-bot APIs — getManagedBotToken, access settings, updates","updatedAt":"2026-08-06T00:53:07Z","url":"https://github.com/NousResearch/hermes-agent/issues/78785","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcweDg","kind":"issue","label":"fix(telegram): stop clobbering bot short description with online/offline status text","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:59Z","updatedAt":"2026-08-06T00:53:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78784"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:59Z","number":78784,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(telegram): stop clobbering bot short description with online/offline status text","updatedAt":"2026-08-06T00:53:05Z","url":"https://github.com/NousResearch/hermes-agent/issues/78784","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwEJw","kind":"issue","label":"fix(telegram): inbound dice messages are silently dropped (no DICE handler)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:06Z","updatedAt":"2026-08-06T00:51:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78750"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:06Z","number":78750,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(telegram): inbound dice messages are silently dropped (no DICE handler)","updatedAt":"2026-08-06T00:51:52Z","url":"https://github.com/NousResearch/hermes-agent/issues/78750","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwFIw","kind":"issue","label":"feat(telegram): add chat-member moderation (ban/unban/restrict/promote)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:08Z","updatedAt":"2026-08-06T00:51:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78751"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:08Z","number":78751,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): add chat-member moderation (ban/unban/restrict/promote)","updatedAt":"2026-08-06T00:51:54Z","url":"https://github.com/NousResearch/hermes-agent/issues/78751","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwflA","kind":"issue","label":"feat(telegram): business-account management — profile, gift settings, Star balance","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:45:02Z","updatedAt":"2026-08-06T00:53:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78786"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:45:02Z","number":78786,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): business-account management — profile, gift settings, Star balance","updatedAt":"2026-08-06T00:53:09Z","url":"https://github.com/NousResearch/hermes-agent/issues/78786","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwFwQ","kind":"issue","label":"feat(telegram): add restrictChatMember + setChatPermissions (ChatPermissions)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:10Z","updatedAt":"2026-08-06T00:51:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78752"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:10Z","number":78752,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): add restrictChatMember + setChatPermissions (ChatPermissions)","updatedAt":"2026-08-06T00:51:56Z","url":"https://github.com/NousResearch/hermes-agent/issues/78752","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwGcQ","kind":"issue","label":"feat(telegram): add promoteChatMember + setChatAdministratorCustomTitle","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:11Z","updatedAt":"2026-08-06T00:51:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78753"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:11Z","number":78753,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): add promoteChatMember + setChatAdministratorCustomTitle","updatedAt":"2026-08-06T00:51:58Z","url":"https://github.com/NousResearch/hermes-agent/issues/78753","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwgUQ","kind":"issue","label":"feat(telegram): suggested-post approval + third-party verification APIs","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:45:04Z","updatedAt":"2026-08-06T00:53:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78787"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:45:04Z","number":78787,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): suggested-post approval + third-party verification APIs","updatedAt":"2026-08-06T00:53:11Z","url":"https://github.com/NousResearch/hermes-agent/issues/78787","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwH0w","kind":"issue","label":"feat(telegram): add banChatSenderChat / unbanChatSenderChat (channel bans)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:14Z","updatedAt":"2026-08-06T00:52:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78755"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:14Z","number":78755,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): add banChatSenderChat / unbanChatSenderChat (channel bans)","updatedAt":"2026-08-06T00:52:01Z","url":"https://github.com/NousResearch/hermes-agent/issues/78755","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwh9g","kind":"issue","label":"feat(telegram): setChatMenuButton/getChatMenuButton (folded into identity draft)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-04T17:45:07Z","updatedAt":"2026-08-17T23:07:55Z","closedAt":"2026-08-17T23:07:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78789"},"data":{"closedAt":"2026-08-17T23:07:55Z","createdAt":"2026-08-04T17:45:07Z","number":78789,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(telegram): setChatMenuButton/getChatMenuButton (folded into identity draft)","updatedAt":"2026-08-17T23:07:55Z","url":"https://github.com/NousResearch/hermes-agent/issues/78789","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwhIg","kind":"issue","label":"fix(telegram): answer unknown/data-less callback queries — client spinner never resolves","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:45:05Z","updatedAt":"2026-08-06T00:55:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78788"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:45:05Z","number":78788,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(telegram): answer unknown/data-less callback queries — client spinner never resolves","updatedAt":"2026-08-06T00:55:35Z","url":"https://github.com/NousResearch/hermes-agent/issues/78788","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwHMg","kind":"issue","label":"feat(telegram): add setChatMemberTag + can_manage_tags member-tag support","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:13Z","updatedAt":"2026-08-06T00:51:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78754"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:13Z","number":78754,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): add setChatMemberTag + can_manage_tags member-tag support","updatedAt":"2026-08-06T00:51:59Z","url":"https://github.com/NousResearch/hermes-agent/issues/78754","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwi3g","kind":"issue","label":"feat(telegram): setMyDefaultAdministratorRights/getMyDefaultAdministratorRights","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:45:09Z","updatedAt":"2026-08-06T00:53:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78790"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:45:09Z","number":78790,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): setMyDefaultAdministratorRights/getMyDefaultAdministratorRights","updatedAt":"2026-08-06T00:53:17Z","url":"https://github.com/NousResearch/hermes-agent/issues/78790","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwIpA","kind":"issue","label":"feat(telegram): add invite-link management (create/edit/revoke/export + subscription)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:16Z","updatedAt":"2026-08-06T00:52:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78756"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:16Z","number":78756,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): add invite-link management (create/edit/revoke/export + subscription)","updatedAt":"2026-08-06T00:52:03Z","url":"https://github.com/NousResearch/hermes-agent/issues/78756","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwJVQ","kind":"issue","label":"feat(telegram): handle chat join requests (approve/decline + ChatJoinRequest updates)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:17Z","updatedAt":"2026-08-06T00:52:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78757"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:17Z","number":78757,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): handle chat join requests (approve/decline + ChatJoinRequest updates)","updatedAt":"2026-08-06T00:52:05Z","url":"https://github.com/NousResearch/hermes-agent/issues/78757","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwK5g","kind":"issue","label":"feat(telegram): surface video chat service messages (scheduled/started/ended/invited)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:20Z","updatedAt":"2026-08-06T00:52:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78759"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:20Z","number":78759,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): surface video chat service messages (scheduled/started/ended/invited)","updatedAt":"2026-08-06T00:52:11Z","url":"https://github.com/NousResearch/hermes-agent/issues/78759","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwKIg","kind":"issue","label":"feat(telegram): support chat boosts (getUserChatBoosts + boost updates)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:19Z","updatedAt":"2026-08-06T00:52:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78758"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:19Z","number":78758,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): support chat boosts (getUserChatBoosts + boost updates)","updatedAt":"2026-08-06T00:52:09Z","url":"https://github.com/NousResearch/hermes-agent/issues/78758","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwLgw","kind":"issue","label":"feat(telegram): add forum-topic lifecycle + General-topic admin methods","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:22Z","updatedAt":"2026-08-06T00:52:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78760"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:22Z","number":78760,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): add forum-topic lifecycle + General-topic admin methods","updatedAt":"2026-08-06T00:52:13Z","url":"https://github.com/NousResearch/hermes-agent/issues/78760","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwM6w","kind":"issue","label":"feat(telegram): add leaveChat so the bot can exit a group/channel","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:24Z","updatedAt":"2026-08-06T00:52:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78762"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:24Z","number":78762,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): add leaveChat so the bot can exit a group/channel","updatedAt":"2026-08-06T00:52:17Z","url":"https://github.com/NousResearch/hermes-agent/issues/78762","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwMPw","kind":"issue","label":"feat(telegram): add chat settings setters (title/description/photo/sticker set)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:23Z","updatedAt":"2026-08-06T00:52:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78761"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:23Z","number":78761,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): add chat settings setters (title/description/photo/sticker set)","updatedAt":"2026-08-06T00:52:15Z","url":"https://github.com/NousResearch/hermes-agent/issues/78761","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwNig","kind":"issue","label":"feat(telegram): add chat-member reads (getChatAdministrators/MemberCount/Member)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:26Z","updatedAt":"2026-08-06T00:52:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78763"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:26Z","number":78763,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): add chat-member reads (getChatAdministrators/MemberCount/Member)","updatedAt":"2026-08-06T00:52:19Z","url":"https://github.com/NousResearch/hermes-agent/issues/78763","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwO9Q","kind":"issue","label":"feat(telegram): handle chat_member / my_chat_member updates (ChatMemberUpdated)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:28Z","updatedAt":"2026-08-06T00:52:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78765"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:28Z","number":78765,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): handle chat_member / my_chat_member updates (ChatMemberUpdated)","updatedAt":"2026-08-06T00:52:23Z","url":"https://github.com/NousResearch/hermes-agent/issues/78765","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwOWg","kind":"issue","label":"feat(telegram): add getUserPersonalChatMessages (personal-chat reads)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:27Z","updatedAt":"2026-08-06T00:52:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78764"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:27Z","number":78764,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): add getUserPersonalChatMessages (personal-chat reads)","updatedAt":"2026-08-06T00:52:20Z","url":"https://github.com/NousResearch/hermes-agent/issues/78764","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwPqw","kind":"issue","label":"feat(telegram): create/administer forum topics in supergroups (DM-only today)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:30Z","updatedAt":"2026-08-06T00:52:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78766"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:30Z","number":78766,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): create/administer forum topics in supergroups (DM-only today)","updatedAt":"2026-08-06T00:52:25Z","url":"https://github.com/NousResearch/hermes-agent/issues/78766","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwQVA","kind":"issue","label":"fix(telegram): stop dropping forum/community/owner/access service messages","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:31Z","updatedAt":"2026-08-09T15:30:29Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78767"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:31Z","number":78767,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(telegram): stop dropping forum/community/owner/access service messages","updatedAt":"2026-08-09T15:30:29Z","url":"https://github.com/NousResearch/hermes-agent/issues/78767","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwR6w","kind":"issue","label":"feat(telegram): handle users_shared / chats_shared (KeyboardButtonRequest*)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:35Z","updatedAt":"2026-08-06T00:52:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78769"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:35Z","number":78769,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): handle users_shared / chats_shared (KeyboardButtonRequest*)","updatedAt":"2026-08-06T00:52:31Z","url":"https://github.com/NousResearch/hermes-agent/issues/78769","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwRFA","kind":"issue","label":"feat(telegram): surface ChatFullInfo fields in get_chat_info (4 fields today)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:33Z","updatedAt":"2026-08-06T00:52:29Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78768"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:33Z","number":78768,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): surface ChatFullInfo fields in get_chat_info (4 fields today)","updatedAt":"2026-08-06T00:52:29Z","url":"https://github.com/NousResearch/hermes-agent/issues/78768","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwSiw","kind":"issue","label":"docs(telegram): document allowed_topics / TELEGRAM_ALLOWED_TOPICS gating","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:36Z","updatedAt":"2026-08-13T17:04:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78770"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:36Z","number":78770,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(telegram): document allowed_topics / TELEGRAM_ALLOWED_TOPICS gating","updatedAt":"2026-08-13T17:04:55Z","url":"https://github.com/NousResearch/hermes-agent/issues/78770","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwTPg","kind":"issue","label":"feat(telegram): surface ChatOwnerLeft / ChatOwnerChanged service messages","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:37Z","updatedAt":"2026-08-06T00:52:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78771"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:37Z","number":78771,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): surface ChatOwnerLeft / ChatOwnerChanged service messages","updatedAt":"2026-08-06T00:52:35Z","url":"https://github.com/NousResearch/hermes-agent/issues/78771","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwU4w","kind":"issue","label":"feat(telegram): parse inbound DirectMessagesTopic (routing via thread_id only)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:41Z","updatedAt":"2026-08-06T00:52:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78773"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:41Z","number":78773,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): parse inbound DirectMessagesTopic (routing via thread_id only)","updatedAt":"2026-08-06T00:52:39Z","url":"https://github.com/NousResearch/hermes-agent/issues/78773","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwULQ","kind":"issue","label":"docs(telegram): document lazy per-forum command-menu registration","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:39Z","updatedAt":"2026-08-10T15:36:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78772"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:39Z","number":78772,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(telegram): document lazy per-forum command-menu registration","updatedAt":"2026-08-10T15:36:54Z","url":"https://github.com/NousResearch/hermes-agent/issues/78772","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwVkA","kind":"issue","label":"feat(telegram): inline mode — answerInlineQuery + InlineQueryResult types","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-04T17:44:42Z","updatedAt":"2026-08-31T09:19:20Z","closedAt":"2026-08-30T04:08:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78774"},"data":{"closedAt":"2026-08-30T04:08:47Z","createdAt":"2026-08-04T17:44:42Z","number":78774,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(telegram): inline mode — answerInlineQuery + InlineQueryResult types","updatedAt":"2026-08-31T09:19:20Z","url":"https://github.com/NousResearch/hermes-agent/issues/78774","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwWhg","kind":"issue","label":"feat(telegram): payments & Stars — sendInvoice, answerPreCheckoutQuery, ledger","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:44Z","updatedAt":"2026-08-06T00:52:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78775"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:44Z","number":78775,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): payments & Stars — sendInvoice, answerPreCheckoutQuery, ledger","updatedAt":"2026-08-06T00:52:44Z","url":"https://github.com/NousResearch/hermes-agent/issues/78775","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwXXw","kind":"issue","label":"feat(telegram): gifts API — sendGift, getAvailableGifts, gift upgrades/transfers","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:45Z","updatedAt":"2026-08-06T00:52:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78776"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:45Z","number":78776,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): gifts API — sendGift, getAvailableGifts, gift upgrades/transfers","updatedAt":"2026-08-06T00:52:46Z","url":"https://github.com/NousResearch/hermes-agent/issues/78776","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwYIg","kind":"issue","label":"feat(telegram): games API — sendGame, setGameScore, getGameHighScores","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:47Z","updatedAt":"2026-08-06T00:52:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78777"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:47Z","number":78777,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): games API — sendGame, setGameScore, getGameHighScores","updatedAt":"2026-08-06T00:52:48Z","url":"https://github.com/NousResearch/hermes-agent/issues/78777","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwYvA","kind":"issue","label":"feat(telegram): WebApp buttons, answerWebAppQuery, prepared-message APIs","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:48Z","updatedAt":"2026-08-06T00:52:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78778"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:48Z","number":78778,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): WebApp buttons, answerWebAppQuery, prepared-message APIs","updatedAt":"2026-08-06T00:52:50Z","url":"https://github.com/NousResearch/hermes-agent/issues/78778","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcwZdg","kind":"issue","label":"feat(telegram): Passport — PassportData ingestion + setPassportDataErrors","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:44:50Z","updatedAt":"2026-08-06T00:52:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78779"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:44:50Z","number":78779,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): Passport — PassportData ingestion + setPassportDataErrors","updatedAt":"2026-08-06T00:52:54Z","url":"https://github.com/NousResearch/hermes-agent/issues/78779","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcxGqA","kind":"issue","label":"Telegram Feature Parity & Alignment Campaign (Bot API 10.2) — meta-issue","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:46:18Z","updatedAt":"2026-08-11T18:11:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78791"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:46:18Z","number":78791,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Telegram Feature Parity & Alignment Campaign (Bot API 10.2) — meta-issue","updatedAt":"2026-08-11T18:11:06Z","url":"https://github.com/NousResearch/hermes-agent/issues/78791","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcxHcg","kind":"issue","label":"feat(telegram): adapter.py god-file decomposition plan (six-wave cluster map)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:46:19Z","updatedAt":"2026-08-06T22:56:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78792"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:46:19Z","number":78792,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telegram): adapter.py god-file decomposition plan (six-wave cluster map)","updatedAt":"2026-08-06T22:56:53Z","url":"https://github.com/NousResearch/hermes-agent/issues/78792","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLcxNog","kind":"issue","label":"fix: write_file/patch silently corrupt git-managed state in normal repos (.git/HEAD, refs/, index)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T17:46:31Z","updatedAt":"2026-08-17T23:26:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78793"},"data":{"closedAt":null,"createdAt":"2026-08-04T17:46:31Z","number":78793,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix: write_file/patch silently corrupt git-managed state in normal repos (.git/HEAD, refs/, index)","updatedAt":"2026-08-17T23:26:43Z","url":"https://github.com/NousResearch/hermes-agent/issues/78793","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLeYCYg","kind":"issue","label":"feat(ops): phased disk winddown — persist-before-delete, subagent-run audit trail never lost","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T21:21:24Z","updatedAt":"2026-08-04T21:30:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78914"},"data":{"closedAt":null,"createdAt":"2026-08-04T21:21:24Z","number":78914,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(ops): phased disk winddown — persist-before-delete, subagent-run audit trail never lost","updatedAt":"2026-08-04T21:30:53Z","url":"https://github.com/NousResearch/hermes-agent/issues/78914","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLeYKpA","kind":"issue","label":"feat(devx): worktree health gate + self-heal — survive concurrent-session contamination","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T21:21:42Z","updatedAt":"2026-08-04T21:30:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78915"},"data":{"closedAt":null,"createdAt":"2026-08-04T21:21:42Z","number":78915,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(devx): worktree health gate + self-heal — survive concurrent-session contamination","updatedAt":"2026-08-04T21:30:50Z","url":"https://github.com/NousResearch/hermes-agent/issues/78915","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLl-WbA","kind":"issue","label":"[Bug]: Windows hermes update import path must stay PyYAML-free","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-05T16:18:58Z","updatedAt":"2026-08-12T08:46:51Z","closedAt":"2026-08-12T08:46:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79500"},"data":{"closedAt":"2026-08-12T08:46:51Z","createdAt":"2026-08-05T16:18:58Z","number":79500,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"[Bug]: Windows hermes update import path must stay PyYAML-free","updatedAt":"2026-08-12T08:46:51Z","url":"https://github.com/NousResearch/hermes-agent/issues/79500","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLLtj7A","kind":"issue","label":"feat(usage): desktop app has no local token/cost analytics surface despite full metering in core","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T01:25:48Z","updatedAt":"2026-08-11T18:38:02Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77221"},"data":{"closedAt":null,"createdAt":"2026-08-03T01:25:48Z","number":77221,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(usage): desktop app has no local token/cost analytics surface despite full metering in core","updatedAt":"2026-08-11T18:38:02Z","url":"https://github.com/NousResearch/hermes-agent/issues/77221","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLLtlng","kind":"issue","label":"feat(usage): surface included/estimated/unknown cost buckets in aggregate views","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-03T01:25:54Z","updatedAt":"2026-08-13T20:34:26Z","closedAt":"2026-08-13T20:34:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77223"},"data":{"closedAt":"2026-08-13T20:34:26Z","createdAt":"2026-08-03T01:25:54Z","number":77223,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(usage): surface included/estimated/unknown cost buckets in aggregate views","updatedAt":"2026-08-13T20:34:26Z","url":"https://github.com/NousResearch/hermes-agent/issues/77223","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLLtlPA","kind":"issue","label":"feat(insights): add per-day token/cost time-series aggregation to InsightsEngine","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T01:25:53Z","updatedAt":"2026-08-06T22:43:22Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77222"},"data":{"closedAt":null,"createdAt":"2026-08-03T01:25:53Z","number":77222,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(insights): add per-day token/cost time-series aggregation to InsightsEngine","updatedAt":"2026-08-06T22:43:22Z","url":"https://github.com/NousResearch/hermes-agent/issues/77222","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLLYbfA","kind":"issue","label":"fix(security): exact-value applied-secret redaction missing on tool-result -> provider egress path","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T00:03:14Z","updatedAt":"2026-08-21T23:46:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77162"},"data":{"closedAt":null,"createdAt":"2026-08-03T00:03:14Z","number":77162,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): exact-value applied-secret redaction missing on tool-result -> provider egress path","updatedAt":"2026-08-21T23:46:04Z","url":"https://github.com/NousResearch/hermes-agent/issues/77162","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLLYjBA","kind":"issue","label":"fix(security): child-process env scrub is name-shape heuristic; non-credential-shaped applied secrets leak to children","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T00:03:44Z","updatedAt":"2026-08-14T13:16:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77164"},"data":{"closedAt":null,"createdAt":"2026-08-03T00:03:44Z","number":77164,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): child-process env scrub is name-shape heuristic; non-credential-shaped applied secrets leak to children","updatedAt":"2026-08-14T13:16:47Z","url":"https://github.com/NousResearch/hermes-agent/issues/77164","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLLYnyg","kind":"issue","label":"fix(security): applied-secrets snapshot not wired into provider-egress redaction (tool results, sanitized context, terminal output)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T00:04:03Z","updatedAt":"2026-08-12T03:24:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77165"},"data":{"closedAt":null,"createdAt":"2026-08-03T00:04:03Z","number":77165,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): applied-secrets snapshot not wired into provider-egress redaction (tool results, sanitized context, terminal output)","updatedAt":"2026-08-12T03:24:23Z","url":"https://github.com/NousResearch/hermes-agent/issues/77165","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLMGRHg","kind":"issue","label":"feat(security): desktop Safety section is bare config toggles — no posture, no explainers, no verification","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T02:55:21Z","updatedAt":"2026-08-06T22:43:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77262"},"data":{"closedAt":null,"createdAt":"2026-08-03T02:55:21Z","number":77262,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(security): desktop Safety section is bare config toggles — no posture, no explainers, no verification","updatedAt":"2026-08-06T22:43:25Z","url":"https://github.com/NousResearch/hermes-agent/issues/77262","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLmpF6g","kind":"issue","label":"Discord Feature Parity & Alignment Campaign (API v10) — meta-issue","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T17:47:00Z","updatedAt":"2026-08-21T23:45:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79564"},"data":{"closedAt":null,"createdAt":"2026-08-05T17:47:00Z","number":79564,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord Feature Parity & Alignment Campaign (API v10) — meta-issue","updatedAt":"2026-08-21T23:45:40Z","url":"https://github.com/NousResearch/hermes-agent/issues/79564","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLMUCJQ","kind":"issue","label":"fix(delegation): failed API calls consume the subagent iteration budget, starving the fallback chain","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T03:44:40Z","updatedAt":"2026-08-18T02:55:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77305"},"data":{"closedAt":null,"createdAt":"2026-08-03T03:44:40Z","number":77305,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(delegation): failed API calls consume the subagent iteration budget, starving the fallback chain","updatedAt":"2026-08-18T02:55:06Z","url":"https://github.com/NousResearch/hermes-agent/issues/77305","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7a0g","kind":"issue","label":"fix(secrets): stale-cache offline fallback can mask credential breaks — 'timed out' outranks auth markers; 200-char truncation hides them","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:31Z","updatedAt":"2026-08-03T16:50:29Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77477"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:31Z","number":77477,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(secrets): stale-cache offline fallback can mask credential breaks — 'timed out' outranks auth markers; 200-char truncation hides them","updatedAt":"2026-08-03T16:50:29Z","url":"https://github.com/NousResearch/hermes-agent/issues/77477","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7aXw","kind":"issue","label":"fix(ci): test-runner fragility — exit-code-5 = pass, flake retry launders gate failures, no Windows CI job","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:30Z","updatedAt":"2026-08-17T23:39:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77476"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:30Z","number":77476,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(ci): test-runner fragility — exit-code-5 = pass, flake retry launders gate failures, no Windows CI job","updatedAt":"2026-08-17T23:39:27Z","url":"https://github.com/NousResearch/hermes-agent/issues/77476","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7b5g","kind":"issue","label":"fix(secrets): cache migration TOCTOU — crash window between encrypted replace and plaintext unlink; op reports success on unlink failure","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:33Z","updatedAt":"2026-08-03T08:32:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77479"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:33Z","number":77479,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(secrets): cache migration TOCTOU — crash window between encrypted replace and plaintext unlink; op reports success on unlink failure","updatedAt":"2026-08-03T08:32:30Z","url":"https://github.com/NousResearch/hermes-agent/issues/77479","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7bXA","kind":"issue","label":"fix(secrets): HKDF-SHA256 single-pass with no key stretching — low-entropy tokens are brute-forceable offline from the encrypted cache","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:32Z","updatedAt":"2026-08-03T08:32:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77478"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:32Z","number":77478,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(secrets): HKDF-SHA256 single-pass with no key stretching — low-entropy tokens are brute-forceable offline from the encrypted cache","updatedAt":"2026-08-03T08:32:34Z","url":"https://github.com/NousResearch/hermes-agent/issues/77478","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7dIQ","kind":"issue","label":"fix(secrets): server_url unvalidated (http:// accepted; ambient BWS_SERVER_URL preserved) and project_id lacks a -- terminator","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:34Z","updatedAt":"2026-08-03T08:32:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77480"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:34Z","number":77480,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(secrets): server_url unvalidated (http:// accepted; ambient BWS_SERVER_URL preserved) and project_id lacks a -- terminator","updatedAt":"2026-08-03T08:32:27Z","url":"https://github.com/NousResearch/hermes-agent/issues/77480","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7doA","kind":"issue","label":"fix(secrets): .env write hygiene — loose modes preserved, write-on-read rewrites, backslash-n injection, stale .op.env resurrection","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:35Z","updatedAt":"2026-08-03T08:32:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77481"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:35Z","number":77481,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(secrets): .env write hygiene — loose modes preserved, write-on-read rewrites, backslash-n injection, stale .op.env resurrection","updatedAt":"2026-08-03T08:32:23Z","url":"https://github.com/NousResearch/hermes-agent/issues/77481","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7eFA","kind":"issue","label":"fix(secrets): CommandSource — 1MiB cap enforced after full buffering, orphaned helpers survive with credentials, unlogged silent code exec","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:36Z","updatedAt":"2026-08-03T08:32:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77482"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:36Z","number":77482,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(secrets): CommandSource — 1MiB cap enforced after full buffering, orphaned helpers survive with credentials, unlogged silent code exec","updatedAt":"2026-08-03T08:32:20Z","url":"https://github.com/NousResearch/hermes-agent/issues/77482","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7epg","kind":"issue","label":"fix(secrets): registry semantics — empty-value truthiness defeats override_existing, disabled-source bootstrap vars clobberable, error surfaces leak references","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:38Z","updatedAt":"2026-08-03T08:32:16Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77483"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:38Z","number":77483,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(secrets): registry semantics — empty-value truthiness defeats override_existing, disabled-source bootstrap vars clobberable, error surfaces leak references","updatedAt":"2026-08-03T08:32:16Z","url":"https://github.com/NousResearch/hermes-agent/issues/77483","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7fKg","kind":"issue","label":"fix(security): emission gaps — process(list) raw, traceback in tool result, *_KEY regex miss, control-char split, ACP plain formatter","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-03T08:21:39Z","updatedAt":"2026-08-07T11:31:25Z","closedAt":"2026-08-07T11:31:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77484"},"data":{"closedAt":"2026-08-07T11:31:25Z","createdAt":"2026-08-03T08:21:39Z","number":77484,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(security): emission gaps — process(list) raw, traceback in tool result, *_KEY regex miss, control-char split, ACP plain formatter","updatedAt":"2026-08-07T11:31:25Z","url":"https://github.com/NousResearch/hermes-agent/issues/77484","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7fpA","kind":"issue","label":"fix(secrets): cache-key collisions — unescaped pipe joins, home_path divergence, identity metadata in plaintext","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:40Z","updatedAt":"2026-08-03T08:32:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77485"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:40Z","number":77485,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(secrets): cache-key collisions — unescaped pipe joins, home_path divergence, identity metadata in plaintext","updatedAt":"2026-08-03T08:32:08Z","url":"https://github.com/NousResearch/hermes-agent/issues/77485","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7gJQ","kind":"issue","label":"fix(security): Electron and browser-profile storage — connection.json token, in-flight journal, Chromium cookies unencrypted","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:41Z","updatedAt":"2026-08-03T08:32:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77486"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:41Z","number":77486,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): Electron and browser-profile storage — connection.json token, in-flight journal, Chromium cookies unencrypted","updatedAt":"2026-08-03T08:32:05Z","url":"https://github.com/NousResearch/hermes-agent/issues/77486","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7gpA","kind":"issue","label":"fix(secrets): egress non-text parts and tool_calls arguments pass unmasked; gate assertions are presence-only","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:42Z","updatedAt":"2026-08-03T08:32:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77487"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:42Z","number":77487,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(secrets): egress non-text parts and tool_calls arguments pass unmasked; gate assertions are presence-only","updatedAt":"2026-08-03T08:32:01Z","url":"https://github.com/NousResearch/hermes-agent/issues/77487","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7SMQ","kind":"issue","label":"fix(security): Windows at-rest ACL hole — _secure_file is a no-op on Windows, secrets readable by SYSTEM/Administrators","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:13Z","updatedAt":"2026-08-17T23:44:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77462"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:13Z","number":77462,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): Windows at-rest ACL hole — _secure_file is a no-op on Windows, secrets readable by SYSTEM/Administrators","updatedAt":"2026-08-17T23:44:12Z","url":"https://github.com/NousResearch/hermes-agent/issues/77462","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7SsA","kind":"issue","label":"fix(security): child-env scrub bypasses — post-scrub env.update(os.environ) in TUI host, LSP full-env, _HERMES_FORCE_ unwrap, docker forward-env","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:15Z","updatedAt":"2026-08-23T23:07:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77463"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:15Z","number":77463,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): child-env scrub bypasses — post-scrub env.update(os.environ) in TUI host, LSP full-env, _HERMES_FORCE_ unwrap, docker forward-env","updatedAt":"2026-08-23T23:07:00Z","url":"https://github.com/NousResearch/hermes-agent/issues/77463","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7Tdg","kind":"issue","label":"fix(security): multi-profile isolation — default profile's config and vault values bleed into every profile's environment","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:16Z","updatedAt":"2026-08-13T13:56:29Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77464"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:16Z","number":77464,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): multi-profile isolation — default profile's config and vault values bleed into every profile's environment","updatedAt":"2026-08-13T13:56:29Z","url":"https://github.com/NousResearch/hermes-agent/issues/77464","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7UmA","kind":"issue","label":"fix(secrets): provider-egress redaction gaps — plain-.env secrets unmasked, encoding transforms bypass, uncovered assembly sites, post-mask mutation","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:18Z","updatedAt":"2026-08-17T23:50:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77465"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:18Z","number":77465,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(secrets): provider-egress redaction gaps — plain-.env secrets unmasked, encoding transforms bypass, uncovered assembly sites, post-mask mutation","updatedAt":"2026-08-17T23:50:40Z","url":"https://github.com/NousResearch/hermes-agent/issues/77465","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7VIQ","kind":"issue","label":"fix(security): vault CLI binaries trusted unverified — planted bws/op on PATH or binary_path receives live credentials","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:19Z","updatedAt":"2026-08-17T23:45:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77466"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:19Z","number":77466,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): vault CLI binaries trusted unverified — planted bws/op on PATH or binary_path receives live credentials","updatedAt":"2026-08-17T23:45:24Z","url":"https://github.com/NousResearch/hermes-agent/issues/77466","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7Vog","kind":"issue","label":"fix(security): vault CLI child gets the FULL os.environ — bws/op children and CLI probes receive every provider credential","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:20Z","updatedAt":"2026-08-11T01:04:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77467"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:20Z","number":77467,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): vault CLI child gets the FULL os.environ — bws/op children and CLI probes receive every provider credential","updatedAt":"2026-08-11T01:04:05Z","url":"https://github.com/NousResearch/hermes-agent/issues/77467","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7WIg","kind":"issue","label":"fix(secrets): CLI token flags expose vault tokens in process list, shell history, and CI logs","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:21Z","updatedAt":"2026-08-03T08:33:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77468"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:21Z","number":77468,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(secrets): CLI token flags expose vault tokens in process list, shell history, and CI logs","updatedAt":"2026-08-03T08:33:11Z","url":"https://github.com/NousResearch/hermes-agent/issues/77468","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7WsQ","kind":"issue","label":"fix(secrets): setup wizard persists an unvalidated token, destroying the working one on a bad paste","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:22Z","updatedAt":"2026-08-03T08:33:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77469"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:22Z","number":77469,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(secrets): setup wizard persists an unvalidated token, destroying the working one on a bad paste","updatedAt":"2026-08-03T08:33:07Z","url":"https://github.com/NousResearch/hermes-agent/issues/77469","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7XNQ","kind":"issue","label":"fix(security): state snapshots and emergency .bak copies persist .env, auth.json, and full transcripts in plaintext","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:23Z","updatedAt":"2026-08-03T08:33:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77470"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:23Z","number":77470,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): state snapshots and emergency .bak copies persist .env, auth.json, and full transcripts in plaintext","updatedAt":"2026-08-03T08:33:04Z","url":"https://github.com/NousResearch/hermes-agent/issues/77470","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7XzA","kind":"issue","label":"fix(security): WEBHOOK_SECRET and model API keys land in plaintext config.yaml, violating the .env-only-secrets rule","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:24Z","updatedAt":"2026-08-06T00:55:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77471"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:24Z","number":77471,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): WEBHOOK_SECRET and model API keys land in plaintext config.yaml, violating the .env-only-secrets rule","updatedAt":"2026-08-06T00:55:33Z","url":"https://github.com/NousResearch/hermes-agent/issues/77471","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7YUg","kind":"issue","label":"fix(security): request dumps, trajectory/MoA JSONL, pending_messages, and /save persist unredacted tool content","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:25Z","updatedAt":"2026-08-15T06:00:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77472"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:25Z","number":77472,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): request dumps, trajectory/MoA JSONL, pending_messages, and /save persist unredacted tool content","updatedAt":"2026-08-15T06:00:05Z","url":"https://github.com/NousResearch/hermes-agent/issues/77472","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7Yww","kind":"issue","label":"fix(ci): the no-exfiltration gate and OP_* strip exist on only one branch each — the merged fix set doesn't compose","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:26Z","updatedAt":"2026-08-03T08:32:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77473"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:26Z","number":77473,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(ci): the no-exfiltration gate and OP_* strip exist on only one branch each — the merged fix set doesn't compose","updatedAt":"2026-08-03T08:32:53Z","url":"https://github.com/NousResearch/hermes-agent/issues/77473","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7Z2g","kind":"issue","label":"fix(test): the no-exfiltration gate never runs a real tool subprocess","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:29Z","updatedAt":"2026-08-03T08:32:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77475"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:29Z","number":77475,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(test): the no-exfiltration gate never runs a real tool subprocess","updatedAt":"2026-08-03T08:32:45Z","url":"https://github.com/NousResearch/hermes-agent/issues/77475","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLN7ZVw","kind":"issue","label":"fix(secrets): wire-path redaction is config-gated with no force — HERMES_REDACT_SECRETS=false silently disables the gate","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:21:27Z","updatedAt":"2026-08-03T08:32:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77474"},"data":{"closedAt":null,"createdAt":"2026-08-03T08:21:27Z","number":77474,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(secrets): wire-path redaction is config-gated with no force — HERMES_REDACT_SECRETS=false silently disables the gate","updatedAt":"2026-08-03T08:32:49Z","url":"https://github.com/NousResearch/hermes-agent/issues/77474","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLpCILw","kind":"issue","label":"Slack Feature Parity & @Hermes Tag Campaign — meta-issue","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T23:47:37Z","updatedAt":"2026-08-21T23:53:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79772"},"data":{"closedAt":null,"createdAt":"2026-08-05T23:47:37Z","number":79772,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Slack Feature Parity & @Hermes Tag Campaign — meta-issue","updatedAt":"2026-08-21T23:53:31Z","url":"https://github.com/NousResearch/hermes-agent/issues/79772","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9ahw","kind":"issue","label":"feat(whatsapp): WhatsApp Payments (payment messages / UPI) unsupported on both backends","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:27Z","updatedAt":"2026-08-06T06:20:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80101"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:27Z","number":80101,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): WhatsApp Payments (payment messages / UPI) unsupported on both backends","updatedAt":"2026-08-06T06:20:42Z","url":"https://github.com/NousResearch/hermes-agent/issues/80101","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9AWg","kind":"issue","label":"feat(whatsapp): surface inbound edits/revokes and add outbound delete on Baileys","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:18Z","updatedAt":"2026-08-06T06:40:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80050"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:18Z","number":80050,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): surface inbound edits/revokes and add outbound delete on Baileys","updatedAt":"2026-08-06T06:40:23Z","url":"https://github.com/NousResearch/hermes-agent/issues/80050","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9AzQ","kind":"issue","label":"feat(whatsapp): add outbound sticker send on Cloud and Baileys adapters","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:20Z","updatedAt":"2026-08-09T15:30:38Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80051"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:20Z","number":80051,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): add outbound sticker send on Cloud and Baileys adapters","updatedAt":"2026-08-09T15:30:38Z","url":"https://github.com/NousResearch/hermes-agent/issues/80051","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9b8Q","kind":"issue","label":"feat(whatsapp): outbound ephemeral/view-once messages + ephemeral marker on inbound","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:31Z","updatedAt":"2026-08-06T06:20:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80104"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:31Z","number":80104,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): outbound ephemeral/view-once messages + ephemeral marker on inbound","updatedAt":"2026-08-06T06:20:31Z","url":"https://github.com/NousResearch/hermes-agent/issues/80104","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9bBA","kind":"issue","label":"feat(whatsapp): catalogs & commerce messages (single/multi-product, carousel) unsupported","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:28Z","updatedAt":"2026-08-06T06:20:38Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80102"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:28Z","number":80102,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): catalogs & commerce messages (single/multi-product, carousel) unsupported","updatedAt":"2026-08-06T06:20:38Z","url":"https://github.com/NousResearch/hermes-agent/issues/80102","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9bhA","kind":"issue","label":"feat(whatsapp): Baileys native buttons/lists — clarify/approval degrade to text","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:30Z","updatedAt":"2026-08-06T06:20:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80103"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:30Z","number":80103,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): Baileys native buttons/lists — clarify/approval degrade to text","updatedAt":"2026-08-06T06:20:35Z","url":"https://github.com/NousResearch/hermes-agent/issues/80103","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9BQA","kind":"issue","label":"fix(whatsapp): Cloud voice notes never set the documented `voice` flag","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:21Z","updatedAt":"2026-08-06T06:40:16Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80052"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:21Z","number":80052,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(whatsapp): Cloud voice notes never set the documented `voice` flag","updatedAt":"2026-08-06T06:40:16Z","url":"https://github.com/NousResearch/hermes-agent/issues/80052","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9BuA","kind":"issue","label":"fix(whatsapp): Cloud reaction/location/contacts webhooks become empty agent turns","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:22Z","updatedAt":"2026-08-09T15:30:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80053"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:22Z","number":80053,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(whatsapp): Cloud reaction/location/contacts webhooks become empty agent turns","updatedAt":"2026-08-09T15:30:40Z","url":"https://github.com/NousResearch/hermes-agent/issues/80053","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9CSg","kind":"issue","label":"feat(whatsapp): route Cloud group-shaped messages instead of hard-dropping them","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:24Z","updatedAt":"2026-08-06T06:40:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80054"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:24Z","number":80054,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): route Cloud group-shaped messages instead of hard-dropping them","updatedAt":"2026-08-06T06:40:09Z","url":"https://github.com/NousResearch/hermes-agent/issues/80054","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9Cyg","kind":"issue","label":"fix(whatsapp): Cloud quoted-reply text lost when quote was never rich-indexed","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:25Z","updatedAt":"2026-08-06T06:40:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80055"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:25Z","number":80055,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(whatsapp): Cloud quoted-reply text lost when quote was never rich-indexed","updatedAt":"2026-08-06T06:40:05Z","url":"https://github.com/NousResearch/hermes-agent/issues/80055","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9cZw","kind":"issue","label":"feat(whatsapp): optional opt-in status/story posting (Baileys); Cloud N/A — document","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:32Z","updatedAt":"2026-08-06T06:20:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80105"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:32Z","number":80105,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): optional opt-in status/story posting (Baileys); Cloud N/A — document","updatedAt":"2026-08-06T06:20:28Z","url":"https://github.com/NousResearch/hermes-agent/issues/80105","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9D-Q","kind":"issue","label":"docs(whatsapp): soften 'instant' read-receipt claim or ack at webhook receipt","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:28Z","updatedAt":"2026-08-10T15:34:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80057"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:28Z","number":80057,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(whatsapp): soften 'instant' read-receipt claim or ack at webhook receipt","updatedAt":"2026-08-10T15:34:05Z","url":"https://github.com/NousResearch/hermes-agent/issues/80057","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9Ddg","kind":"issue","label":"fix(whatsapp): Cloud delivery-failure statuses are only debug-logged, never surfaced","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:27Z","updatedAt":"2026-08-06T06:40:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80056"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:27Z","number":80056,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(whatsapp): Cloud delivery-failure statuses are only debug-logged, never surfaced","updatedAt":"2026-08-06T06:40:01Z","url":"https://github.com/NousResearch/hermes-agent/issues/80056","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9dVw","kind":"issue","label":"fix(whatsapp): Cloud inbound location/contacts/reaction/order arrive as empty text events","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:33Z","updatedAt":"2026-08-06T06:20:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80106"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:33Z","number":80106,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(whatsapp): Cloud inbound location/contacts/reaction/order arrive as empty text events","updatedAt":"2026-08-06T06:20:25Z","url":"https://github.com/NousResearch/hermes-agent/issues/80106","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9dyw","kind":"issue","label":"feat(whatsapp): sticker send + contact-card send, location-request & CTA URL buttons","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:34Z","updatedAt":"2026-08-06T06:20:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80107"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:34Z","number":80107,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): sticker send + contact-card send, location-request & CTA URL buttons","updatedAt":"2026-08-06T06:20:19Z","url":"https://github.com/NousResearch/hermes-agent/issues/80107","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9EjA","kind":"issue","label":"feat(whatsapp): outbound contact (vCard) sharing on both WhatsApp adapters","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:30Z","updatedAt":"2026-08-06T06:39:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80058"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:30Z","number":80058,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): outbound contact (vCard) sharing on both WhatsApp adapters","updatedAt":"2026-08-06T06:39:54Z","url":"https://github.com/NousResearch/hermes-agent/issues/80058","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9emw","kind":"issue","label":"feat(whatsapp): capability negotiation for backend feature divides (Cloud vs Baileys)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:37Z","updatedAt":"2026-08-06T06:20:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80109"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:37Z","number":80109,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): capability negotiation for backend feature divides (Cloud vs Baileys)","updatedAt":"2026-08-06T06:20:10Z","url":"https://github.com/NousResearch/hermes-agent/issues/80109","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9ePQ","kind":"issue","label":"docs(whatsapp): per-backend rich-feature capability matrix (Cloud vs Baileys)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:36Z","updatedAt":"2026-08-06T06:20:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80108"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:36Z","number":80108,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(whatsapp): per-backend rich-feature capability matrix (Cloud vs Baileys)","updatedAt":"2026-08-06T06:20:15Z","url":"https://github.com/NousResearch/hermes-agent/issues/80108","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9F9g","kind":"issue","label":"fix(whatsapp): streaming edits skip markdown formatting and fragment long replies","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:34Z","updatedAt":"2026-08-06T06:39:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80061"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:34Z","number":80061,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(whatsapp): streaming edits skip markdown formatting and fragment long replies","updatedAt":"2026-08-06T06:39:41Z","url":"https://github.com/NousResearch/hermes-agent/issues/80061","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9fbg","kind":"issue","label":"feat(whatsapp): implement interactive list model picker for /model on WhatsApp","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:39Z","updatedAt":"2026-08-06T06:20:02Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80111"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:39Z","number":80111,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): implement interactive list model picker for /model on WhatsApp","updatedAt":"2026-08-06T06:20:02Z","url":"https://github.com/NousResearch/hermes-agent/issues/80111","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9fBw","kind":"issue","label":"feat(whatsapp): surface Cloud delivery statuses (sent/delivered/read/failed) to the agent","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:38Z","updatedAt":"2026-08-06T06:20:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80110"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:38Z","number":80110,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): surface Cloud delivery statuses (sent/delivered/read/failed) to the agent","updatedAt":"2026-08-06T06:20:08Z","url":"https://github.com/NousResearch/hermes-agent/issues/80110","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9FDg","kind":"issue","label":"feat(whatsapp): outbound sticker send (duplicate of S1-G02-w1 — FOLDED)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-06T06:12:31Z","updatedAt":"2026-08-17T23:07:51Z","closedAt":"2026-08-17T23:07:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80059"},"data":{"closedAt":"2026-08-17T23:07:51Z","createdAt":"2026-08-06T06:12:31Z","number":80059,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(whatsapp): outbound sticker send (duplicate of S1-G02-w1 — FOLDED)","updatedAt":"2026-08-17T23:07:51Z","url":"https://github.com/NousResearch/hermes-agent/issues/80059","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9FhQ","kind":"issue","label":"feat(whatsapp): message delete/revoke support (Baileys) + ephemeral TTL restore","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:32Z","updatedAt":"2026-08-06T06:39:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80060"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:32Z","number":80060,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): message delete/revoke support (Baileys) + ephemeral TTL restore","updatedAt":"2026-08-06T06:39:45Z","url":"https://github.com/NousResearch/hermes-agent/issues/80060","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9Geg","kind":"issue","label":"feat(whatsapp): surface inbound reactions/edits/revokes as structured events","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:35Z","updatedAt":"2026-08-06T06:39:38Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80062"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:35Z","number":80062,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): surface inbound reactions/edits/revokes as structured events","updatedAt":"2026-08-06T06:39:38Z","url":"https://github.com/NousResearch/hermes-agent/issues/80062","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9HDg","kind":"issue","label":"fix(whatsapp): inbound animated GIFs misclassified as DOCUMENT","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:36Z","updatedAt":"2026-08-06T06:31:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80063"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:36Z","number":80063,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(whatsapp): inbound animated GIFs misclassified as DOCUMENT","updatedAt":"2026-08-06T06:31:55Z","url":"https://github.com/NousResearch/hermes-agent/issues/80063","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9HnQ","kind":"issue","label":"fix(whatsapp): reply_to silently dropped on Baileys outbound media sends","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:38Z","updatedAt":"2026-08-06T06:31:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80064"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:38Z","number":80064,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(whatsapp): reply_to silently dropped on Baileys outbound media sends","updatedAt":"2026-08-06T06:31:51Z","url":"https://github.com/NousResearch/hermes-agent/issues/80064","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9INw","kind":"issue","label":"feat(whatsapp): Cloud adapter DM-only group drop (duplicate of S1-G05-w1 — FOLDED)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-06T06:12:39Z","updatedAt":"2026-08-17T23:07:53Z","closedAt":"2026-08-17T23:07:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80065"},"data":{"closedAt":"2026-08-17T23:07:53Z","createdAt":"2026-08-06T06:12:39Z","number":80065,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(whatsapp): Cloud adapter DM-only group drop (duplicate of S1-G05-w1 — FOLDED)","updatedAt":"2026-08-17T23:07:53Z","url":"https://github.com/NousResearch/hermes-agent/issues/80065","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9Itg","kind":"issue","label":"fix(whatsapp): read-receipt defaults diverge — Baileys opt-in OFF, Cloud always-on","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:41Z","updatedAt":"2026-08-06T06:31:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80066"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:41Z","number":80066,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(whatsapp): read-receipt defaults diverge — Baileys opt-in OFF, Cloud always-on","updatedAt":"2026-08-06T06:31:43Z","url":"https://github.com/NousResearch/hermes-agent/issues/80066","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9j8Q","kind":"issue","label":"Shard plugins/platforms/whatsapp/adapter.py (WhatsApp decomposition — lane S6)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:50Z","updatedAt":"2026-08-06T06:19:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80112"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:50Z","number":80112,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard plugins/platforms/whatsapp/adapter.py (WhatsApp decomposition — lane S6)","updatedAt":"2026-08-06T06:19:58Z","url":"https://github.com/NousResearch/hermes-agent/issues/80112","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9JUg","kind":"issue","label":"docs(whatsapp): markdown table omits italic; quote docs overstate media quoting","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:42Z","updatedAt":"2026-08-10T15:33:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80067"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:42Z","number":80067,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(whatsapp): markdown table omits italic; quote docs overstate media quoting","updatedAt":"2026-08-10T15:33:24Z","url":"https://github.com/NousResearch/hermes-agent/issues/80067","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9JyA","kind":"issue","label":"feat(whatsapp): dispatch non-messages webhook fields (alerts, templates, quality)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:44Z","updatedAt":"2026-08-06T06:31:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80068"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:44Z","number":80068,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): dispatch non-messages webhook fields (alerts, templates, quality)","updatedAt":"2026-08-06T06:31:35Z","url":"https://github.com/NousResearch/hermes-agent/issues/80068","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9KSg","kind":"issue","label":"feat(whatsapp): surface outbound delivery statuses to the agent","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:45Z","updatedAt":"2026-08-09T15:30:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80069"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:45Z","number":80069,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): surface outbound delivery statuses to the agent","updatedAt":"2026-08-09T15:30:46Z","url":"https://github.com/NousResearch/hermes-agent/issues/80069","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9Kyg","kind":"issue","label":"feat(whatsapp): client-side throughput handling for Cloud API 429/130429 with backoff","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:46Z","updatedAt":"2026-08-06T06:31:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80070"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:46Z","number":80070,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): client-side throughput handling for Cloud API 429/130429 with backoff","updatedAt":"2026-08-06T06:31:28Z","url":"https://github.com/NousResearch/hermes-agent/issues/80070","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9L0A","kind":"issue","label":"feat(whatsapp): get/update WhatsApp business profile via API","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:49Z","updatedAt":"2026-08-06T06:31:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80072"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:49Z","number":80072,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): get/update WhatsApp business profile via API","updatedAt":"2026-08-06T06:31:21Z","url":"https://github.com/NousResearch/hermes-agent/issues/80072","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9LRA","kind":"issue","label":"feat(whatsapp): phone-number provisioning APIs (register, deregister, two-step PIN)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:48Z","updatedAt":"2026-08-06T06:31:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80071"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:48Z","number":80071,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): phone-number provisioning APIs (register, deregister, two-step PIN)","updatedAt":"2026-08-06T06:31:24Z","url":"https://github.com/NousResearch/hermes-agent/issues/80071","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9MQQ","kind":"issue","label":"feat(whatsapp): observe template quality rating and phone-number throughput tier","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:50Z","updatedAt":"2026-08-06T06:31:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80073"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:50Z","number":80073,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): observe template quality rating and phone-number throughput tier","updatedAt":"2026-08-06T06:31:17Z","url":"https://github.com/NousResearch/hermes-agent/issues/80073","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9MxA","kind":"issue","label":"feat(whatsapp): WABA-scoped management APIs (numbers, limits, template CRUD)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:52Z","updatedAt":"2026-08-06T06:31:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80074"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:52Z","number":80074,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): WABA-scoped management APIs (numbers, limits, template CRUD)","updatedAt":"2026-08-06T06:31:13Z","url":"https://github.com/NousResearch/hermes-agent/issues/80074","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9N6Q","kind":"issue","label":"fix(whatsapp): bare wa_id phone numbers bypass redaction; inbound body previews logged raw","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:55Z","updatedAt":"2026-08-06T06:31:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80076"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:55Z","number":80076,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(whatsapp): bare wa_id phone numbers bypass redaction; inbound body previews logged raw","updatedAt":"2026-08-06T06:31:06Z","url":"https://github.com/NousResearch/hermes-agent/issues/80076","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9NcA","kind":"issue","label":"docs(whatsapp): fix unshipped Phase-5 docstring claim and stale demand note","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:53Z","updatedAt":"2026-08-10T15:32:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80075"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:53Z","number":80075,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(whatsapp): fix unshipped Phase-5 docstring claim and stale demand note","updatedAt":"2026-08-10T15:32:00Z","url":"https://github.com/NousResearch/hermes-agent/issues/80075","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9O4A","kind":"issue","label":"feat(whatsapp): add Cloud API Groups support to whatsapp_cloud adapter","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:57Z","updatedAt":"2026-08-09T15:30:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80078"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:57Z","number":80078,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): add Cloud API Groups support to whatsapp_cloud adapter","updatedAt":"2026-08-09T15:30:42Z","url":"https://github.com/NousResearch/hermes-agent/issues/80078","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9OZw","kind":"issue","label":"feat(whatsapp): wizard-assisted Cloud webhook onboarding (URL, verify token, fields)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:56Z","updatedAt":"2026-08-06T06:31:02Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80077"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:56Z","number":80077,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): wizard-assisted Cloud webhook onboarding (URL, verify token, fields)","updatedAt":"2026-08-06T06:31:02Z","url":"https://github.com/NousResearch/hermes-agent/issues/80077","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9PUw","kind":"issue","label":"feat(whatsapp): group admin ops — create/delete, add/remove/promote/demote","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:12:59Z","updatedAt":"2026-08-06T06:30:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80079"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:12:59Z","number":80079,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): group admin ops — create/delete, add/remove/promote/demote","updatedAt":"2026-08-06T06:30:55Z","url":"https://github.com/NousResearch/hermes-agent/issues/80079","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9QAQ","kind":"issue","label":"feat(whatsapp): group metadata depth — subject, description, roles, join mode","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:00Z","updatedAt":"2026-08-06T06:30:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80080"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:00Z","number":80080,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): group metadata depth — subject, description, roles, join mode","updatedAt":"2026-08-06T06:30:51Z","url":"https://github.com/NousResearch/hermes-agent/issues/80080","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9QbQ","kind":"issue","label":"feat(whatsapp): group invite links + join-approval (get/reset/accept, approve/reject)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:01Z","updatedAt":"2026-08-06T06:30:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80081"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:01Z","number":80081,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): group invite links + join-approval (get/reset/accept, approve/reject)","updatedAt":"2026-08-06T06:30:48Z","url":"https://github.com/NousResearch/hermes-agent/issues/80081","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9RDQ","kind":"issue","label":"feat(whatsapp): group subject/description/photo updates (update-group-settings)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:03Z","updatedAt":"2026-08-06T06:30:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80083"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:03Z","number":80083,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): group subject/description/photo updates (update-group-settings)","updatedAt":"2026-08-06T06:30:44Z","url":"https://github.com/NousResearch/hermes-agent/issues/80083","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9RtQ","kind":"issue","label":"feat(whatsapp): outbound broadcast lists + community modeling","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:04Z","updatedAt":"2026-08-06T06:30:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80084"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:04Z","number":80084,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): outbound broadcast lists + community modeling","updatedAt":"2026-08-06T06:30:40Z","url":"https://github.com/NousResearch/hermes-agent/issues/80084","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9SMQ","kind":"issue","label":"feat(whatsapp): group lifecycle webhooks — join/leave, settings, status","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:06Z","updatedAt":"2026-08-06T06:30:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80085"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:06Z","number":80085,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): group lifecycle webhooks — join/leave, settings, status","updatedAt":"2026-08-06T06:30:36Z","url":"https://github.com/NousResearch/hermes-agent/issues/80085","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9SsA","kind":"issue","label":"feat(whatsapp): expose group settings toggles — announcement mode, locked, ephemeral","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:07Z","updatedAt":"2026-08-06T06:30:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80086"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:07Z","number":80086,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): expose group settings toggles — announcement mode, locked, ephemeral","updatedAt":"2026-08-06T06:30:33Z","url":"https://github.com/NousResearch/hermes-agent/issues/80086","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9TLw","kind":"issue","label":"feat(whatsapp): document Channel/Newsletter/Status filtering and Communities","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:08Z","updatedAt":"2026-08-06T06:30:29Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80087"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:08Z","number":80087,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): document Channel/Newsletter/Status filtering and Communities","updatedAt":"2026-08-06T06:30:29Z","url":"https://github.com/NousResearch/hermes-agent/issues/80087","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9TqA","kind":"issue","label":"fix(whatsapp): logged_out/401 bridge exit classified retryable — re-pair-less loop","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:10Z","updatedAt":"2026-08-06T06:21:29Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80088"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:10Z","number":80088,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(whatsapp): logged_out/401 bridge exit classified retryable — re-pair-less loop","updatedAt":"2026-08-06T06:21:29Z","url":"https://github.com/NousResearch/hermes-agent/issues/80088","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9U1Q","kind":"issue","label":"fix(whatsapp): session creds.json + bridge.log written world-readable (no 0600)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:13Z","updatedAt":"2026-08-06T06:21:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80090"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:13Z","number":80090,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(whatsapp): session creds.json + bridge.log written world-readable (no 0600)","updatedAt":"2026-08-06T06:21:21Z","url":"https://github.com/NousResearch/hermes-agent/issues/80090","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9UKA","kind":"issue","label":"feat(whatsapp): gateway-mode QR pairing surfacing + expiry/refresh (log-only today)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:11Z","updatedAt":"2026-08-06T06:21:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80089"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:11Z","number":80089,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): gateway-mode QR pairing surfacing + expiry/refresh (log-only today)","updatedAt":"2026-08-06T06:21:25Z","url":"https://github.com/NousResearch/hermes-agent/issues/80089","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9VRg","kind":"issue","label":"fix(whatsapp): adapter has no wedge watchdog — poll errors swallowed with 5s sleep forever","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:14Z","updatedAt":"2026-08-06T06:21:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80091"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:14Z","number":80091,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(whatsapp): adapter has no wedge watchdog — poll errors swallowed with 5s sleep forever","updatedAt":"2026-08-06T06:21:18Z","url":"https://github.com/NousResearch/hermes-agent/issues/80091","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9VwA","kind":"issue","label":"fix(whatsapp): bridge reconnect scheduler fixed 3s/5s delay — no backoff, jitter, or cap","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:15Z","updatedAt":"2026-08-06T06:21:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80092"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:15Z","number":80092,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(whatsapp): bridge reconnect scheduler fixed 3s/5s delay — no backoff, jitter, or cap","updatedAt":"2026-08-06T06:21:14Z","url":"https://github.com/NousResearch/hermes-agent/issues/80092","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9WqA","kind":"issue","label":"fix(whatsapp): is_reconnect accepted but never consumed — full cold re-spawn each retry","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:18Z","updatedAt":"2026-08-06T06:21:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80094"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:18Z","number":80094,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(whatsapp): is_reconnect accepted but never consumed — full cold re-spawn each retry","updatedAt":"2026-08-06T06:21:07Z","url":"https://github.com/NousResearch/hermes-agent/issues/80094","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9WTg","kind":"issue","label":"fix(whatsapp): PAIR_ONLY exits 2s after open — creds flush race on slow disks","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:17Z","updatedAt":"2026-08-06T06:21:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80093"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:17Z","number":80093,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(whatsapp): PAIR_ONLY exits 2s after open — creds flush race on slow disks","updatedAt":"2026-08-06T06:21:11Z","url":"https://github.com/NousResearch/hermes-agent/issues/80093","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9XHQ","kind":"issue","label":"fix(whatsapp): npm install auto-runs in connect() — unclassified, silent retry loop","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-06T06:13:19Z","updatedAt":"2026-08-13T09:37:15Z","closedAt":"2026-08-13T09:37:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80095"},"data":{"closedAt":"2026-08-13T09:37:15Z","createdAt":"2026-08-06T06:13:19Z","number":80095,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(whatsapp): npm install auto-runs in connect() — unclassified, silent retry loop","updatedAt":"2026-08-13T09:37:15Z","url":"https://github.com/NousResearch/hermes-agent/issues/80095","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9Xog","kind":"issue","label":"fix(whatsapp): bridge HTTP API unauthenticated — Host-header only, local /send","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:20Z","updatedAt":"2026-08-06T06:21:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80096"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:20Z","number":80096,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(whatsapp): bridge HTTP API unauthenticated — Host-header only, local /send","updatedAt":"2026-08-06T06:21:00Z","url":"https://github.com/NousResearch/hermes-agent/issues/80096","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9Y9A","kind":"issue","label":"fix(whatsapp): _apply_yaml_config writes WHATSAPP_* to global os.environ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:24Z","updatedAt":"2026-08-06T06:20:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80099"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:24Z","number":80099,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(whatsapp): _apply_yaml_config writes WHATSAPP_* to global os.environ","updatedAt":"2026-08-06T06:20:49Z","url":"https://github.com/NousResearch/hermes-agent/issues/80099","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9YDQ","kind":"issue","label":"feat(whatsapp): cloud backend lifecycle stateless — no 429/5xx backoff","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:22Z","updatedAt":"2026-08-06T06:20:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80097"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:22Z","number":80097,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): cloud backend lifecycle stateless — no 429/5xx backoff","updatedAt":"2026-08-06T06:20:57Z","url":"https://github.com/NousResearch/hermes-agent/issues/80097","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9Ydw","kind":"issue","label":"fix(whatsapp): CLI wizard and adapter session-path resolution diverge on fresh installs","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:23Z","updatedAt":"2026-08-06T06:20:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80098"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:23Z","number":80098,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(whatsapp): CLI wizard and adapter session-path resolution diverge on fresh installs","updatedAt":"2026-08-06T06:20:53Z","url":"https://github.com/NousResearch/hermes-agent/issues/80098","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLq9Z8w","kind":"issue","label":"feat(whatsapp): implement Cloud API Flows (interactive flow messages + Flows API)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:13:26Z","updatedAt":"2026-08-06T06:20:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80100"},"data":{"closedAt":null,"createdAt":"2026-08-06T06:13:26Z","number":80100,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): implement Cloud API Flows (interactive flow messages + Flows API)","updatedAt":"2026-08-06T06:20:45Z","url":"https://github.com/NousResearch/hermes-agent/issues/80100","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqa0Vg","kind":"issue","label":"Shard gateway/relay/adapter.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:34:27Z","updatedAt":"2026-08-06T04:40:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79990"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:34:27Z","number":79990,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard gateway/relay/adapter.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:40:44Z","url":"https://github.com/NousResearch/hermes-agent/issues/79990","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqa0xw","kind":"issue","label":"Shard tests/tools/test_computer_use.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:34:28Z","updatedAt":"2026-08-06T04:40:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79991"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:34:28Z","number":79991,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tests/tools/test_computer_use.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:40:40Z","url":"https://github.com/NousResearch/hermes-agent/issues/79991","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqa1MA","kind":"issue","label":"Shard tools/send_message_tool.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:34:30Z","updatedAt":"2026-08-06T04:40:37Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79992"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:34:30Z","number":79992,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tools/send_message_tool.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:40:37Z","url":"https://github.com/NousResearch/hermes-agent/issues/79992","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqa1wQ","kind":"issue","label":"Shard gateway/platforms/whatsapp_cloud.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:34:31Z","updatedAt":"2026-08-17T23:02:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79993"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:34:31Z","number":79993,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard gateway/platforms/whatsapp_cloud.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-17T23:02:42Z","url":"https://github.com/NousResearch/hermes-agent/issues/79993","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqa2iA","kind":"issue","label":"Shard tools/code_execution_tool.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:34:32Z","updatedAt":"2026-08-06T04:40:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79994"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:34:32Z","number":79994,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tools/code_execution_tool.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:40:31Z","url":"https://github.com/NousResearch/hermes-agent/issues/79994","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqa39w","kind":"issue","label":"Shard hermes_cli/skills_hub.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:34:37Z","updatedAt":"2026-08-06T04:40:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79997"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:34:37Z","number":79997,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_cli/skills_hub.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:40:21Z","url":"https://github.com/NousResearch/hermes-agent/issues/79997","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqa3Hw","kind":"issue","label":"Shard hermes_cli/plugins_cmd.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:34:34Z","updatedAt":"2026-08-06T04:40:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79995"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:34:34Z","number":79995,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_cli/plugins_cmd.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:40:27Z","url":"https://github.com/NousResearch/hermes-agent/issues/79995","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqa3jQ","kind":"issue","label":"Shard tests/gateway/test_voice_command.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:34:35Z","updatedAt":"2026-08-06T04:40:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79996"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:34:35Z","number":79996,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tests/gateway/test_voice_command.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:40:24Z","url":"https://github.com/NousResearch/hermes-agent/issues/79996","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqa4ZQ","kind":"issue","label":"Shard tools/environments/docker.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:34:38Z","updatedAt":"2026-08-06T04:40:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79998"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:34:38Z","number":79998,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tools/environments/docker.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:40:17Z","url":"https://github.com/NousResearch/hermes-agent/issues/79998","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqa51A","kind":"issue","label":"Shard agent/curator.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:34:41Z","updatedAt":"2026-08-06T04:40:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80000"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:34:41Z","number":80000,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard agent/curator.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:40:11Z","url":"https://github.com/NousResearch/hermes-agent/issues/80000","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqa5XQ","kind":"issue","label":"Shard tests/agent/test_credential_pool.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:34:39Z","updatedAt":"2026-08-06T04:40:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79999"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:34:39Z","number":79999,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tests/agent/test_credential_pool.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:40:14Z","url":"https://github.com/NousResearch/hermes-agent/issues/79999","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaAnQ","kind":"issue","label":"Shard apps/desktop/electron/main.ts (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:09Z","updatedAt":"2026-08-15T06:54:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79901"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:09Z","number":79901,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard apps/desktop/electron/main.ts (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-15T06:54:52Z","url":"https://github.com/NousResearch/hermes-agent/issues/79901","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaaoQ","kind":"issue","label":"Shard apps/desktop/src/i18n/ja.ts (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:18Z","updatedAt":"2026-08-06T04:57:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79952"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:18Z","number":79952,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard apps/desktop/src/i18n/ja.ts (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:57:54Z","url":"https://github.com/NousResearch/hermes-agent/issues/79952","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaaQg","kind":"issue","label":"Shard tests/gateway/test_api_server.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:17Z","updatedAt":"2026-08-06T04:57:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79951"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:17Z","number":79951,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tests/gateway/test_api_server.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:57:58Z","url":"https://github.com/NousResearch/hermes-agent/issues/79951","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqab0w","kind":"issue","label":"Shard hermes_cli/doctor.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:22Z","updatedAt":"2026-08-06T04:50:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79955"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:22Z","number":79955,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_cli/doctor.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:50:10Z","url":"https://github.com/NousResearch/hermes-agent/issues/79955","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaB2w","kind":"issue","label":"Shard plugins/platforms/feishu/adapter.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:13Z","updatedAt":"2026-08-06T05:36:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79904"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:13Z","number":79904,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard plugins/platforms/feishu/adapter.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:36:11Z","url":"https://github.com/NousResearch/hermes-agent/issues/79904","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaBBg","kind":"issue","label":"Shard skills/research/research-paper-writing/SKILL.md (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:11Z","updatedAt":"2026-08-06T04:32:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79902"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:11Z","number":79902,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard skills/research/research-paper-writing/SKILL.md (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:32:11Z","url":"https://github.com/NousResearch/hermes-agent/issues/79902","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaBeg","kind":"issue","label":"Shard tests/run_agent/test_run_agent.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:12Z","updatedAt":"2026-08-06T04:32:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79903"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:12Z","number":79903,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tests/run_agent/test_run_agent.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:32:12Z","url":"https://github.com/NousResearch/hermes-agent/issues/79903","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqabeQ","kind":"issue","label":"Shard tools/file_operations.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:21Z","updatedAt":"2026-08-06T04:50:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79954"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:21Z","number":79954,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tools/file_operations.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:50:13Z","url":"https://github.com/NousResearch/hermes-agent/issues/79954","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqabGw","kind":"issue","label":"Shard agent/agent_init.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:19Z","updatedAt":"2026-08-06T04:57:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79953"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:19Z","number":79953,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard agent/agent_init.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:57:51Z","url":"https://github.com/NousResearch/hermes-agent/issues/79953","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaCMQ","kind":"issue","label":"Shard gateway/slash_commands.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:15Z","updatedAt":"2026-08-06T05:36:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79905"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:15Z","number":79905,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard gateway/slash_commands.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:36:07Z","url":"https://github.com/NousResearch/hermes-agent/issues/79905","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqacMw","kind":"issue","label":"Shard ui-tui/packages/hermes-ink/src/ink/ink.tsx (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:23Z","updatedAt":"2026-08-06T04:50:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79956"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:23Z","number":79956,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard ui-tui/packages/hermes-ink/src/ink/ink.tsx (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:50:07Z","url":"https://github.com/NousResearch/hermes-agent/issues/79956","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaCqg","kind":"issue","label":"Shard hermes_cli/update_cmd.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:16Z","updatedAt":"2026-08-06T05:36:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79906"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:16Z","number":79906,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_cli/update_cmd.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:36:04Z","url":"https://github.com/NousResearch/hermes-agent/issues/79906","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqacxQ","kind":"issue","label":"Shard cron/jobs.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:24Z","updatedAt":"2026-08-06T04:50:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79957"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:24Z","number":79957,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard cron/jobs.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:50:04Z","url":"https://github.com/NousResearch/hermes-agent/issues/79957","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqad4Q","kind":"issue","label":"Shard tests/tools/test_mcp_tool.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:27Z","updatedAt":"2026-08-06T04:49:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79959"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:27Z","number":79959,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tests/tools/test_mcp_tool.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:49:58Z","url":"https://github.com/NousResearch/hermes-agent/issues/79959","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqadjA","kind":"issue","label":"Shard apps/desktop/src/i18n/zh-hant.ts (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:26Z","updatedAt":"2026-08-06T04:50:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79958"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:26Z","number":79958,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard apps/desktop/src/i18n/zh-hant.ts (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:50:01Z","url":"https://github.com/NousResearch/hermes-agent/issues/79958","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaDqw","kind":"issue","label":"Shard hermes_cli/tools_config.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:18Z","updatedAt":"2026-08-06T05:36:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79907"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:18Z","number":79907,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_cli/tools_config.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:36:01Z","url":"https://github.com/NousResearch/hermes-agent/issues/79907","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaE2w","kind":"issue","label":"Shard hermes_cli/models.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:21Z","updatedAt":"2026-08-06T05:29:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79909"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:21Z","number":79909,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_cli/models.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:29:17Z","url":"https://github.com/NousResearch/hermes-agent/issues/79909","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaEKw","kind":"issue","label":"Shard hermes_cli/config.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:20Z","updatedAt":"2026-08-06T05:29:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79908"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:20Z","number":79908,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_cli/config.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:29:21Z","url":"https://github.com/NousResearch/hermes-agent/issues/79908","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaeWg","kind":"issue","label":"Shard gateway/config.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:28Z","updatedAt":"2026-08-06T04:49:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79960"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:28Z","number":79960,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard gateway/config.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:49:54Z","url":"https://github.com/NousResearch/hermes-agent/issues/79960","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaezA","kind":"issue","label":"Shard tools/transcription_tools.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:30Z","updatedAt":"2026-08-06T04:49:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79961"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:30Z","number":79961,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tools/transcription_tools.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:49:51Z","url":"https://github.com/NousResearch/hermes-agent/issues/79961","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqafcg","kind":"issue","label":"Shard scripts/release.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:31Z","updatedAt":"2026-08-06T04:49:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79962"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:31Z","number":79962,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard scripts/release.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:49:48Z","url":"https://github.com/NousResearch/hermes-agent/issues/79962","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaFSg","kind":"issue","label":"Shard gateway/platforms/yuanbao.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:23Z","updatedAt":"2026-08-06T05:29:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79910"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:23Z","number":79910,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard gateway/platforms/yuanbao.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:29:14Z","url":"https://github.com/NousResearch/hermes-agent/issues/79910","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaFvQ","kind":"issue","label":"Shard plugins/platforms/matrix/adapter.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:24Z","updatedAt":"2026-08-06T05:29:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79911"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:24Z","number":79911,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard plugins/platforms/matrix/adapter.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:29:11Z","url":"https://github.com/NousResearch/hermes-agent/issues/79911","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqag5w","kind":"issue","label":"Shard apps/desktop/src/i18n/types.ts (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:35Z","updatedAt":"2026-08-06T04:49:37Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79965"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:35Z","number":79965,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard apps/desktop/src/i18n/types.ts (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:49:37Z","url":"https://github.com/NousResearch/hermes-agent/issues/79965","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaGEA","kind":"issue","label":"Shard plugins/memory/openviking/__init__.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:25Z","updatedAt":"2026-08-06T05:29:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79912"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:25Z","number":79912,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard plugins/memory/openviking/__init__.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:29:07Z","url":"https://github.com/NousResearch/hermes-agent/issues/79912","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqagHw","kind":"issue","label":"Shard apps/desktop/src/i18n/ar.ts (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:33Z","updatedAt":"2026-08-06T04:49:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79963"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:33Z","number":79963,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard apps/desktop/src/i18n/ar.ts (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:49:44Z","url":"https://github.com/NousResearch/hermes-agent/issues/79963","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaglg","kind":"issue","label":"Shard web/src/lib/api.ts (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:34Z","updatedAt":"2026-08-06T04:49:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79964"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:34Z","number":79964,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard web/src/lib/api.ts (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:49:41Z","url":"https://github.com/NousResearch/hermes-agent/issues/79964","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaHCQ","kind":"issue","label":"Shard tools/browser_tool.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:27Z","updatedAt":"2026-08-06T05:19:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79913"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:27Z","number":79913,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tools/browser_tool.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:19:35Z","url":"https://github.com/NousResearch/hermes-agent/issues/79913","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqahRw","kind":"issue","label":"Shard tools/process_registry.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:37Z","updatedAt":"2026-08-06T04:49:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79966"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:37Z","number":79966,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tools/process_registry.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:49:34Z","url":"https://github.com/NousResearch/hermes-agent/issues/79966","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqahsg","kind":"issue","label":"Shard tests/hermes_cli/test_relay_shared_metrics_runtime.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:38Z","updatedAt":"2026-08-06T04:49:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79967"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:38Z","number":79967,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tests/hermes_cli/test_relay_shared_metrics_runtime.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:49:31Z","url":"https://github.com/NousResearch/hermes-agent/issues/79967","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaHYg","kind":"issue","label":"Shard tests/gateway/test_slack.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:28Z","updatedAt":"2026-08-09T13:44:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79914"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:28Z","number":79914,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tests/gateway/test_slack.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-09T13:44:59Z","url":"https://github.com/NousResearch/hermes-agent/issues/79914","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaHzg","kind":"issue","label":"Shard apps/desktop/src/app/session/hooks/use-prompt-actions/index.test.tsx (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:29Z","updatedAt":"2026-08-06T05:19:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79915"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:29Z","number":79915,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard apps/desktop/src/app/session/hooks/use-prompt-actions/index.test.tsx (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:19:28Z","url":"https://github.com/NousResearch/hermes-agent/issues/79915","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaI5A","kind":"issue","label":"Shard cron/scheduler.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:33Z","updatedAt":"2026-08-06T05:07:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79918"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:33Z","number":79918,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard cron/scheduler.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:07:13Z","url":"https://github.com/NousResearch/hermes-agent/issues/79918","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaIgg","kind":"issue","label":"Shard tests/agent/test_auxiliary_client.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:32Z","updatedAt":"2026-08-06T05:19:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79917"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:32Z","number":79917,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tests/agent/test_auxiliary_client.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:19:21Z","url":"https://github.com/NousResearch/hermes-agent/issues/79917","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaIJQ","kind":"issue","label":"Shard tools/skills_hub.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:30Z","updatedAt":"2026-08-06T05:19:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79916"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:30Z","number":79916,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tools/skills_hub.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:19:24Z","url":"https://github.com/NousResearch/hermes-agent/issues/79916","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaiuQ","kind":"issue","label":"Shard acp_adapter/server.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:39Z","updatedAt":"2026-08-06T04:49:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79968"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:39Z","number":79968,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard acp_adapter/server.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:49:27Z","url":"https://github.com/NousResearch/hermes-agent/issues/79968","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaJ4A","kind":"issue","label":"Shard tools/approval.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:34Z","updatedAt":"2026-08-06T05:07:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79919"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:34Z","number":79919,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tools/approval.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:07:09Z","url":"https://github.com/NousResearch/hermes-agent/issues/79919","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqajcw","kind":"issue","label":"Shard agent/proxy_sources/iron_proxy.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:42Z","updatedAt":"2026-08-06T04:49:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79970"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:42Z","number":79970,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard agent/proxy_sources/iron_proxy.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:49:21Z","url":"https://github.com/NousResearch/hermes-agent/issues/79970","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqajGA","kind":"issue","label":"Shard hermes_cli/plugins.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:41Z","updatedAt":"2026-08-15T10:12:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79969"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:41Z","number":79969,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_cli/plugins.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-15T10:12:13Z","url":"https://github.com/NousResearch/hermes-agent/issues/79969","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqajzw","kind":"issue","label":"Shard tests/gateway/test_feishu.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:43Z","updatedAt":"2026-08-06T04:49:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79971"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:43Z","number":79971,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tests/gateway/test_feishu.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:49:18Z","url":"https://github.com/NousResearch/hermes-agent/issues/79971","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqakpA","kind":"issue","label":"Shard gateway/stream_consumer.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:46Z","updatedAt":"2026-08-06T04:49:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79973"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:46Z","number":79973,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard gateway/stream_consumer.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:49:12Z","url":"https://github.com/NousResearch/hermes-agent/issues/79973","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaKrA","kind":"issue","label":"Shard hermes_cli/config_defaults.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:37Z","updatedAt":"2026-08-06T05:07:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79921"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:37Z","number":79921,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_cli/config_defaults.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:07:03Z","url":"https://github.com/NousResearch/hermes-agent/issues/79921","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaKRw","kind":"issue","label":"Shard agent/chat_completion_helpers.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:36Z","updatedAt":"2026-08-06T05:07:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79920"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:36Z","number":79920,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard agent/chat_completion_helpers.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:07:06Z","url":"https://github.com/NousResearch/hermes-agent/issues/79920","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqakSA","kind":"issue","label":"Shard gateway/platforms/weixin.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:45Z","updatedAt":"2026-08-06T04:49:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79972"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:45Z","number":79972,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard gateway/platforms/weixin.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:49:15Z","url":"https://github.com/NousResearch/hermes-agent/issues/79972","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaLgg","kind":"issue","label":"Shard tests/test_hermes_state.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:40Z","updatedAt":"2026-08-06T05:06:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79923"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:40Z","number":79923,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tests/test_hermes_state.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:06:55Z","url":"https://github.com/NousResearch/hermes-agent/issues/79923","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaLHQ","kind":"issue","label":"Shard scripts/install.ps1 (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:38Z","updatedAt":"2026-08-06T05:06:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79922"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:38Z","number":79922,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard scripts/install.ps1 (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:06:58Z","url":"https://github.com/NousResearch/hermes-agent/issues/79922","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqalrg","kind":"issue","label":"Shard agent/moa_loop.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:47Z","updatedAt":"2026-08-06T04:49:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79974"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:47Z","number":79974,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard agent/moa_loop.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:49:08Z","url":"https://github.com/NousResearch/hermes-agent/issues/79974","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaM1w","kind":"issue","label":"Shard agent/agent_runtime_helpers.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:42Z","updatedAt":"2026-08-06T05:06:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79925"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:42Z","number":79925,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard agent/agent_runtime_helpers.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:06:49Z","url":"https://github.com/NousResearch/hermes-agent/issues/79925","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqam4Q","kind":"issue","label":"Shard tools/file_tools.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:51Z","updatedAt":"2026-08-06T04:41:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79977"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:51Z","number":79977,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tools/file_tools.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:41:24Z","url":"https://github.com/NousResearch/hermes-agent/issues/79977","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaMdA","kind":"issue","label":"Shard tests/hermes_cli/test_web_server.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:41Z","updatedAt":"2026-08-06T05:06:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79924"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:41Z","number":79924,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tests/hermes_cli/test_web_server.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:06:52Z","url":"https://github.com/NousResearch/hermes-agent/issues/79924","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqamDw","kind":"issue","label":"Shard agent/tool_executor.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:49Z","updatedAt":"2026-08-06T04:49:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79975"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:49Z","number":79975,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard agent/tool_executor.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:49:05Z","url":"https://github.com/NousResearch/hermes-agent/issues/79975","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqamgA","kind":"issue","label":"Shard ui-tui/packages/hermes-ink/src/native-ts/yoga-layout/index.ts (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:50Z","updatedAt":"2026-08-09T19:32:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79976"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:50Z","number":79976,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard ui-tui/packages/hermes-ink/src/native-ts/yoga-layout/index.ts (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-09T19:32:04Z","url":"https://github.com/NousResearch/hermes-agent/issues/79976","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaNlQ","kind":"issue","label":"Shard agent/conversation_compression.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:43Z","updatedAt":"2026-08-06T05:06:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79926"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:43Z","number":79926,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard agent/conversation_compression.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:06:45Z","url":"https://github.com/NousResearch/hermes-agent/issues/79926","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqanrg","kind":"issue","label":"Shard hermes_cli/runtime_provider.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:54Z","updatedAt":"2026-08-06T04:41:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79979"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:54Z","number":79979,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_cli/runtime_provider.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:41:17Z","url":"https://github.com/NousResearch/hermes-agent/issues/79979","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqanRw","kind":"issue","label":"Shard tools/voice_mode.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:53Z","updatedAt":"2026-08-06T04:41:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79978"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:53Z","number":79978,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tools/voice_mode.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:41:21Z","url":"https://github.com/NousResearch/hermes-agent/issues/79978","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaO-A","kind":"issue","label":"Shard plugins/platforms/google_chat/adapter.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:47Z","updatedAt":"2026-08-06T05:06:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79929"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:47Z","number":79929,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard plugins/platforms/google_chat/adapter.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:06:35Z","url":"https://github.com/NousResearch/hermes-agent/issues/79929","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaohw","kind":"issue","label":"Shard gateway/status.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:57Z","updatedAt":"2026-08-06T04:41:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79981"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:57Z","number":79981,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard gateway/status.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:41:10Z","url":"https://github.com/NousResearch/hermes-agent/issues/79981","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaoIQ","kind":"issue","label":"Shard hermes_cli/profiles.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:55Z","updatedAt":"2026-08-06T04:41:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79980"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:55Z","number":79980,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_cli/profiles.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:41:13Z","url":"https://github.com/NousResearch/hermes-agent/issues/79980","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaOiQ","kind":"issue","label":"Shard tools/delegate_tool.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:46Z","updatedAt":"2026-08-06T05:06:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79928"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:46Z","number":79928,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tools/delegate_tool.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:06:39Z","url":"https://github.com/NousResearch/hermes-agent/issues/79928","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaOKg","kind":"issue","label":"Shard tools/tts_tool.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:45Z","updatedAt":"2026-08-06T05:06:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79927"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:45Z","number":79927,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tools/tts_tool.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:06:42Z","url":"https://github.com/NousResearch/hermes-agent/issues/79927","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaPUw","kind":"issue","label":"Shard hermes_cli/setup.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:48Z","updatedAt":"2026-08-06T05:06:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79930"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:48Z","number":79930,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_cli/setup.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T05:06:32Z","url":"https://github.com/NousResearch/hermes-agent/issues/79930","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaQfw","kind":"issue","label":"Shard tools/terminal_tool.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:51Z","updatedAt":"2026-08-06T04:59:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79932"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:51Z","number":79932,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tools/terminal_tool.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:59:00Z","url":"https://github.com/NousResearch/hermes-agent/issues/79932","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaQKA","kind":"issue","label":"Shard gateway/session.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:50Z","updatedAt":"2026-08-06T04:59:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79931"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:50Z","number":79931,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard gateway/session.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:59:03Z","url":"https://github.com/NousResearch/hermes-agent/issues/79931","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaR1g","kind":"issue","label":"Shard agent/model_metadata.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:54Z","updatedAt":"2026-08-06T04:58:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79934"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:54Z","number":79934,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard agent/model_metadata.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:58:53Z","url":"https://github.com/NousResearch/hermes-agent/issues/79934","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaRVA","kind":"issue","label":"Shard hermes_cli/cli_commands_mixin.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:52Z","updatedAt":"2026-08-06T04:58:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79933"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:52Z","number":79933,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_cli/cli_commands_mixin.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:58:57Z","url":"https://github.com/NousResearch/hermes-agent/issues/79933","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaSpA","kind":"issue","label":"Shard tests/gateway/test_matrix.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:56Z","updatedAt":"2026-08-06T04:58:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79936"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:56Z","number":79936,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tests/gateway/test_matrix.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:58:47Z","url":"https://github.com/NousResearch/hermes-agent/issues/79936","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaSQA","kind":"issue","label":"Shard scripts/install.sh (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:55Z","updatedAt":"2026-08-06T04:58:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79935"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:55Z","number":79935,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard scripts/install.sh (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:58:50Z","url":"https://github.com/NousResearch/hermes-agent/issues/79935","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaTAQ","kind":"issue","label":"Shard tools/computer_use/cua_backend.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:58Z","updatedAt":"2026-08-06T04:58:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79937"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:58Z","number":79937,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tools/computer_use/cua_backend.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:58:44Z","url":"https://github.com/NousResearch/hermes-agent/issues/79937","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaTbA","kind":"issue","label":"Shard optional-skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:32:59Z","updatedAt":"2026-08-06T04:58:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79938"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:32:59Z","number":79938,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard optional-skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:58:41Z","url":"https://github.com/NousResearch/hermes-agent/issues/79938","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaTzQ","kind":"issue","label":"Shard gateway/platforms/qqbot/adapter.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:00Z","updatedAt":"2026-08-06T04:58:37Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79939"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:00Z","number":79939,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard gateway/platforms/qqbot/adapter.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:58:37Z","url":"https://github.com/NousResearch/hermes-agent/issues/79939","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaUvQ","kind":"issue","label":"Shard hermes_cli/kanban.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:02Z","updatedAt":"2026-08-06T04:58:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79940"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:02Z","number":79940,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_cli/kanban.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:58:34Z","url":"https://github.com/NousResearch/hermes-agent/issues/79940","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaV6g","kind":"issue","label":"Shard hermes_cli/model_setup_flows.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:06Z","updatedAt":"2026-08-06T04:58:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79943"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:06Z","number":79943,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_cli/model_setup_flows.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:58:25Z","url":"https://github.com/NousResearch/hermes-agent/issues/79943","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaVJQ","kind":"issue","label":"Shard hermes_cli/model_switch.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:03Z","updatedAt":"2026-08-06T04:58:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79941"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:03Z","number":79941,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_cli/model_switch.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:58:31Z","url":"https://github.com/NousResearch/hermes-agent/issues/79941","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaVlQ","kind":"issue","label":"Shard agent/anthropic_adapter.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:04Z","updatedAt":"2026-08-06T04:58:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79942"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:04Z","number":79942,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard agent/anthropic_adapter.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:58:28Z","url":"https://github.com/NousResearch/hermes-agent/issues/79942","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaw2A","kind":"issue","label":"Shard tools/kanban_tools.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:34:17Z","updatedAt":"2026-08-06T04:41:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79982"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:34:17Z","number":79982,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tools/kanban_tools.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:41:07Z","url":"https://github.com/NousResearch/hermes-agent/issues/79982","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaWYA","kind":"issue","label":"Shard agent/credential_pool.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:07Z","updatedAt":"2026-08-06T04:58:22Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79944"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:07Z","number":79944,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard agent/credential_pool.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:58:22Z","url":"https://github.com/NousResearch/hermes-agent/issues/79944","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaX1g","kind":"issue","label":"Shard tui_gateway/methods_session.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:10Z","updatedAt":"2026-08-06T04:58:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79946"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:10Z","number":79946,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tui_gateway/methods_session.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:58:14Z","url":"https://github.com/NousResearch/hermes-agent/issues/79946","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaXdQ","kind":"issue","label":"Shard apps/desktop/src/i18n/zh.ts (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:09Z","updatedAt":"2026-08-06T04:58:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79945"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:09Z","number":79945,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard apps/desktop/src/i18n/zh.ts (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:58:18Z","url":"https://github.com/NousResearch/hermes-agent/issues/79945","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaxmA","kind":"issue","label":"Shard plugins/memory/hindsight/__init__.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:34:20Z","updatedAt":"2026-08-06T04:41:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79984"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:34:20Z","number":79984,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard plugins/memory/hindsight/__init__.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:41:00Z","url":"https://github.com/NousResearch/hermes-agent/issues/79984","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaxNA","kind":"issue","label":"Shard hermes_cli/commands.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:34:19Z","updatedAt":"2026-08-06T04:41:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79983"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:34:19Z","number":79983,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_cli/commands.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:41:04Z","url":"https://github.com/NousResearch/hermes-agent/issues/79983","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaY8Q","kind":"issue","label":"Shard tests/agent/test_context_compressor.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:14Z","updatedAt":"2026-08-06T04:58:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79949"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:14Z","number":79949,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tests/agent/test_context_compressor.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:58:04Z","url":"https://github.com/NousResearch/hermes-agent/issues/79949","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqayBQ","kind":"issue","label":"Shard hermes_state_search.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:34:21Z","updatedAt":"2026-08-06T04:40:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79985"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:34:21Z","number":79985,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard hermes_state_search.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:40:57Z","url":"https://github.com/NousResearch/hermes-agent/issues/79985","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaYig","kind":"issue","label":"Shard plugins/platforms/photon/adapter.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:13Z","updatedAt":"2026-08-06T04:58:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79948"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:13Z","number":79948,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard plugins/platforms/photon/adapter.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:58:08Z","url":"https://github.com/NousResearch/hermes-agent/issues/79948","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaYMw","kind":"issue","label":"Shard apps/desktop/src/i18n/en.ts (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:12Z","updatedAt":"2026-08-06T04:58:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79947"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:12Z","number":79947,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard apps/desktop/src/i18n/en.ts (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:58:11Z","url":"https://github.com/NousResearch/hermes-agent/issues/79947","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaypQ","kind":"issue","label":"Shard agent/prompt_builder.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:34:23Z","updatedAt":"2026-08-06T04:40:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79987"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:34:23Z","number":79987,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard agent/prompt_builder.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:40:53Z","url":"https://github.com/NousResearch/hermes-agent/issues/79987","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaz8Q","kind":"issue","label":"Shard tools/skills_sync_client.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:34:26Z","updatedAt":"2026-08-06T04:40:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79989"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:34:26Z","number":79989,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard tools/skills_sync_client.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:40:47Z","url":"https://github.com/NousResearch/hermes-agent/issues/79989","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqazgw","kind":"issue","label":"Shard web/src/pages/SessionsPage.tsx (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:34:24Z","updatedAt":"2026-08-06T04:40:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79988"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:34:24Z","number":79988,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard web/src/pages/SessionsPage.tsx (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:40:50Z","url":"https://github.com/NousResearch/hermes-agent/issues/79988","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqaZUQ","kind":"issue","label":"Shard plugins/kanban/dashboard/plugin_api.py (2K-law violation — Pantheon of False Gods, fracture)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:33:15Z","updatedAt":"2026-08-06T04:58:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79950"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:33:15Z","number":79950,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Shard plugins/kanban/dashboard/plugin_api.py (2K-law violation — Pantheon of False Gods, fracture)","updatedAt":"2026-08-06T04:58:01Z","url":"https://github.com/NousResearch/hermes-agent/issues/79950","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLqRayA","kind":"issue","label":"WhatsApp Feature Parity & Alignment Campaign — meta-issue","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:07:59Z","updatedAt":"2026-08-22T02:04:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/79890"},"data":{"closedAt":null,"createdAt":"2026-08-06T04:07:59Z","number":79890,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"WhatsApp Feature Parity & Alignment Campaign — meta-issue","updatedAt":"2026-08-22T02:04:49Z","url":"https://github.com/NousResearch/hermes-agent/issues/79890","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLRZicg","kind":"issue","label":"docs: graph-adjudicated documentation conformance closes the documentation issue class","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-03T15:21:55Z","updatedAt":"2026-08-04T03:58:28Z","closedAt":"2026-08-03T15:22:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/77807"},"data":{"closedAt":"2026-08-03T15:22:06Z","createdAt":"2026-08-03T15:21:55Z","number":77807,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"docs: graph-adjudicated documentation conformance closes the documentation issue class","updatedAt":"2026-08-04T03:58:28Z","url":"https://github.com/NousResearch/hermes-agent/issues/77807","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLt3jgg","kind":"issue","label":"@Hermes Tag — flagship lane F of Slack Feature Parity & @Hermes Tag","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T12:44:44Z","updatedAt":"2026-08-12T07:22:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80338"},"data":{"closedAt":null,"createdAt":"2026-08-06T12:44:44Z","number":80338,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"@Hermes Tag — flagship lane F of Slack Feature Parity & @Hermes Tag","updatedAt":"2026-08-12T07:22:06Z","url":"https://github.com/NousResearch/hermes-agent/issues/80338","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLutikA","kind":"issue","label":"[EPIC] Cross-Language Docs Germination — top-10 non-English target locales, French first","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T14:22:18Z","updatedAt":"2026-08-23T04:11:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80392"},"data":{"closedAt":null,"createdAt":"2026-08-06T14:22:18Z","number":80392,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[EPIC] Cross-Language Docs Germination — top-10 non-English target locales, French first","updatedAt":"2026-08-23T04:11:32Z","url":"https://github.com/NousResearch/hermes-agent/issues/80392","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLvLX-g","kind":"issue","label":"✅ Grok/xAI Parity Campaign — COMPLETE (5×2×3: 22/22 gaps implemented + blind-verified)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T15:13:58Z","updatedAt":"2026-08-15T03:28:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/80424"},"data":{"closedAt":null,"createdAt":"2026-08-06T15:13:58Z","number":80424,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"✅ Grok/xAI Parity Campaign — COMPLETE (5×2×3: 22/22 gaps implemented + blind-verified)","updatedAt":"2026-08-15T03:28:21Z","url":"https://github.com/NousResearch/hermes-agent/issues/80424","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABLWw0mw","kind":"issue","label":"[meta] Vox Lockin — eliminate the STT/TTS/voice bug class (10 lanes, 38 issues)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T05:23:50Z","updatedAt":"2026-08-15T19:03:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/78207"},"data":{"closedAt":null,"createdAt":"2026-08-04T05:23:50Z","number":78207,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[meta] Vox Lockin — eliminate the STT/TTS/voice bug class (10 lanes, 38 issues)","updatedAt":"2026-08-15T19:03:57Z","url":"https://github.com/NousResearch/hermes-agent/issues/78207","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM0iSsg","kind":"issue","label":"Discord M4: typed outbound embed builder (REST v10)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T20:22:55Z","updatedAt":"2026-08-15T17:32:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86321"},"data":{"closedAt":null,"createdAt":"2026-08-14T20:22:55Z","number":86321,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord M4: typed outbound embed builder (REST v10)","updatedAt":"2026-08-15T17:32:04Z","url":"https://github.com/NousResearch/hermes-agent/issues/86321","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1a7Aw","kind":"issue","label":"Discord T1: thread lifecycle REST actions (REST v10)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T22:57:51Z","updatedAt":"2026-08-15T17:31:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86453"},"data":{"closedAt":null,"createdAt":"2026-08-14T22:57:51Z","number":86453,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord T1: thread lifecycle REST actions (REST v10)","updatedAt":"2026-08-15T17:31:03Z","url":"https://github.com/NousResearch/hermes-agent/issues/86453","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1absg","kind":"issue","label":"Discord M5: read-only poll projection (REST v10)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T22:56:07Z","updatedAt":"2026-08-15T17:31:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86450"},"data":{"closedAt":null,"createdAt":"2026-08-14T22:56:07Z","number":86450,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord M5: read-only poll projection (REST v10)","updatedAt":"2026-08-15T17:31:10Z","url":"https://github.com/NousResearch/hermes-agent/issues/86450","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1bT8g","kind":"issue","label":"Discord T3: forum starter/tag REST actions (REST v10)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T22:59:18Z","updatedAt":"2026-08-15T17:30:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86457"},"data":{"closedAt":null,"createdAt":"2026-08-14T22:59:18Z","number":86457,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord T3: forum starter/tag REST actions (REST v10)","updatedAt":"2026-08-15T17:30:56Z","url":"https://github.com/NousResearch/hermes-agent/issues/86457","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1bwkA","kind":"issue","label":"Discord A1: channel/category CRUD REST actions (REST v10)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T23:00:59Z","updatedAt":"2026-08-15T17:30:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86459"},"data":{"closedAt":null,"createdAt":"2026-08-14T23:00:59Z","number":86459,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord A1: channel/category CRUD REST actions (REST v10)","updatedAt":"2026-08-15T17:30:50Z","url":"https://github.com/NousResearch/hermes-agent/issues/86459","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1ctFQ","kind":"issue","label":"Discord A4: moderation REST actions (REST v10)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T23:04:03Z","updatedAt":"2026-08-15T17:30:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86463"},"data":{"closedAt":null,"createdAt":"2026-08-14T23:04:03Z","number":86463,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord A4: moderation REST actions (REST v10)","updatedAt":"2026-08-15T17:30:36Z","url":"https://github.com/NousResearch/hermes-agent/issues/86463","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1cX5A","kind":"issue","label":"Discord A3: role CRUD + assignment REST actions (REST v10)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T23:02:52Z","updatedAt":"2026-08-15T17:30:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86461"},"data":{"closedAt":null,"createdAt":"2026-08-14T23:02:52Z","number":86461,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord A3: role CRUD + assignment REST actions (REST v10)","updatedAt":"2026-08-15T17:30:43Z","url":"https://github.com/NousResearch/hermes-agent/issues/86461","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1ddPQ","kind":"issue","label":"Discord R1: route-aware rate-limit contract","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T23:06:49Z","updatedAt":"2026-08-15T17:30:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86467"},"data":{"closedAt":null,"createdAt":"2026-08-14T23:06:49Z","number":86467,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord R1: route-aware rate-limit contract","updatedAt":"2026-08-15T17:30:20Z","url":"https://github.com/NousResearch/hermes-agent/issues/86467","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1dI1w","kind":"issue","label":"Discord A6: guild scheduled-event REST actions (REST v10)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T23:05:37Z","updatedAt":"2026-08-15T17:30:29Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86465"},"data":{"closedAt":null,"createdAt":"2026-08-14T23:05:37Z","number":86465,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord A6: guild scheduled-event REST actions (REST v10)","updatedAt":"2026-08-15T17:30:29Z","url":"https://github.com/NousResearch/hermes-agent/issues/86465","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1gBYQ","kind":"issue","label":"Discord I2: command guild-scope + installation-context normalization","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T23:15:32Z","updatedAt":"2026-08-15T17:30:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86474"},"data":{"closedAt":null,"createdAt":"2026-08-14T23:15:32Z","number":86474,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord I2: command guild-scope + installation-context normalization","updatedAt":"2026-08-15T17:30:12Z","url":"https://github.com/NousResearch/hermes-agent/issues/86474","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1ioPw","kind":"issue","label":"Discord W4: proactive/home/cron delivery targeting","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T23:24:57Z","updatedAt":"2026-08-15T17:29:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86486"},"data":{"closedAt":null,"createdAt":"2026-08-14T23:24:57Z","number":86486,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord W4: proactive/home/cron delivery targeting","updatedAt":"2026-08-15T17:29:56Z","url":"https://github.com/NousResearch/hermes-agent/issues/86486","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1iQPw","kind":"issue","label":"Discord I6: interaction ACK + error discipline","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T23:23:39Z","updatedAt":"2026-08-15T17:30:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86484"},"data":{"closedAt":null,"createdAt":"2026-08-14T23:23:39Z","number":86484,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord I6: interaction ACK + error discipline","updatedAt":"2026-08-15T17:30:03Z","url":"https://github.com/NousResearch/hermes-agent/issues/86484","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1neZg","kind":"issue","label":"Discord M6: attachment routing/preflight/bounded reads","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T23:43:00Z","updatedAt":"2026-08-15T17:29:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86498"},"data":{"closedAt":null,"createdAt":"2026-08-14T23:43:00Z","number":86498,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord M6: attachment routing/preflight/bounded reads","updatedAt":"2026-08-15T17:29:49Z","url":"https://github.com/NousResearch/hermes-agent/issues/86498","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1niGw","kind":"issue","label":"Discord M7: streaming-delivery state machine","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T23:43:13Z","updatedAt":"2026-08-15T17:29:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86500"},"data":{"closedAt":null,"createdAt":"2026-08-14T23:43:13Z","number":86500,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord M7: streaming-delivery state machine","updatedAt":"2026-08-15T17:29:41Z","url":"https://github.com/NousResearch/hermes-agent/issues/86500","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1nphA","kind":"issue","label":"Discord T2: thread session isolation + history partition","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T23:43:34Z","updatedAt":"2026-08-15T17:29:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86502"},"data":{"closedAt":null,"createdAt":"2026-08-14T23:43:34Z","number":86502,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord T2: thread session isolation + history partition","updatedAt":"2026-08-15T17:29:34Z","url":"https://github.com/NousResearch/hermes-agent/issues/86502","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1nsvA","kind":"issue","label":"Discord T4: forum partial-delivery truth","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T23:43:42Z","updatedAt":"2026-08-15T17:29:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86504"},"data":{"closedAt":null,"createdAt":"2026-08-14T23:43:42Z","number":86504,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord T4: forum partial-delivery truth","updatedAt":"2026-08-15T17:29:27Z","url":"https://github.com/NousResearch/hermes-agent/issues/86504","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1rC4g","kind":"issue","label":"Discord T5: thread permission correctness","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T23:56:51Z","updatedAt":"2026-08-15T17:29:16Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86521"},"data":{"closedAt":null,"createdAt":"2026-08-14T23:56:51Z","number":86521,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord T5: thread permission correctness","updatedAt":"2026-08-15T17:29:16Z","url":"https://github.com/NousResearch/hermes-agent/issues/86521","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1SOEg","kind":"issue","label":"Discord M3: outbound reaction actions (REST v10)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T22:29:01Z","updatedAt":"2026-08-15T17:31:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86418"},"data":{"closedAt":null,"createdAt":"2026-08-14T22:29:01Z","number":86418,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord M3: outbound reaction actions (REST v10)","updatedAt":"2026-08-15T17:31:58Z","url":"https://github.com/NousResearch/hermes-agent/issues/86418","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1tS2A","kind":"issue","label":"Discord V1: native voice-message validation","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-15T00:04:57Z","updatedAt":"2026-08-15T17:29:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86537"},"data":{"closedAt":null,"createdAt":"2026-08-15T00:04:57Z","number":86537,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord V1: native voice-message validation","updatedAt":"2026-08-15T17:29:13Z","url":"https://github.com/NousResearch/hermes-agent/issues/86537","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1tSaw","kind":"issue","label":"Discord I3: slash-command autocomplete option fidelity","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-15T00:04:56Z","updatedAt":"2026-08-15T17:29:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86535"},"data":{"closedAt":null,"createdAt":"2026-08-15T00:04:56Z","number":86535,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord I3: slash-command autocomplete option fidelity","updatedAt":"2026-08-15T17:29:15Z","url":"https://github.com/NousResearch/hermes-agent/issues/86535","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1tSpw","kind":"issue","label":"Discord I4: component authorization seam","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-15T00:04:57Z","updatedAt":"2026-08-15T17:29:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86536"},"data":{"closedAt":null,"createdAt":"2026-08-15T00:04:57Z","number":86536,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord I4: component authorization seam","updatedAt":"2026-08-15T17:29:14Z","url":"https://github.com/NousResearch/hermes-agent/issues/86536","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1tTFA","kind":"issue","label":"Discord W3: profile routing acceptance matrix","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-15T00:04:58Z","updatedAt":"2026-08-15T17:29:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86538"},"data":{"closedAt":null,"createdAt":"2026-08-15T00:04:58Z","number":86538,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord W3: profile routing acceptance matrix","updatedAt":"2026-08-15T17:29:11Z","url":"https://github.com/NousResearch/hermes-agent/issues/86538","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1tTUA","kind":"issue","label":"Discord R3: recovery cursor correctness","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-15T00:04:59Z","updatedAt":"2026-08-15T17:29:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86539"},"data":{"closedAt":null,"createdAt":"2026-08-15T00:04:59Z","number":86539,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord R3: recovery cursor correctness","updatedAt":"2026-08-15T17:29:10Z","url":"https://github.com/NousResearch/hermes-agent/issues/86539","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1u_xA","kind":"issue","label":"Discord I1: command registry sync parity","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-15T00:10:39Z","updatedAt":"2026-08-15T17:29:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86549"},"data":{"closedAt":null,"createdAt":"2026-08-15T00:10:39Z","number":86549,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord I1: command registry sync parity","updatedAt":"2026-08-15T17:29:01Z","url":"https://github.com/NousResearch/hermes-agent/issues/86549","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1WDHw","kind":"issue","label":"Discord A2: permission-overwrite REST actions (REST v10)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T22:40:47Z","updatedAt":"2026-08-15T17:31:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86428"},"data":{"closedAt":null,"createdAt":"2026-08-14T22:40:47Z","number":86428,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord A2: permission-overwrite REST actions (REST v10)","updatedAt":"2026-08-15T17:31:51Z","url":"https://github.com/NousResearch/hermes-agent/issues/86428","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1X20w","kind":"issue","label":"Discord R2: REST pagination conformance","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T22:47:09Z","updatedAt":"2026-08-15T17:31:37Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86436"},"data":{"closedAt":null,"createdAt":"2026-08-14T22:47:09Z","number":86436,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord R2: REST pagination conformance","updatedAt":"2026-08-15T17:31:37Z","url":"https://github.com/NousResearch/hermes-agent/issues/86436","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1XNPg","kind":"issue","label":"Discord A5: scalar guild-settings REST action (REST v10)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T22:44:59Z","updatedAt":"2026-08-15T17:31:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86431"},"data":{"closedAt":null,"createdAt":"2026-08-14T22:44:59Z","number":86431,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord A5: scalar guild-settings REST action (REST v10)","updatedAt":"2026-08-15T17:31:44Z","url":"https://github.com/NousResearch/hermes-agent/issues/86431","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1YmVw","kind":"issue","label":"Discord M1: structured inbound message model (REST v10)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T22:49:50Z","updatedAt":"2026-08-15T17:31:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86439"},"data":{"closedAt":null,"createdAt":"2026-08-14T22:49:50Z","number":86439,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord M1: structured inbound message model (REST v10)","updatedAt":"2026-08-15T17:31:30Z","url":"https://github.com/NousResearch/hermes-agent/issues/86439","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1Z7Lg","kind":"issue","label":"Discord M2: message edit/delete REST actions (REST v10)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T22:54:18Z","updatedAt":"2026-08-15T17:31:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86448"},"data":{"closedAt":null,"createdAt":"2026-08-14T22:54:18Z","number":86448,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord M2: message edit/delete REST actions (REST v10)","updatedAt":"2026-08-15T17:31:17Z","url":"https://github.com/NousResearch/hermes-agent/issues/86448","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM1ZTPw","kind":"issue","label":"Discord R4: local reliability telemetry","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T22:52:09Z","updatedAt":"2026-08-15T17:31:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86441"},"data":{"closedAt":null,"createdAt":"2026-08-14T22:52:09Z","number":86441,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Discord R4: local reliability telemetry","updatedAt":"2026-08-15T17:31:23Z","url":"https://github.com/NousResearch/hermes-agent/issues/86441","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM4Q5-A","kind":"issue","label":"[Lane 2/5] tiktok-business-platform adapter: webhook + parser + policy + client + models","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-15T12:02:33Z","updatedAt":"2026-08-15T12:17:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86953"},"data":{"closedAt":null,"createdAt":"2026-08-15T12:02:33Z","number":86953,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Lane 2/5] tiktok-business-platform adapter: webhook + parser + policy + client + models","updatedAt":"2026-08-15T12:17:18Z","url":"https://github.com/NousResearch/hermes-agent/issues/86953","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM4Q5vQ","kind":"issue","label":"[Lane 1/5] bytedance-shared library: errors, http, state, webhook, tokens, media, rate_limit, secrets, observability, approval","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-15T12:02:32Z","updatedAt":"2026-08-15T17:28:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86952"},"data":{"closedAt":null,"createdAt":"2026-08-15T12:02:32Z","number":86952,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Lane 1/5] bytedance-shared library: errors, http, state, webhook, tokens, media, rate_limit, secrets, observability, approval","updatedAt":"2026-08-15T17:28:44Z","url":"https://github.com/NousResearch/hermes-agent/issues/86952","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM4Q6dg","kind":"issue","label":"[Lane 5/5] bytedance-ops plugin manifests + integration verification","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-15T12:02:36Z","updatedAt":"2026-08-15T17:28:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86956"},"data":{"closedAt":null,"createdAt":"2026-08-15T12:02:36Z","number":86956,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Lane 5/5] bytedance-ops plugin manifests + integration verification","updatedAt":"2026-08-15T17:28:25Z","url":"https://github.com/NousResearch/hermes-agent/issues/86956","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM4Q6KA","kind":"issue","label":"[Lane 3/5] douyin-platform adapter: webhook + parser + policy + client + models","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-15T12:02:34Z","updatedAt":"2026-08-15T12:17:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86954"},"data":{"closedAt":null,"createdAt":"2026-08-15T12:02:34Z","number":86954,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Lane 3/5] douyin-platform adapter: webhook + parser + policy + client + models","updatedAt":"2026-08-15T12:17:15Z","url":"https://github.com/NousResearch/hermes-agent/issues/86954","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM4Q6UA","kind":"issue","label":"[Lane 4/5] bytedance-ops tools: tiktok_organic, creator, admin, douyin_content","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-15T12:02:35Z","updatedAt":"2026-08-15T12:17:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86955"},"data":{"closedAt":null,"createdAt":"2026-08-15T12:02:35Z","number":86955,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Lane 4/5] bytedance-ops tools: tiktok_organic, creator, admin, douyin_content","updatedAt":"2026-08-15T12:17:12Z","url":"https://github.com/NousResearch/hermes-agent/issues/86955","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABM4Qxug","kind":"issue","label":"ByteDance (TikTok Business + Douyin) Plugin Integration Feature Package","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-15T12:01:58Z","updatedAt":"2026-08-20T15:42:38Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86950"},"data":{"closedAt":null,"createdAt":"2026-08-15T12:01:58Z","number":86950,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"ByteDance (TikTok Business + Douyin) Plugin Integration Feature Package","updatedAt":"2026-08-20T15:42:38Z","url":"https://github.com/NousResearch/hermes-agent/issues/86950","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMAW-Sw","kind":"issue","label":"EPIC: Hermes skill-persistence and storage-boundary operational-risk conquest","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-09T03:14:02Z","updatedAt":"2026-08-09T03:34:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/82198"},"data":{"closedAt":null,"createdAt":"2026-08-09T03:14:02Z","number":82198,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"EPIC: Hermes skill-persistence and storage-boundary operational-risk conquest","updatedAt":"2026-08-09T03:34:35Z","url":"https://github.com/NousResearch/hermes-agent/issues/82198","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMC6BTQ","kind":"issue","label":"fix(tools): resolve explicit Git targets without ambient-cwd false negatives","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-09T15:35:54Z","updatedAt":"2026-08-11T10:32:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/82569"},"data":{"closedAt":null,"createdAt":"2026-08-09T15:35:54Z","number":82569,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tools): resolve explicit Git targets without ambient-cwd false negatives","updatedAt":"2026-08-11T10:32:07Z","url":"https://github.com/NousResearch/hermes-agent/issues/82569","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMDDinw","kind":"issue","label":"Python CI fetches one commit, breaking pinned-history regression tests","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-09T16:09:52Z","updatedAt":"2026-08-21T13:37:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/82585"},"data":{"closedAt":null,"createdAt":"2026-08-09T16:09:52Z","number":82585,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Python CI fetches one commit, breaking pinned-history regression tests","updatedAt":"2026-08-21T13:37:08Z","url":"https://github.com/NousResearch/hermes-agent/issues/82585","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMDGUMw","kind":"issue","label":"Kanban zero-authority workers, durable publication, safe reclaim, and large-file eradication (tracker)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-09T16:21:01Z","updatedAt":"2026-08-15T22:50:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/82591"},"data":{"closedAt":null,"createdAt":"2026-08-09T16:21:01Z","number":82591,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Kanban zero-authority workers, durable publication, safe reclaim, and large-file eradication (tracker)","updatedAt":"2026-08-15T22:50:55Z","url":"https://github.com/NousResearch/hermes-agent/issues/82591","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMhpEvA","kind":"issue","label":"Webhook Feature Package — graph-gated repair (meta-issue)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T21:41:37Z","updatedAt":"2026-08-28T21:54:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84834"},"data":{"closedAt":null,"createdAt":"2026-08-12T21:41:37Z","number":84834,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Webhook Feature Package — graph-gated repair (meta-issue)","updatedAt":"2026-08-28T21:54:51Z","url":"https://github.com/NousResearch/hermes-agent/issues/84834","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMjvNcw","kind":"issue","label":"fix(discord): bound route-aware REST rate-limit state and preserve bucket ownership","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-13T04:17:33Z","updatedAt":"2026-08-13T09:23:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/85030"},"data":{"closedAt":null,"createdAt":"2026-08-13T04:17:33Z","number":85030,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(discord): bound route-aware REST rate-limit state and preserve bucket ownership","updatedAt":"2026-08-13T09:23:24Z","url":"https://github.com/NousResearch/hermes-agent/issues/85030","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMkCf-w","kind":"issue","label":"Webhook profile admission drops selective multiplex allowlist across extracted branches","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-13T05:15:13Z","updatedAt":"2026-08-13T09:11:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/85054"},"data":{"closedAt":null,"createdAt":"2026-08-13T05:15:13Z","number":85054,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Webhook profile admission drops selective multiplex allowlist across extracted branches","updatedAt":"2026-08-13T09:11:36Z","url":"https://github.com/NousResearch/hermes-agent/issues/85054","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMn8yIA","kind":"issue","label":"read_file dedup blocks reads of different file paths with identical content (worktree/git clone false-positive)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-13T13:54:01Z","updatedAt":"2026-08-13T14:55:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/85333"},"data":{"closedAt":null,"createdAt":"2026-08-13T13:54:01Z","number":85333,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"read_file dedup blocks reads of different file paths with identical content (worktree/git clone false-positive)","updatedAt":"2026-08-13T14:55:13Z","url":"https://github.com/NousResearch/hermes-agent/issues/85333","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMn9lKw","kind":"issue","label":"Desktop: cloud agent 503/backend unreachable produces non-actionable boot-loop with opaque error","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-13T13:55:29Z","updatedAt":"2026-08-22T02:09:43Z","closedAt":"2026-08-22T02:09:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/85335"},"data":{"closedAt":"2026-08-22T02:09:43Z","createdAt":"2026-08-13T13:55:29Z","number":85335,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"Desktop: cloud agent 503/backend unreachable produces non-actionable boot-loop with opaque error","updatedAt":"2026-08-22T02:09:43Z","url":"https://github.com/NousResearch/hermes-agent/issues/85335","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMOreFg","kind":"issue","label":"Child-process credential-inheritance closure (tracker)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T01:00:22Z","updatedAt":"2026-08-23T12:46:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/83565"},"data":{"closedAt":null,"createdAt":"2026-08-11T01:00:22Z","number":83565,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Child-process credential-inheritance closure (tracker)","updatedAt":"2026-08-23T12:46:19Z","url":"https://github.com/NousResearch/hermes-agent/issues/83565","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMypmTA","kind":"issue","label":"Discord /model picker drops all free (:free) models for providers with >25 curated models","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-14T15:46:50Z","updatedAt":"2026-08-22T10:59:12Z","closedAt":"2026-08-22T10:59:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/86174"},"data":{"closedAt":"2026-08-22T10:59:12Z","createdAt":"2026-08-14T15:46:50Z","number":86174,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"Discord /model picker drops all free (:free) models for providers with >25 curated models","updatedAt":"2026-08-22T10:59:12Z","url":"https://github.com/NousResearch/hermes-agent/issues/86174","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWaVA","kind":"issue","label":"CI change classification and supply-chain scanning omit security-sensitive change classes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:24:35Z","updatedAt":"2026-08-12T03:27:16Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84247"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:24:35Z","number":84247,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"CI change classification and supply-chain scanning omit security-sensitive change classes","updatedAt":"2026-08-12T03:27:16Z","url":"https://github.com/NousResearch/hermes-agent/issues/84247","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWbaA","kind":"issue","label":"Docker cgroup probe failure removes resource limits","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:24:38Z","updatedAt":"2026-08-18T00:32:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84248"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:24:38Z","number":84248,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Docker cgroup probe failure removes resource limits","updatedAt":"2026-08-18T00:32:24Z","url":"https://github.com/NousResearch/hermes-agent/issues/84248","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWctg","kind":"issue","label":"Agent/background skill creation can publish before a fail-closed security decision","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:24:42Z","updatedAt":"2026-08-12T03:27:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84250"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:24:42Z","number":84250,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Agent/background skill creation can publish before a fail-closed security decision","updatedAt":"2026-08-12T03:27:06Z","url":"https://github.com/NousResearch/hermes-agent/issues/84250","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWcVg","kind":"issue","label":"Kanban completion permits an authority-bearing no-run-ID mode","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:24:41Z","updatedAt":"2026-08-12T03:27:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84249"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:24:41Z","number":84249,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Kanban completion permits an authority-bearing no-run-ID mode","updatedAt":"2026-08-12T03:27:10Z","url":"https://github.com/NousResearch/hermes-agent/issues/84249","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWdig","kind":"issue","label":"Skill index traversal follows directory links without an explicit no-follow/provenance decision","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:24:45Z","updatedAt":"2026-08-12T03:26:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84252"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:24:45Z","number":84252,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Skill index traversal follows directory links without an explicit no-follow/provenance decision","updatedAt":"2026-08-12T03:26:58Z","url":"https://github.com/NousResearch/hermes-agent/issues/84252","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWdIQ","kind":"issue","label":"Recalled memory is framed as authoritative instruction-bearing context without provenance enforcement","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:24:43Z","updatedAt":"2026-08-12T03:27:02Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84251"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:24:43Z","number":84251,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Recalled memory is framed as authoritative instruction-bearing context without provenance enforcement","updatedAt":"2026-08-12T03:27:02Z","url":"https://github.com/NousResearch/hermes-agent/issues/84251","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWe2g","kind":"issue","label":"Required CI aggregate treats skipped and non-failure states as passing and excludes Docker from the gate","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:24:49Z","updatedAt":"2026-08-18T01:45:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84254"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:24:49Z","number":84254,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Required CI aggregate treats skipped and non-failure states as passing and excludes Docker from the gate","updatedAt":"2026-08-18T01:45:43Z","url":"https://github.com/NousResearch/hermes-agent/issues/84254","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWeXw","kind":"issue","label":"Response history and conversation mappings are process/global rather than profile-scoped","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:24:47Z","updatedAt":"2026-08-12T03:26:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84253"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:24:47Z","number":84253,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Response history and conversation mappings are process/global rather than profile-scoped","updatedAt":"2026-08-12T03:26:55Z","url":"https://github.com/NousResearch/hermes-agent/issues/84253","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWfRw","kind":"issue","label":"Ephemeral plugin, external-memory, and gateway-note context is persisted as replayable api_content","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:24:50Z","updatedAt":"2026-08-12T03:26:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84255"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:24:50Z","number":84255,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Ephemeral plugin, external-memory, and gateway-note context is persisted as replayable api_content","updatedAt":"2026-08-12T03:26:48Z","url":"https://github.com/NousResearch/hermes-agent/issues/84255","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWfvQ","kind":"issue","label":"API idempotency cache omits profile, principal, and route scope","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:24:51Z","updatedAt":"2026-08-12T03:26:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84256"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:24:51Z","number":84256,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"API idempotency cache omits profile, principal, and route scope","updatedAt":"2026-08-12T03:26:44Z","url":"https://github.com/NousResearch/hermes-agent/issues/84256","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWgjQ","kind":"issue","label":"Stale reclaim relies on host PID/heartbeat evidence rather than complete execution-scope ownership","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:24:54Z","updatedAt":"2026-08-12T03:26:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84258"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:24:54Z","number":84258,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Stale reclaim relies on host PID/heartbeat evidence rather than complete execution-scope ownership","updatedAt":"2026-08-12T03:26:36Z","url":"https://github.com/NousResearch/hermes-agent/issues/84258","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWgMQ","kind":"issue","label":"Webhook idempotency is process-local and recorded before external delivery outcome","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:24:53Z","updatedAt":"2026-08-18T00:35:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84257"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:24:53Z","number":84257,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Webhook idempotency is process-local and recorded before external delivery outcome","updatedAt":"2026-08-18T00:35:47Z","url":"https://github.com/NousResearch/hermes-agent/issues/84257","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWhxA","kind":"issue","label":"Custom provider paths forward configured credentials and query metadata to selected endpoints","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:24:58Z","updatedAt":"2026-08-12T03:47:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84260"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:24:58Z","number":84260,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Custom provider paths forward configured credentials and query metadata to selected endpoints","updatedAt":"2026-08-12T03:47:56Z","url":"https://github.com/NousResearch/hermes-agent/issues/84260","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWhXg","kind":"issue","label":"Threat scanning truncates input at 65,536 characters while context rendering can preserve the tail","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:24:57Z","updatedAt":"2026-08-18T00:42:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84259"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:24:57Z","number":84259,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Threat scanning truncates input at 65,536 characters while context rendering can preserve the tail","updatedAt":"2026-08-18T00:42:17Z","url":"https://github.com/NousResearch/hermes-agent/issues/84259","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWinQ","kind":"issue","label":"Context-engine selection accepts arbitrary non-empty message dictionaries without tier/provenance validation","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:25:01Z","updatedAt":"2026-08-18T01:38:29Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84262"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:25:01Z","number":84262,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Context-engine selection accepts arbitrary non-empty message dictionaries without tier/provenance validation","updatedAt":"2026-08-18T01:38:29Z","url":"https://github.com/NousResearch/hermes-agent/issues/84262","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWiNQ","kind":"issue","label":"Direct webhook delivery reaches external side effects without an exact publication ledger","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:24:59Z","updatedAt":"2026-08-12T03:47:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84261"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:24:59Z","number":84261,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Direct webhook delivery reaches external side effects without an exact publication ledger","updatedAt":"2026-08-12T03:47:52Z","url":"https://github.com/NousResearch/hermes-agent/issues/84261","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWj3g","kind":"issue","label":"Legacy body-only webhook HMAC is replayable after local deduplication expires","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:25:04Z","updatedAt":"2026-08-18T01:30:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84265"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:25:04Z","number":84265,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Legacy body-only webhook HMAC is replayable after local deduplication expires","updatedAt":"2026-08-18T01:30:04Z","url":"https://github.com/NousResearch/hermes-agent/issues/84265","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWjBw","kind":"issue","label":"Timed-out external memory prefetch threads remain detached and uncancellable","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:25:02Z","updatedAt":"2026-08-18T00:52:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84263"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:25:02Z","number":84263,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Timed-out external memory prefetch threads remain detached and uncancellable","updatedAt":"2026-08-18T00:52:56Z","url":"https://github.com/NousResearch/hermes-agent/issues/84263","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWjeA","kind":"issue","label":"Corrupt auth stores are retained as raw .json.corrupt copies without lifecycle controls","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:25:03Z","updatedAt":"2026-08-12T03:47:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84264"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:25:03Z","number":84264,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Corrupt auth stores are retained as raw .json.corrupt copies without lifecycle controls","updatedAt":"2026-08-12T03:47:42Z","url":"https://github.com/NousResearch/hermes-agent/issues/84264","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWktQ","kind":"issue","label":"Default URL redaction preserves userinfo and query credentials at non-navigation-capable boundaries","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:25:07Z","updatedAt":"2026-08-18T01:41:22Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84267"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:25:07Z","number":84267,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Default URL redaction preserves userinfo and query credentials at non-navigation-capable boundaries","updatedAt":"2026-08-18T01:41:22Z","url":"https://github.com/NousResearch/hermes-agent/issues/84267","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWkUA","kind":"issue","label":"Profile-prefixed platform callbacks can resolve through the default adapter","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:25:05Z","updatedAt":"2026-08-12T03:47:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84266"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:25:05Z","number":84266,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Profile-prefixed platform callbacks can resolve through the default adapter","updatedAt":"2026-08-12T03:47:34Z","url":"https://github.com/NousResearch/hermes-agent/issues/84266","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWl8g","kind":"issue","label":"TTS custom output path is not backend-scoped","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:25:11Z","updatedAt":"2026-08-12T03:47:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84268"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:25:11Z","number":84268,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"TTS custom output path is not backend-scoped","updatedAt":"2026-08-12T03:47:27Z","url":"https://github.com/NousResearch/hermes-agent/issues/84268","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWn-Q","kind":"issue","label":"Explicit empty execute_code capability set broadens to all sandbox tools","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:25:18Z","updatedAt":"2026-08-18T01:06:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84271"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:25:18Z","number":84271,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Explicit empty execute_code capability set broadens to all sandbox tools","updatedAt":"2026-08-18T01:06:19Z","url":"https://github.com/NousResearch/hermes-agent/issues/84271","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWnfQ","kind":"issue","label":"Config credential-file mounts bypass the master-store read denylist","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:25:16Z","updatedAt":"2026-08-12T04:08:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84270"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:25:16Z","number":84270,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Config credential-file mounts bypass the master-store read denylist","updatedAt":"2026-08-12T04:08:28Z","url":"https://github.com/NousResearch/hermes-agent/issues/84270","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWnHQ","kind":"issue","label":"Run, approval, event, and stop registries authorize by raw run ID only","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:25:15Z","updatedAt":"2026-08-12T03:47:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84269"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:25:15Z","number":84269,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Run, approval, event, and stop registries authorize by raw run ID only","updatedAt":"2026-08-12T03:47:24Z","url":"https://github.com/NousResearch/hermes-agent/issues/84269","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWXrw","kind":"issue","label":"Website policy import failure fails open","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:24:27Z","updatedAt":"2026-08-18T00:12:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84244"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:24:27Z","number":84244,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Website policy import failure fails open","updatedAt":"2026-08-18T00:12:12Z","url":"https://github.com/NousResearch/hermes-agent/issues/84244","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWY_Q","kind":"issue","label":"Unknown force argument can bypass terminal dangerous-command approval","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:24:31Z","updatedAt":"2026-08-12T03:27:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84245"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:24:31Z","number":84245,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Unknown force argument can bypass terminal dangerous-command approval","updatedAt":"2026-08-12T03:27:24Z","url":"https://github.com/NousResearch/hermes-agent/issues/84245","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABMZWZ7A","kind":"issue","label":"Archive and installer-output consumers lack uniform authenticity and finite resource bounds","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:24:34Z","updatedAt":"2026-08-18T00:19:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/84246"},"data":{"closedAt":null,"createdAt":"2026-08-12T03:24:34Z","number":84246,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Archive and installer-output consumers lack uniform authenticity and finite resource bounds","updatedAt":"2026-08-18T00:19:14Z","url":"https://github.com/NousResearch/hermes-agent/issues/84246","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABN1eatw","kind":"issue","label":"security: rotate exposed webhook credential and republish affected images after committed profile archive","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T18:59:33Z","updatedAt":"2026-08-23T07:05:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/92457"},"data":{"closedAt":null,"createdAt":"2026-08-22T18:59:33Z","number":92457,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"security: rotate exposed webhook credential and republish affected images after committed profile archive","updatedAt":"2026-08-23T07:05:08Z","url":"https://github.com/NousResearch/hermes-agent/issues/92457","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABN2TfXA","kind":"issue","label":"ci: main can advance without an exact-SHA run receipt or enforced status contexts","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T22:58:56Z","updatedAt":"2026-08-23T10:21:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/92555"},"data":{"closedAt":null,"createdAt":"2026-08-22T22:58:56Z","number":92555,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"ci: main can advance without an exact-SHA run receipt or enforced status contexts","updatedAt":"2026-08-23T10:21:26Z","url":"https://github.com/NousResearch/hermes-agent/issues/92555","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABN2yZWw","kind":"issue","label":"security: establish a repository-wide assurance baseline and release security gate","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-23T01:45:18Z","updatedAt":"2026-08-23T01:46:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/92618"},"data":{"closedAt":null,"createdAt":"2026-08-23T01:45:18Z","number":92618,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"security: establish a repository-wide assurance baseline and release security gate","updatedAt":"2026-08-23T01:46:34Z","url":"https://github.com/NousResearch/hermes-agent/issues/92618","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABN4l92Q","kind":"issue","label":"IGNORE","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-23T11:47:19Z","updatedAt":"2026-08-23T18:54:02Z","closedAt":"2026-08-23T18:54:02Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/92911"},"data":{"closedAt":"2026-08-23T18:54:02Z","createdAt":"2026-08-23T11:47:19Z","number":92911,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"IGNORE","updatedAt":"2026-08-23T18:54:02Z","url":"https://github.com/NousResearch/hermes-agent/issues/92911","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABN62qlA","kind":"issue","label":"[Security] CRITICAL: child-env post-scrub clobber in tui_gateway/host_supervisor.py (env.update(os.environ) after scrub)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-23T21:07:30Z","updatedAt":"2026-08-23T23:07:36Z","closedAt":"2026-08-23T23:07:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/93230"},"data":{"closedAt":"2026-08-23T23:07:19Z","createdAt":"2026-08-23T21:07:30Z","number":93230,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"[Security] CRITICAL: child-env post-scrub clobber in tui_gateway/host_supervisor.py (env.update(os.environ) after scrub)","updatedAt":"2026-08-23T23:07:36Z","url":"https://github.com/NousResearch/hermes-agent/issues/93230","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABN64jag","kind":"issue","label":"[Security] HIGH: child-env full-ring leak at LSP spawn in agent/lsp/client.py:292","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-23T21:14:45Z","updatedAt":"2026-08-23T23:07:45Z","closedAt":"2026-08-23T23:07:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/93233"},"data":{"closedAt":"2026-08-23T23:07:45Z","createdAt":"2026-08-23T21:14:45Z","number":93233,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"[Security] HIGH: child-env full-ring leak at LSP spawn in agent/lsp/client.py:292","updatedAt":"2026-08-23T23:07:45Z","url":"https://github.com/NousResearch/hermes-agent/issues/93233","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABN6GszA","kind":"issue","label":"DO NOT CREATE","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-23T18:03:06Z","updatedAt":"2026-08-23T18:53:42Z","closedAt":"2026-08-23T18:53:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/93104"},"data":{"closedAt":"2026-08-23T18:53:42Z","createdAt":"2026-08-23T18:03:06Z","number":93104,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"DO NOT CREATE","updatedAt":"2026-08-23T18:53:42Z","url":"https://github.com/NousResearch/hermes-agent/issues/93104","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABN6NtrQ","kind":"issue","label":"DO NOT CREATE","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-23T18:29:11Z","updatedAt":"2026-08-23T18:53:49Z","closedAt":"2026-08-23T18:53:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/93118"},"data":{"closedAt":"2026-08-23T18:53:49Z","createdAt":"2026-08-23T18:29:11Z","number":93118,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"DO NOT CREATE","updatedAt":"2026-08-23T18:53:49Z","url":"https://github.com/NousResearch/hermes-agent/issues/93118","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABN6Ozzg","kind":"issue","label":"connector-comment-probe-92931","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-23T18:33:18Z","updatedAt":"2026-08-23T18:54:20Z","closedAt":"2026-08-23T18:54:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/93121"},"data":{"closedAt":"2026-08-23T18:54:20Z","createdAt":"2026-08-23T18:33:18Z","number":93121,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"connector-comment-probe-92931","updatedAt":"2026-08-23T18:54:20Z","url":"https://github.com/NousResearch/hermes-agent/issues/93121","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNac4Qw","kind":"issue","label":"[Architecture] Proof scope must equal mutation scope","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T16:55:19Z","updatedAt":"2026-08-21T23:38:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/90144"},"data":{"closedAt":null,"createdAt":"2026-08-19T16:55:19Z","number":90144,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Architecture] Proof scope must equal mutation scope","updatedAt":"2026-08-21T23:38:35Z","url":"https://github.com/NousResearch/hermes-agent/issues/90144","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNacsVg","kind":"issue","label":"[Architecture] Make qualified identity monotonic across Hermes subsystem boundaries","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T16:54:58Z","updatedAt":"2026-08-20T15:07:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/90142"},"data":{"closedAt":null,"createdAt":"2026-08-19T16:54:58Z","number":90142,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Architecture] Make qualified identity monotonic across Hermes subsystem boundaries","updatedAt":"2026-08-20T15:07:12Z","url":"https://github.com/NousResearch/hermes-agent/issues/90142","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNad9_w","kind":"issue","label":"[Architecture] Desktop ownership must be sticky and generation-bound across multi-source operations","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-19T16:57:25Z","updatedAt":"2026-08-20T15:07:23Z","closedAt":"2026-08-20T01:55:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/90146"},"data":{"closedAt":"2026-08-20T01:55:47Z","createdAt":"2026-08-19T16:57:25Z","number":90146,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"[Architecture] Desktop ownership must be sticky and generation-bound across multi-source operations","updatedAt":"2026-08-20T15:07:23Z","url":"https://github.com/NousResearch/hermes-agent/issues/90146","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNadLow","kind":"issue","label":"[Architecture]: recovery and teardown must be fenced by durable generation identity","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T16:55:53Z","updatedAt":"2026-08-21T23:38:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/90145"},"data":{"closedAt":null,"createdAt":"2026-08-19T16:55:53Z","number":90145,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Architecture]: recovery and teardown must be fenced by durable generation identity","updatedAt":"2026-08-21T23:38:49Z","url":"https://github.com/NousResearch/hermes-agent/issues/90145","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNaelJA","kind":"issue","label":"architecture(desktop): make route identity immutable, generation-bound, and resource-owned across multi-gateway Desktop","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T16:58:39Z","updatedAt":"2026-08-21T01:55:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/90149"},"data":{"closedAt":null,"createdAt":"2026-08-19T16:58:39Z","number":90149,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"architecture(desktop): make route identity immutable, generation-bound, and resource-owned across multi-gateway Desktop","updatedAt":"2026-08-21T01:55:47Z","url":"https://github.com/NousResearch/hermes-agent/issues/90149","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNaetQQ","kind":"issue","label":"[Architecture] Treat built artifacts and real protocol peers as part of the system under test","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T16:58:54Z","updatedAt":"2026-08-21T23:39:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/90150"},"data":{"closedAt":null,"createdAt":"2026-08-19T16:58:54Z","number":90150,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Architecture] Treat built artifacts and real protocol peers as part of the system under test","updatedAt":"2026-08-21T23:39:14Z","url":"https://github.com/NousResearch/hermes-agent/issues/90150","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNbQCag","kind":"issue","label":"[Architecture] GitHub automation has split authority: metadata writes succeed while repository-object writes fail","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T18:36:31Z","updatedAt":"2026-08-21T23:39:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/90200"},"data":{"closedAt":null,"createdAt":"2026-08-19T18:36:31Z","number":90200,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Architecture] GitHub automation has split authority: metadata writes succeed while repository-object writes fail","updatedAt":"2026-08-21T23:39:31Z","url":"https://github.com/NousResearch/hermes-agent/issues/90200","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNH__0g","kind":"issue","label":"[Architecture]: make install/update/bootstrap obey one transactional deployment plan","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-17T21:53:14Z","updatedAt":"2026-08-21T23:23:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/88683"},"data":{"closedAt":null,"createdAt":"2026-08-17T21:53:14Z","number":88683,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Architecture]: make install/update/bootstrap obey one transactional deployment plan","updatedAt":"2026-08-21T23:23:10Z","url":"https://github.com/NousResearch/hermes-agent/issues/88683","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNH92dQ","kind":"issue","label":"[Architecture] Desktop: preserve connection × profile route identity end-to-end","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-17T21:49:00Z","updatedAt":"2026-08-18T22:44:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/88680"},"data":{"closedAt":null,"createdAt":"2026-08-17T21:49:00Z","number":88680,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Architecture] Desktop: preserve connection × profile route identity end-to-end","updatedAt":"2026-08-18T22:44:06Z","url":"https://github.com/NousResearch/hermes-agent/issues/88680","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNIBeRg","kind":"issue","label":"Cron/session recovery: fence reconciliation by exact ownership generation","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-17T21:56:31Z","updatedAt":"2026-08-19T14:07:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/88688"},"data":{"closedAt":null,"createdAt":"2026-08-17T21:56:31Z","number":88688,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Cron/session recovery: fence reconciliation by exact ownership generation","updatedAt":"2026-08-19T14:07:45Z","url":"https://github.com/NousResearch/hermes-agent/issues/88688","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNIfMhA","kind":"issue","label":"compression: preserve durable row-ID watermarks across child, CLI, and ACP restores","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-17T23:20:45Z","updatedAt":"2026-08-21T23:52:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/88740"},"data":{"closedAt":null,"createdAt":"2026-08-17T23:20:45Z","number":88740,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"compression: preserve durable row-ID watermarks across child, CLI, and ACP restores","updatedAt":"2026-08-21T23:52:40Z","url":"https://github.com/NousResearch/hermes-agent/issues/88740","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNIIuSw","kind":"issue","label":"[MCP]: Close dual-era protocol boundary correctness and conformance gaps","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-17T22:15:23Z","updatedAt":"2026-08-19T18:16:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/88698"},"data":{"closedAt":null,"createdAt":"2026-08-17T22:15:23Z","number":88698,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[MCP]: Close dual-era protocol boundary correctness and conformance gaps","updatedAt":"2026-08-19T18:16:21Z","url":"https://github.com/NousResearch/hermes-agent/issues/88698","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNIl-8w","kind":"issue","label":"compression: preserve the raw durable watermark through replay cleanup and alternation repair","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-17T23:41:04Z","updatedAt":"2026-08-21T23:52:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/88758"},"data":{"closedAt":null,"createdAt":"2026-08-17T23:41:04Z","number":88758,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"compression: preserve the raw durable watermark through replay cleanup and alternation repair","updatedAt":"2026-08-21T23:52:52Z","url":"https://github.com/NousResearch/hermes-agent/issues/88758","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNINu3w","kind":"issue","label":"[Security]: Close use-time, provenance, and authority gaps behind #88232 / #88435","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-17T22:28:03Z","updatedAt":"2026-08-18T12:10:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/88706"},"data":{"closedAt":null,"createdAt":"2026-08-17T22:28:03Z","number":88706,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Security]: Close use-time, provenance, and authority gaps behind #88232 / #88435","updatedAt":"2026-08-18T12:10:25Z","url":"https://github.com/NousResearch/hermes-agent/issues/88706","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNIUreQ","kind":"issue","label":"Multiplex: profile identity is late-bound across transport, session, storage, and control paths","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-17T22:49:01Z","updatedAt":"2026-08-19T18:15:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/88715"},"data":{"closedAt":null,"createdAt":"2026-08-17T22:49:01Z","number":88715,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Multiplex: profile identity is late-bound across transport, session, storage, and control paths","updatedAt":"2026-08-19T18:15:59Z","url":"https://github.com/NousResearch/hermes-agent/issues/88715","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNjgjpQ","kind":"issue","label":"[Architecture] Make observable state proof-carrying from source to side effect","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-20T14:39:41Z","updatedAt":"2026-08-21T23:44:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/90866"},"data":{"closedAt":null,"createdAt":"2026-08-20T14:39:41Z","number":90866,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Architecture] Make observable state proof-carrying from source to side effect","updatedAt":"2026-08-21T23:44:45Z","url":"https://github.com/NousResearch/hermes-agent/issues/90866","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNju92Q","kind":"issue","label":"[Security]: external-boundary provenance is erased before identity, admission, projection, and audit policy","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-20T15:02:28Z","updatedAt":"2026-08-20T15:05:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/90880"},"data":{"closedAt":null,"createdAt":"2026-08-20T15:02:28Z","number":90880,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Security]: external-boundary provenance is erased before identity, admission, projection, and audit policy","updatedAt":"2026-08-20T15:05:15Z","url":"https://github.com/NousResearch/hermes-agent/issues/90880","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNjxihw","kind":"issue","label":"[Architecture] Make Bot Chat canonical identity owner-qualified, generation-bound, and idempotent","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-20T15:06:26Z","updatedAt":"2026-08-22T08:28:12Z","closedAt":"2026-08-22T08:28:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/90881"},"data":{"closedAt":"2026-08-22T08:28:12Z","createdAt":"2026-08-20T15:06:26Z","number":90881,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"[Architecture] Make Bot Chat canonical identity owner-qualified, generation-bound, and idempotent","updatedAt":"2026-08-22T08:28:12Z","url":"https://github.com/NousResearch/hermes-agent/issues/90881","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNlIYCg","kind":"issue","label":"refactor(webhook): collapse feature surface into one authority per question","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-20T17:48:28Z","updatedAt":"2026-08-21T23:44:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/90989"},"data":{"closedAt":null,"createdAt":"2026-08-20T17:48:28Z","number":90989,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(webhook): collapse feature surface into one authority per question","updatedAt":"2026-08-21T23:44:53Z","url":"https://github.com/NousResearch/hermes-agent/issues/90989","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNoQhVQ","kind":"issue","label":"[Architecture / Publication] Task Completion Verification — exact-object completion as the sixth Hermes law","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T02:01:45Z","updatedAt":"2026-08-26T17:36:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/91230"},"data":{"closedAt":null,"createdAt":"2026-08-21T02:01:45Z","number":91230,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Architecture / Publication] Task Completion Verification — exact-object completion as the sixth Hermes law","updatedAt":"2026-08-26T17:36:40Z","url":"https://github.com/NousResearch/hermes-agent/issues/91230","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNta_0w","kind":"issue","label":"security: remove ACP subprocess controls from generic environment persistence","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-21T14:19:00Z","updatedAt":"2026-08-26T16:54:34Z","closedAt":"2026-08-26T16:54:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/91565"},"data":{"closedAt":"2026-08-26T16:54:34Z","createdAt":"2026-08-21T14:19:00Z","number":91565,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"security: remove ACP subprocess controls from generic environment persistence","updatedAt":"2026-08-26T16:54:34Z","url":"https://github.com/NousResearch/hermes-agent/issues/91565","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNxJ5DA","kind":"issue","label":"desktop: make contribution visibility derive from a live authoritative source","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T23:19:45Z","updatedAt":"2026-08-21T23:25:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/91894"},"data":{"closedAt":null,"createdAt":"2026-08-21T23:19:45Z","number":91894,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"desktop: make contribution visibility derive from a live authoritative source","updatedAt":"2026-08-21T23:25:57Z","url":"https://github.com/NousResearch/hermes-agent/issues/91894","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNxPhIg","kind":"issue","label":"Architecture: make Bot Mode identity, capability, delivery, and cancellation one control plane","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T23:40:46Z","updatedAt":"2026-08-25T21:17:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/91911"},"data":{"closedAt":null,"createdAt":"2026-08-21T23:40:46Z","number":91911,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Architecture: make Bot Mode identity, capability, delivery, and cancellation one control plane","updatedAt":"2026-08-25T21:17:05Z","url":"https://github.com/NousResearch/hermes-agent/issues/91911","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNY72PQ","kind":"issue","label":"[Architecture]: make false success a first-class defect class with typed completion proofs","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T14:06:05Z","updatedAt":"2026-08-21T23:38:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/90049"},"data":{"closedAt":null,"createdAt":"2026-08-19T14:06:05Z","number":90049,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Architecture]: make false success a first-class defect class with typed completion proofs","updatedAt":"2026-08-21T23:38:58Z","url":"https://github.com/NousResearch/hermes-agent/issues/90049","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABNY7Hng","kind":"issue","label":"Desktop: preserve exact registry connectionId; reject ambiguous legacy route inference","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED","createdAt":"2026-08-19T14:04:52Z","updatedAt":"2026-08-23T12:07:12Z","closedAt":"2026-08-23T05:01:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/90048"},"data":{"closedAt":"2026-08-23T05:01:41Z","createdAt":"2026-08-19T14:04:52Z","number":90048,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"Desktop: preserve exact registry connectionId; reject ambiguous legacy route inference","updatedAt":"2026-08-23T12:07:12Z","url":"https://github.com/NousResearch/hermes-agent/issues/90048","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABO4A3pQ","kind":"issue","label":"security(config): ${VAR} template can be replaced by a live secret when the env var is absent at save time","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T16:45:32Z","updatedAt":"2026-08-30T20:43:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/98717"},"data":{"closedAt":null,"createdAt":"2026-08-30T16:45:32Z","number":98717,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"security(config): ${VAR} template can be replaced by a live secret when the env var is absent at save time","updatedAt":"2026-08-30T20:43:21Z","url":"https://github.com/NousResearch/hermes-agent/issues/98717","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABO4Z00w","kind":"issue","label":"security: tool-result credentials can survive across durable and callback sinks","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T18:16:59Z","updatedAt":"2026-08-30T18:24:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/98753"},"data":{"closedAt":null,"createdAt":"2026-08-30T18:16:59Z","number":98753,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"security: tool-result credentials can survive across durable and callback sinks","updatedAt":"2026-08-30T18:24:53Z","url":"https://github.com/NousResearch/hermes-agent/issues/98753","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABOBXfDQ","kind":"issue","label":"[Architecture] Nothing Ambient Survives","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-24T14:32:58Z","updatedAt":"2026-08-26T17:36:37Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/93943"},"data":{"closedAt":null,"createdAt":"2026-08-24T14:32:58Z","number":93943,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Architecture] Nothing Ambient Survives","updatedAt":"2026-08-26T17:36:37Z","url":"https://github.com/NousResearch/hermes-agent/issues/93943","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABOkaEfQ","kind":"issue","label":"[Spec]: Unified slash-command registry and execution contract across every Hermes surface","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-27T22:23:15Z","updatedAt":"2026-08-28T23:06:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/96692"},"data":{"closedAt":null,"createdAt":"2026-08-27T22:23:15Z","number":96692,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Spec]: Unified slash-command registry and execution contract across every Hermes surface","updatedAt":"2026-08-28T23:06:27Z","url":"https://github.com/NousResearch/hermes-agent/issues/96692","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABOPCKaQ","kind":"issue","label":"[Architecture] Hermes Authority Execution Layer — the twelve issues are one defect, and the architecture that fixes it","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-25T20:21:52Z","updatedAt":"2026-08-26T17:36:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/95028"},"data":{"closedAt":null,"createdAt":"2026-08-25T20:21:52Z","number":95028,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Architecture] Hermes Authority Execution Layer — the twelve issues are one defect, and the architecture that fixes it","updatedAt":"2026-08-26T17:36:35Z","url":"https://github.com/NousResearch/hermes-agent/issues/95028","snapshotCollection":"authored-issues"}},{"id":"github:issue:I_kwDOPRF1G88AAAABOYHmAw","kind":"issue","label":"[Architecture] Refusal Algebra — typed semantics for consequential outcomes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-26T17:33:49Z","updatedAt":"2026-08-26T19:17:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/issues/95750"},"data":{"closedAt":null,"createdAt":"2026-08-26T17:33:49Z","number":95750,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Architecture] Refusal Algebra — typed semantics for consequential outcomes","updatedAt":"2026-08-26T19:17:47Z","url":"https://github.com/NousResearch/hermes-agent/issues/95750","snapshotCollection":"authored-issues"}},{"id":"github:pull-request:PR_kwDOPRF1G87__vHm","kind":"pull-request","label":"feat(dashboard): emit initial HSTS response header","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-17T09:16:34Z","updatedAt":"2026-08-21T09:05:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88297"},"data":{"createdAt":"2026-08-17T09:16:34Z","mergedAt":null,"number":88297,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(dashboard): emit initial HSTS response header","updatedAt":"2026-08-21T09:05:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/88297"}},{"id":"github:pull-request:PR_kwDOPRF1G87_dTkF","kind":"pull-request","label":"refactor(gateway): extract GatewayRunner lifecycle into runner_lifecycle mixin (shard-1 godfile kill)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-15T10:22:45Z","updatedAt":"2026-08-15T15:52:34Z","closedAt":"2026-08-15T15:52:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86897"},"data":{"additions":13960,"baseRefName":"main","changedFiles":7,"closedAt":"2026-08-15T15:52:34Z","createdAt":"2026-08-15T10:22:45Z","deletions":13661,"headRefName":"e3-shard-1-runner-lifecycle","isDraft":false,"merged":false,"mergedAt":null,"number":86897,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"refactor(gateway): extract GatewayRunner lifecycle into runner_lifecycle mixin (shard-1 godfile kill)","updatedAt":"2026-08-15T15:52:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/86897","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_dvSU","kind":"pull-request","label":"godfile: extract agent runtime helpers from auxiliary_client.py (#82591)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-15T11:07:36Z","updatedAt":"2026-08-15T15:05:11Z","closedAt":"2026-08-15T15:05:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86920"},"data":{"additions":62308,"baseRefName":"main","changedFiles":40,"closedAt":"2026-08-15T15:05:11Z","createdAt":"2026-08-15T11:07:36Z","deletions":1803,"headRefName":"campaign/82591-17-g2-agent-authority","isDraft":false,"merged":false,"mergedAt":null,"number":86920,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"godfile: extract agent runtime helpers from auxiliary_client.py (#82591)","updatedAt":"2026-08-15T15:05:11Z","url":"https://github.com/NousResearch/hermes-agent/pull/86920","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_e4rg","kind":"pull-request","label":"Lane 1/5: bytedance-shared library runtime (errors, http, state, webhook, tokens, media, rate_limit, secrets, observability, approval)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-15T12:58:00Z","updatedAt":"2026-08-15T13:23:10Z","closedAt":"2026-08-15T13:23:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86994"},"data":{"additions":3417,"baseRefName":"main","changedFiles":23,"closedAt":"2026-08-15T13:23:10Z","createdAt":"2026-08-15T12:58:00Z","deletions":0,"headRefName":"lane-1-bytedance-shared","isDraft":false,"merged":false,"mergedAt":null,"number":86994,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"Lane 1/5: bytedance-shared library runtime (errors, http, state, webhook, tokens, media, rate_limit, secrets, observability, approval)","updatedAt":"2026-08-15T13:23:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/86994","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_eLc1","kind":"pull-request","label":"Integrate ByteDance (TikTok Business + Douyin) platform plugins","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-15T11:50:09Z","updatedAt":"2026-08-15T11:56:28Z","closedAt":"2026-08-15T11:56:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86941"},"data":{"additions":77285,"baseRefName":"main","changedFiles":119,"closedAt":"2026-08-15T11:56:28Z","createdAt":"2026-08-15T11:50:09Z","deletions":1620,"headRefName":"bytedance-integration","isDraft":false,"merged":false,"mergedAt":null,"number":86941,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"Integrate ByteDance (TikTok Business + Douyin) platform plugins","updatedAt":"2026-08-15T11:56:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/86941","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_fCMa","kind":"pull-request","label":"Lane 2/5: tiktok-business-platform adapter (webhook + parser + policy + client + models)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-15T13:12:29Z","updatedAt":"2026-08-15T13:23:18Z","closedAt":"2026-08-15T13:23:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/87006"},"data":{"additions":2639,"baseRefName":"main","changedFiles":8,"closedAt":"2026-08-15T13:23:18Z","createdAt":"2026-08-15T13:12:29Z","deletions":0,"headRefName":"lane-2-tiktok-business-platform","isDraft":false,"merged":false,"mergedAt":null,"number":87006,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"Lane 2/5: tiktok-business-platform adapter (webhook + parser + policy + client + models)","updatedAt":"2026-08-15T13:23:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/87006","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_fDF7","kind":"pull-request","label":"Lane 3/5: douyin-platform adapter (webhook + parser + policy + client + models)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-15T13:13:41Z","updatedAt":"2026-08-15T13:23:22Z","closedAt":"2026-08-15T13:23:22Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/87007"},"data":{"additions":62786,"baseRefName":"main","changedFiles":45,"closedAt":"2026-08-15T13:23:22Z","createdAt":"2026-08-15T13:13:41Z","deletions":2260,"headRefName":"lane-3-douyin-platform","isDraft":false,"merged":false,"mergedAt":null,"number":87007,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"Lane 3/5: douyin-platform adapter (webhook + parser + policy + client + models)","updatedAt":"2026-08-15T13:23:22Z","url":"https://github.com/NousResearch/hermes-agent/pull/87007","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_fSA7","kind":"pull-request","label":"feat(plugin): bytedance shared runtime library","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-15T13:36:10Z","updatedAt":"2026-08-15T15:03:59Z","closedAt":"2026-08-15T15:03:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/87022"},"data":{"additions":3417,"baseRefName":"main","changedFiles":23,"closedAt":"2026-08-15T15:03:59Z","createdAt":"2026-08-15T13:36:10Z","deletions":0,"headRefName":"lane-1-bytedance-shared","isDraft":false,"merged":false,"mergedAt":null,"number":87022,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(plugin): bytedance shared runtime library","updatedAt":"2026-08-15T15:03:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/87022","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_fu6s","kind":"pull-request","label":"feat(plugin): tiktok business messaging platform adapter","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-15T14:16:45Z","updatedAt":"2026-08-15T15:04:08Z","closedAt":"2026-08-15T15:04:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/87042"},"data":{"additions":2639,"baseRefName":"main","changedFiles":8,"closedAt":"2026-08-15T15:04:08Z","createdAt":"2026-08-15T14:16:45Z","deletions":0,"headRefName":"lane-2-tiktok-business-platform","isDraft":false,"merged":false,"mergedAt":null,"number":87042,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(plugin): tiktok business messaging platform adapter","updatedAt":"2026-08-15T15:04:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/87042","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_gBIA","kind":"pull-request","label":"refactor(gateway): extract GatewayRunner lifecycle into runner_lifecycle_2 mixin (shard-2 extraction)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-15T14:42:26Z","updatedAt":"2026-08-15T15:52:19Z","closedAt":"2026-08-15T15:52:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/87056"},"data":{"additions":36668,"baseRefName":"main","changedFiles":8,"closedAt":"2026-08-15T15:52:19Z","createdAt":"2026-08-15T14:42:26Z","deletions":13661,"headRefName":"andrexibiza/e3-shard-2-runner-lifecycle","isDraft":false,"merged":false,"mergedAt":null,"number":87056,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"refactor(gateway): extract GatewayRunner lifecycle into runner_lifecycle_2 mixin (shard-2 extraction)","updatedAt":"2026-08-15T15:52:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/87056","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_j3Es","kind":"pull-request","label":"fix(models): route the AI Gateway catalog fetchers through the credential-redirect guard","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-15T20:14:50Z","updatedAt":"2026-08-18T01:53:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/87235"},"data":{"createdAt":"2026-08-15T20:14:50Z","mergedAt":null,"number":87235,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(models): route the AI Gateway catalog fetchers through the credential-redirect guard","updatedAt":"2026-08-18T01:53:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/87235"}},{"id":"github:pull-request:PR_kwDOPRF1G87_L1eM","kind":"pull-request","label":"fix(discord): order free models first in the /model picker so they survive the 25-option cap","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-14T15:50:44Z","updatedAt":"2026-08-22T09:24:21Z","closedAt":"2026-08-22T09:24:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86175"},"data":{"additions":92,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-22T09:24:21Z","createdAt":"2026-08-14T15:50:44Z","deletions":2,"headRefName":"fix/discord-picker-free-models","isDraft":false,"merged":false,"mergedAt":null,"number":86175,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(discord): order free models first in the /model picker so they survive the 25-option cap","updatedAt":"2026-08-22T09:24:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/86175","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_LBMR","kind":"pull-request","label":"fix(tools): empty execute_code capability set denies all sandbox tools","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T15:22:01Z","updatedAt":"2026-08-31T09:24:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86148"},"data":{"createdAt":"2026-08-14T15:22:01Z","mergedAt":null,"number":86148,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tools): empty execute_code capability set denies all sandbox tools","updatedAt":"2026-08-31T09:24:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/86148"}},{"id":"github:pull-request:PR_kwDOPRF1G87_n7gw","kind":"pull-request","label":"fix(state): a failed schema repair must not destroy the database","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-16T03:18:38Z","updatedAt":"2026-08-24T01:26:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/87409"},"data":{"createdAt":"2026-08-16T03:18:38Z","mergedAt":null,"number":87409,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(state): a failed schema repair must not destroy the database","updatedAt":"2026-08-24T01:26:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/87409"}},{"id":"github:pull-request:PR_kwDOPRF1G87_RAEx","kind":"pull-request","label":"fix(browser): auto-recover Camofox tabs from 410 (page crash) as well as 404","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T19:33:03Z","updatedAt":"2026-08-22T21:07:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86294"},"data":{"createdAt":"2026-08-14T19:33:03Z","mergedAt":null,"number":86294,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(browser): auto-recover Camofox tabs from 410 (page crash) as well as 404","updatedAt":"2026-08-22T21:07:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/86294"}},{"id":"github:pull-request:PR_kwDOPRF1G87_SHaS","kind":"pull-request","label":"feat(discord): add typed outbound embed builder for REST v10","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T20:24:40Z","updatedAt":"2026-08-21T02:13:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86324"},"data":{"additions":793,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-14T20:24:40Z","deletions":0,"headRefName":"feat/discord-api-embeds","isDraft":false,"merged":false,"mergedAt":null,"number":86324,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(discord): add typed outbound embed builder for REST v10","updatedAt":"2026-08-21T02:13:24Z","url":"https://github.com/NousResearch/hermes-agent/pull/86324","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_SHCw","kind":"pull-request","label":"feat(a2a): per-peer custom headers and User-Agent with destination-bound credentials","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T20:24:22Z","updatedAt":"2026-08-27T15:16:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86322"},"data":{"createdAt":"2026-08-14T20:24:22Z","mergedAt":null,"number":86322,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(a2a): per-peer custom headers and User-Agent with destination-bound credentials","updatedAt":"2026-08-27T15:16:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/86322"}},{"id":"github:pull-request:PR_kwDOPRF1G87_t6rR","kind":"pull-request","label":"fix(gateway): enforce session-owned private routing","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-16T13:41:51Z","updatedAt":"2026-08-20T02:53:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/87718"},"data":{"createdAt":"2026-08-16T13:41:51Z","mergedAt":null,"number":87718,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): enforce session-owned private routing","updatedAt":"2026-08-20T02:53:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/87718"}},{"id":"github:pull-request:PR_kwDOPRF1G87_TBbu","kind":"pull-request","label":"fix(email): endpoint-scoped Gmail app-password normalization — rebuild required","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T21:07:53Z","updatedAt":"2026-08-23T19:15:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86354"},"data":{"additions":512,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-14T21:07:53Z","deletions":4,"headRefName":"fix/email-app-password-normalization","isDraft":true,"merged":false,"mergedAt":null,"number":86354,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(email): endpoint-scoped Gmail app-password normalization — rebuild required","updatedAt":"2026-08-23T19:15:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/86354","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_TbCh","kind":"pull-request","label":"fix(voice): xAI streaming TTS WebSocket protocol + websockets 15 compat","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-14T21:26:45Z","updatedAt":"2026-08-15T00:16:22Z","closedAt":"2026-08-15T00:16:22Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86368"},"data":{"additions":256,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T00:16:22Z","createdAt":"2026-08-14T21:26:45Z","deletions":50,"headRefName":"xai-streaming-tts-protocol-fix","isDraft":false,"merged":false,"mergedAt":null,"number":86368,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(voice): xAI streaming TTS WebSocket protocol + websockets 15 compat","updatedAt":"2026-08-15T00:16:22Z","url":"https://github.com/NousResearch/hermes-agent/pull/86368","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_U-zu","kind":"pull-request","label":"feat(discord): local reliability telemetry","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-14T22:52:17Z","updatedAt":"2026-08-15T16:34:27Z","closedAt":"2026-08-15T16:33:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86442"},"data":{"additions":250,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:33:50Z","createdAt":"2026-08-14T22:52:17Z","deletions":0,"headRefName":"feat/discord-reliability-telemetry","isDraft":false,"merged":false,"mergedAt":null,"number":86442,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): local reliability telemetry","updatedAt":"2026-08-15T16:34:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/86442","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_U0nR","kind":"pull-request","label":"fix(discord): wire permission overwrites through discord_admin","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T22:41:18Z","updatedAt":"2026-08-21T01:45:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86429"},"data":{"additions":1924,"baseRefName":"main","changedFiles":11,"closedAt":null,"createdAt":"2026-08-14T22:41:18Z","deletions":0,"headRefName":"feat/discord-api-permissions","isDraft":false,"merged":false,"mergedAt":null,"number":86429,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(discord): wire permission overwrites through discord_admin","updatedAt":"2026-08-21T01:45:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/86429","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_U4I-","kind":"pull-request","label":"feat(discord): add request-owned guild settings to discord_admin","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T22:45:10Z","updatedAt":"2026-08-21T02:12:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86432"},"data":{"additions":1305,"baseRefName":"main","changedFiles":7,"closedAt":null,"createdAt":"2026-08-14T22:45:10Z","deletions":0,"headRefName":"feat/discord-api-guild-settings","isDraft":false,"merged":false,"mergedAt":null,"number":86432,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(discord): add request-owned guild settings to discord_admin","updatedAt":"2026-08-21T02:12:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/86432","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_U6MW","kind":"pull-request","label":"feat(discord): REST pagination conformance","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-14T22:47:15Z","updatedAt":"2026-08-15T16:34:34Z","closedAt":"2026-08-15T16:34:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86437"},"data":{"additions":281,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:34:21Z","createdAt":"2026-08-14T22:47:15Z","deletions":0,"headRefName":"feat/discord-api-pagination","isDraft":false,"merged":false,"mergedAt":null,"number":86437,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): REST pagination conformance","updatedAt":"2026-08-15T16:34:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/86437","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_U8yZ","kind":"pull-request","label":"feat(discord): structured inbound message model","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-14T22:50:03Z","updatedAt":"2026-08-15T16:34:31Z","closedAt":"2026-08-15T16:34:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86440"},"data":{"additions":191,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:34:01Z","createdAt":"2026-08-14T22:50:03Z","deletions":0,"headRefName":"feat/discord-message-model","isDraft":false,"merged":false,"mergedAt":null,"number":86440,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): structured inbound message model","updatedAt":"2026-08-15T16:34:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/86440","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_Unsh","kind":"pull-request","label":"feat(discord): outbound reaction actions for REST v10","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-14T22:29:16Z","updatedAt":"2026-08-20T15:12:19Z","closedAt":"2026-08-19T22:33:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86419"},"data":{"additions":301,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-19T22:33:15Z","createdAt":"2026-08-14T22:29:16Z","deletions":1,"headRefName":"feat/discord-api-reactions","isDraft":false,"merged":false,"mergedAt":null,"number":86419,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): outbound reaction actions for REST v10","updatedAt":"2026-08-20T15:12:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/86419","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_VAwc","kind":"pull-request","label":"feat(discord): message edit/delete REST actions","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-14T22:54:25Z","updatedAt":"2026-08-15T16:34:25Z","closedAt":"2026-08-15T16:33:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86449"},"data":{"additions":257,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:33:42Z","createdAt":"2026-08-14T22:54:25Z","deletions":0,"headRefName":"feat/discord-api-messages","isDraft":false,"merged":false,"mergedAt":null,"number":86449,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): message edit/delete REST actions","updatedAt":"2026-08-15T16:34:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/86449","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_VcM3","kind":"pull-request","label":"feat(discord): interaction ACK + error discipline","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-14T23:23:47Z","updatedAt":"2026-08-15T16:33:58Z","closedAt":"2026-08-15T16:32:16Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86485"},"data":{"additions":218,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:32:16Z","createdAt":"2026-08-14T23:23:47Z","deletions":0,"headRefName":"feat/discord-interaction-ack","isDraft":false,"merged":false,"mergedAt":null,"number":86485,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): interaction ACK + error discipline","updatedAt":"2026-08-15T16:33:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/86485","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_VCZl","kind":"pull-request","label":"feat(discord): read-only poll projection","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-14T22:56:13Z","updatedAt":"2026-08-15T16:34:22Z","closedAt":"2026-08-15T16:33:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86451"},"data":{"additions":413,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:33:33Z","createdAt":"2026-08-14T22:56:13Z","deletions":0,"headRefName":"feat/discord-poll-model","isDraft":false,"merged":false,"mergedAt":null,"number":86451,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): read-only poll projection","updatedAt":"2026-08-15T16:34:22Z","url":"https://github.com/NousResearch/hermes-agent/pull/86451","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_VEDn","kind":"pull-request","label":"feat(discord): thread lifecycle REST actions","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-14T22:58:02Z","updatedAt":"2026-08-15T16:34:19Z","closedAt":"2026-08-15T16:33:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86454"},"data":{"additions":370,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:33:21Z","createdAt":"2026-08-14T22:58:02Z","deletions":0,"headRefName":"feat/discord-api-threads","isDraft":false,"merged":false,"mergedAt":null,"number":86454,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): thread lifecycle REST actions","updatedAt":"2026-08-15T16:34:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/86454","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_VejW","kind":"pull-request","label":"feat(discord): proactive/home/cron delivery targeting","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-14T23:26:11Z","updatedAt":"2026-08-15T16:33:55Z","closedAt":"2026-08-15T16:31:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86487"},"data":{"additions":282,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:31:21Z","createdAt":"2026-08-14T23:26:11Z","deletions":0,"headRefName":"feat/discord-proactive-delivery","isDraft":false,"merged":false,"mergedAt":null,"number":86487,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): proactive/home/cron delivery targeting","updatedAt":"2026-08-15T16:33:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/86487","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_VFPs","kind":"pull-request","label":"feat(discord): forum starter/tag REST actions","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-14T22:59:24Z","updatedAt":"2026-08-15T16:34:17Z","closedAt":"2026-08-15T16:33:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86458"},"data":{"additions":335,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:33:11Z","createdAt":"2026-08-14T22:59:24Z","deletions":0,"headRefName":"feat/discord-api-forums","isDraft":false,"merged":false,"mergedAt":null,"number":86458,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): forum starter/tag REST actions","updatedAt":"2026-08-15T16:34:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/86458","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_VGul","kind":"pull-request","label":"feat(discord): channel/category CRUD REST actions","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-14T23:01:07Z","updatedAt":"2026-08-15T16:34:14Z","closedAt":"2026-08-15T16:33:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86460"},"data":{"additions":410,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:33:04Z","createdAt":"2026-08-14T23:01:07Z","deletions":0,"headRefName":"feat/discord-api-channels","isDraft":false,"merged":false,"mergedAt":null,"number":86460,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): channel/category CRUD REST actions","updatedAt":"2026-08-15T16:34:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/86460","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_VIwx","kind":"pull-request","label":"feat(discord): role CRUD + assignment REST actions","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-14T23:02:58Z","updatedAt":"2026-08-15T16:34:11Z","closedAt":"2026-08-15T16:32:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86462"},"data":{"additions":371,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:32:56Z","createdAt":"2026-08-14T23:02:58Z","deletions":0,"headRefName":"feat/discord-api-roles","isDraft":false,"merged":false,"mergedAt":null,"number":86462,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): role CRUD + assignment REST actions","updatedAt":"2026-08-15T16:34:11Z","url":"https://github.com/NousResearch/hermes-agent/pull/86462","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_VJ1O","kind":"pull-request","label":"feat(discord): moderation REST actions","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-14T23:04:10Z","updatedAt":"2026-08-15T16:34:09Z","closedAt":"2026-08-15T16:32:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86464"},"data":{"additions":386,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:32:49Z","createdAt":"2026-08-14T23:04:10Z","deletions":0,"headRefName":"feat/discord-api-moderation","isDraft":false,"merged":false,"mergedAt":null,"number":86464,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): moderation REST actions","updatedAt":"2026-08-15T16:34:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/86464","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_VLOq","kind":"pull-request","label":"feat(discord): guild scheduled-event REST actions","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-14T23:05:43Z","updatedAt":"2026-08-15T16:34:07Z","closedAt":"2026-08-15T16:32:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86466"},"data":{"additions":520,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:32:41Z","createdAt":"2026-08-14T23:05:43Z","deletions":0,"headRefName":"feat/discord-scheduled-events","isDraft":false,"merged":false,"mergedAt":null,"number":86466,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): guild scheduled-event REST actions","updatedAt":"2026-08-15T16:34:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/86466","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_VMQQ","kind":"pull-request","label":"feat(discord): route-aware rate-limit contract","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-14T23:06:55Z","updatedAt":"2026-08-15T16:34:04Z","closedAt":"2026-08-15T16:32:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86468"},"data":{"additions":334,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:32:31Z","createdAt":"2026-08-14T23:06:55Z","deletions":0,"headRefName":"feat/discord-api-transport","isDraft":false,"merged":false,"mergedAt":null,"number":86468,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): route-aware rate-limit contract","updatedAt":"2026-08-15T16:34:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/86468","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_Vt-e","kind":"pull-request","label":"feat(discord): thread session isolation + history partition","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-14T23:43:40Z","updatedAt":"2026-08-15T16:30:56Z","closedAt":"2026-08-15T16:30:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86503"},"data":{"additions":278,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:30:56Z","createdAt":"2026-08-14T23:43:40Z","deletions":0,"headRefName":"feat/discord-thread-context","isDraft":false,"merged":false,"mergedAt":null,"number":86503,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): thread session isolation + history partition","updatedAt":"2026-08-15T16:30:56Z","url":"https://github.com/NousResearch/hermes-agent/pull/86503","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_Vt0_","kind":"pull-request","label":"feat(discord): streaming-delivery state machine","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-14T23:43:31Z","updatedAt":"2026-08-15T16:31:05Z","closedAt":"2026-08-15T16:31:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86501"},"data":{"additions":368,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:31:05Z","createdAt":"2026-08-14T23:43:31Z","deletions":0,"headRefName":"feat/discord-delivery-state","isDraft":false,"merged":false,"mergedAt":null,"number":86501,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): streaming-delivery state machine","updatedAt":"2026-08-15T16:31:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/86501","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_VtWh","kind":"pull-request","label":"feat(discord): attachment routing and preflight","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-14T23:43:07Z","updatedAt":"2026-08-15T16:31:12Z","closedAt":"2026-08-15T16:31:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86499"},"data":{"additions":255,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:31:12Z","createdAt":"2026-08-14T23:43:07Z","deletions":0,"headRefName":"feat/discord-attachment-io","isDraft":false,"merged":false,"mergedAt":null,"number":86499,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): attachment routing and preflight","updatedAt":"2026-08-15T16:31:12Z","url":"https://github.com/NousResearch/hermes-agent/pull/86499","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_VuO9","kind":"pull-request","label":"feat(discord): forum partial-delivery truth","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-14T23:43:54Z","updatedAt":"2026-08-15T16:30:47Z","closedAt":"2026-08-15T16:30:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86505"},"data":{"additions":211,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:30:47Z","createdAt":"2026-08-14T23:43:54Z","deletions":0,"headRefName":"feat/discord-forum-delivery","isDraft":false,"merged":false,"mergedAt":null,"number":86505,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): forum partial-delivery truth","updatedAt":"2026-08-15T16:30:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/86505","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_VVHp","kind":"pull-request","label":"feat(discord): command guild-scope + installation-context normalization","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-14T23:15:52Z","updatedAt":"2026-08-15T16:34:01Z","closedAt":"2026-08-15T16:32:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86475"},"data":{"additions":198,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:32:23Z","createdAt":"2026-08-14T23:15:52Z","deletions":0,"headRefName":"feat/discord-command-scope","isDraft":false,"merged":false,"mergedAt":null,"number":86475,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): command guild-scope + installation-context normalization","updatedAt":"2026-08-15T16:34:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/86475","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_WA4l","kind":"pull-request","label":"feat(discord): component authorization seam","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-15T00:05:28Z","updatedAt":"2026-08-15T16:29:38Z","closedAt":"2026-08-15T16:29:38Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86543"},"data":{"additions":207,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:29:38Z","createdAt":"2026-08-15T00:05:28Z","deletions":0,"headRefName":"feat/discord-component-auth","isDraft":false,"merged":false,"mergedAt":null,"number":86543,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): component authorization seam","updatedAt":"2026-08-15T16:29:38Z","url":"https://github.com/NousResearch/hermes-agent/pull/86543","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_WA91","kind":"pull-request","label":"feat(discord): native voice-message validation","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-15T00:05:33Z","updatedAt":"2026-08-15T16:29:19Z","closedAt":"2026-08-15T16:29:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86544"},"data":{"additions":301,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:29:19Z","createdAt":"2026-08-15T00:05:33Z","deletions":0,"headRefName":"feat/discord-voice-message","isDraft":false,"merged":false,"mergedAt":null,"number":86544,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): native voice-message validation","updatedAt":"2026-08-15T16:29:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/86544","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_WAsP","kind":"pull-request","label":"feat(discord): thread permission correctness","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-15T00:05:16Z","updatedAt":"2026-08-15T16:29:53Z","closedAt":"2026-08-15T16:29:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86541"},"data":{"additions":229,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:29:53Z","createdAt":"2026-08-15T00:05:16Z","deletions":0,"headRefName":"feat/discord-thread-permissions","isDraft":false,"merged":false,"mergedAt":null,"number":86541,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): thread permission correctness","updatedAt":"2026-08-15T16:29:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/86541","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_WAxJ","kind":"pull-request","label":"feat(discord): slash-command autocomplete option fidelity","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-15T00:05:22Z","updatedAt":"2026-08-15T16:29:45Z","closedAt":"2026-08-15T16:29:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86542"},"data":{"additions":170,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:29:45Z","createdAt":"2026-08-15T00:05:22Z","deletions":0,"headRefName":"feat/discord-autocomplete","isDraft":false,"merged":false,"mergedAt":null,"number":86542,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): slash-command autocomplete option fidelity","updatedAt":"2026-08-15T16:29:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/86542","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_WBDS","kind":"pull-request","label":"feat(discord): profile routing acceptance matrix","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-15T00:05:39Z","updatedAt":"2026-08-15T16:29:12Z","closedAt":"2026-08-15T16:29:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86545"},"data":{"additions":155,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:29:12Z","createdAt":"2026-08-15T00:05:39Z","deletions":0,"headRefName":"feat/discord-profile-routing","isDraft":false,"merged":false,"mergedAt":null,"number":86545,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): profile routing acceptance matrix","updatedAt":"2026-08-15T16:29:12Z","url":"https://github.com/NousResearch/hermes-agent/pull/86545","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_WBH4","kind":"pull-request","label":"feat(discord): recovery cursor correctness","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-15T00:05:45Z","updatedAt":"2026-08-15T16:28:48Z","closedAt":"2026-08-15T16:28:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86547"},"data":{"additions":241,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:28:48Z","createdAt":"2026-08-15T00:05:45Z","deletions":0,"headRefName":"feat/discord-recovery-cursor","isDraft":false,"merged":false,"mergedAt":null,"number":86547,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): recovery cursor correctness","updatedAt":"2026-08-15T16:28:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/86547","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_WGj5","kind":"pull-request","label":"feat(discord): command registry sync parity","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-15T00:11:13Z","updatedAt":"2026-08-15T16:29:05Z","closedAt":"2026-08-15T16:29:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86550"},"data":{"additions":254,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-15T16:29:05Z","createdAt":"2026-08-15T00:11:13Z","deletions":0,"headRefName":"feat/discord-command-registry","isDraft":false,"merged":false,"mergedAt":null,"number":86550,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(discord): command registry sync parity","updatedAt":"2026-08-15T16:29:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/86550","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87_wpgP","kind":"pull-request","label":"fix(session-search): stop cross-chat transcript exfiltration","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-16T17:21:53Z","updatedAt":"2026-08-18T00:43:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/87847"},"data":{"createdAt":"2026-08-16T17:21:53Z","mergedAt":null,"number":87847,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(session-search): stop cross-chat transcript exfiltration","updatedAt":"2026-08-18T00:43:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/87847"}},{"id":"github:pull-request:PR_kwDOPRF1G87_xmjJ","kind":"pull-request","label":"fix(auth): close Anthropic OAuth CSRF gap, cross-process refresh race, and API-key shadowing","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-16T18:24:20Z","updatedAt":"2026-08-30T01:35:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/87891"},"data":{"createdAt":"2026-08-16T18:24:20Z","mergedAt":null,"number":87891,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(auth): close Anthropic OAuth CSRF gap, cross-process refresh race, and API-key shadowing","updatedAt":"2026-08-30T01:35:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/87891"}},{"id":"github:pull-request:PR_kwDOPRF1G87-0_mO","kind":"pull-request","label":"feat(webhook): add observable execution registry with status/cancel (Webhook Feature Package)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-13T22:11:38Z","updatedAt":"2026-08-21T04:19:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85674"},"data":{"additions":984,"baseRefName":"main","changedFiles":7,"closedAt":null,"createdAt":"2026-08-13T22:11:38Z","deletions":1,"headRefName":"campaign/webhook-executions","isDraft":false,"merged":false,"mergedAt":null,"number":85674,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(webhook): add observable execution registry with status/cancel (Webhook Feature Package)","updatedAt":"2026-08-21T04:19:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/85674","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-1Bxh","kind":"pull-request","label":"feat(webhook): harden signed callback transport and bind DNS validation to dial authority","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-13T22:13:33Z","updatedAt":"2026-08-21T04:19:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85675"},"data":{"additions":519,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-13T22:13:33Z","deletions":0,"headRefName":"campaign/webhook-callbacks","isDraft":false,"merged":false,"mergedAt":null,"number":85675,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(webhook): harden signed callback transport and bind DNS validation to dial authority","updatedAt":"2026-08-21T04:19:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/85675","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-6-JF","kind":"pull-request","label":"fix(matrix): keep bots online when MAS tokens expire","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T04:03:20Z","updatedAt":"2026-08-25T16:04:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85813"},"data":{"createdAt":"2026-08-14T04:03:20Z","mergedAt":null,"number":85813,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(matrix): keep bots online when MAS tokens expire","updatedAt":"2026-08-25T16:04:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/85813"}},{"id":"github:pull-request:PR_kwDOPRF1G87-8iJh","kind":"pull-request","label":"feat(local-runtime): managed llama.cpp runtime — local models with one click","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-14T05:33:46Z","updatedAt":"2026-08-31T04:29:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85852"},"data":{"createdAt":"2026-08-14T05:33:46Z","mergedAt":null,"number":85852,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(local-runtime): managed llama.cpp runtime — local models with one click","updatedAt":"2026-08-31T04:29:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/85852"}},{"id":"github:pull-request:PR_kwDOPRF1G87-ARIr","kind":"pull-request","label":"refactor(conversation_loop): extract content normalization slice CL-R4-1 into agent/response_normalization.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T10:41:48Z","updatedAt":"2026-08-31T17:01:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84473"},"data":{"additions":310,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-12T10:41:48Z","deletions":20,"headRefName":"gfg/conversation-loop-r41-response-norm","isDraft":false,"merged":false,"mergedAt":null,"number":84473,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(conversation_loop): extract content normalization slice CL-R4-1 into agent/response_normalization.py","updatedAt":"2026-08-31T17:01:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/84473","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-GVCV","kind":"pull-request","label":"refactor(conversation_loop): extract turn persistence slice CL-R5-1 into agent/turn_finalizer.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T14:15:21Z","updatedAt":"2026-08-31T17:01:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84583"},"data":{"additions":366,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-12T14:15:21Z","deletions":18,"headRefName":"gfg/conversation-loop-r51-turn-finalizer","isDraft":false,"merged":false,"mergedAt":null,"number":84583,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(conversation_loop): extract turn persistence slice CL-R5-1 into agent/turn_finalizer.py","updatedAt":"2026-08-31T17:01:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/84583","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-JEX2","kind":"pull-request","label":"refactor(conversation_loop): extract error classifier slice CL-R1-2 into agent/conversation_error_classifiers.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T15:45:01Z","updatedAt":"2026-08-31T17:01:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84619"},"data":{"additions":70,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-12T15:45:01Z","deletions":28,"headRefName":"gfg/conversation-loop-r12-error-classifiers","isDraft":false,"merged":false,"mergedAt":null,"number":84619,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(conversation_loop): extract error classifier slice CL-R1-2 into agent/conversation_error_classifiers.py","updatedAt":"2026-08-31T17:01:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/84619","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-LdHL","kind":"pull-request","label":"refactor(conversation_loop): extract success cleanup slice CL-R3-2 into agent/conversation_loop_success_cleanup.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T17:12:56Z","updatedAt":"2026-08-19T17:44:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84653"},"data":{"additions":272,"baseRefName":"main","changedFiles":5,"closedAt":null,"createdAt":"2026-08-12T17:12:56Z","deletions":21,"headRefName":"gfg/conversation-loop-r32-success-cleanup","isDraft":false,"merged":false,"mergedAt":null,"number":84653,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(conversation_loop): extract success cleanup slice CL-R3-2 into agent/conversation_loop_success_cleanup.py","updatedAt":"2026-08-19T17:44:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/84653","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-m3dB","kind":"pull-request","label":"refactor(webhook): isolate explicit provider signature authority","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-13T13:30:27Z","updatedAt":"2026-08-21T23:52:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85318"},"data":{"additions":378,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-13T13:30:27Z","deletions":0,"headRefName":"campaign/webhook-signatures","isDraft":false,"merged":false,"mergedAt":null,"number":85318,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(webhook): isolate explicit provider signature authority","updatedAt":"2026-08-21T23:52:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/85318","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-oae7","kind":"pull-request","label":"fix(read_file): dedup key uses realpath to avoid cross-path false positives (#85333)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-13T14:22:12Z","updatedAt":"2026-08-16T13:19:30Z","closedAt":"2026-08-16T13:19:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85353"},"data":{"additions":60,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-16T13:19:30Z","createdAt":"2026-08-13T14:22:12Z","deletions":1,"headRefName":"fix/read-file-dedup-cross-path-85333","isDraft":false,"merged":false,"mergedAt":null,"number":85353,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(read_file): dedup key uses realpath to avoid cross-path false positives (#85333)","updatedAt":"2026-08-16T13:19:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/85353","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-oYKU","kind":"pull-request","label":"feat(browser): add authenticated extension controller","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-13T14:21:02Z","updatedAt":"2026-08-21T17:03:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85351"},"data":{"createdAt":"2026-08-13T14:21:02Z","mergedAt":null,"number":85351,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(browser): add authenticated extension controller","updatedAt":"2026-08-21T17:03:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/85351"}},{"id":"github:pull-request:PR_kwDOPRF1G87-pUV_","kind":"pull-request","label":"fix(desktop): surface actionable error when Nous Cloud agent returns 503 (#85335)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-13T14:54:39Z","updatedAt":"2026-08-22T02:09:58Z","closedAt":"2026-08-22T00:25:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85373"},"data":{"additions":527,"baseRefName":"main","changedFiles":15,"closedAt":"2026-08-22T00:25:53Z","createdAt":"2026-08-13T14:54:39Z","deletions":4,"headRefName":"fix/desktop-cloud-backend-503-error-85335","isDraft":false,"merged":false,"mergedAt":null,"number":85373,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): surface actionable error when Nous Cloud agent returns 503 (#85335)","updatedAt":"2026-08-22T02:09:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/85373","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-qgJ4","kind":"pull-request","label":"fix(agent): guard merged assistant compaction handoffs","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-13T15:34:03Z","updatedAt":"2026-08-21T17:03:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85394"},"data":{"createdAt":"2026-08-13T15:34:03Z","mergedAt":null,"number":85394,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(agent): guard merged assistant compaction handoffs","updatedAt":"2026-08-21T17:03:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/85394"}},{"id":"github:pull-request:PR_kwDOPRF1G87-s47h","kind":"pull-request","label":"fix(clients): hide compaction scaffolding across surfaces","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-13T16:55:07Z","updatedAt":"2026-08-21T17:03:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85442"},"data":{"createdAt":"2026-08-13T16:55:07Z","mergedAt":null,"number":85442,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(clients): hide compaction scaffolding across surfaces","updatedAt":"2026-08-21T17:03:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/85442"}},{"id":"github:pull-request:PR_kwDOPRF1G87-SUgL","kind":"pull-request","label":"refactor(webhook): extract webhook API router + profile admission (Webhook Feature Package)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T21:41:58Z","updatedAt":"2026-08-31T17:01:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84835"},"data":{"additions":454,"baseRefName":"main","changedFiles":11,"closedAt":null,"createdAt":"2026-08-12T21:41:58Z","deletions":215,"headRefName":"campaign/webhook-revolution-b3aa561f","isDraft":false,"merged":false,"mergedAt":null,"number":84835,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(webhook): extract webhook API router + profile admission (Webhook Feature Package)","updatedAt":"2026-08-31T17:01:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/84835","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-Tb8a","kind":"pull-request","label":"refactor(webhook): extract prompt rendering into webhook_rendering mixin (Webhook Feature Package)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T22:37:31Z","updatedAt":"2026-08-19T17:52:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84858"},"data":{"additions":561,"baseRefName":"main","changedFiles":10,"closedAt":null,"createdAt":"2026-08-12T22:37:31Z","deletions":272,"headRefName":"campaign/webhook-rendering-extraction","isDraft":false,"merged":false,"mergedAt":null,"number":84858,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(webhook): extract prompt rendering into webhook_rendering mixin (Webhook Feature Package)","updatedAt":"2026-08-19T17:52:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/84858","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-TFCH","kind":"pull-request","label":"refactor(webhook): extract signature validation into webhook_auth mixin (Webhook Feature Package)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T22:18:43Z","updatedAt":"2026-08-31T17:01:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84849"},"data":{"additions":678,"baseRefName":"main","changedFiles":10,"closedAt":null,"createdAt":"2026-08-12T22:18:43Z","deletions":406,"headRefName":"campaign/webhook-auth-extraction-2","isDraft":false,"merged":false,"mergedAt":null,"number":84849,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(webhook): extract signature validation into webhook_auth mixin (Webhook Feature Package)","updatedAt":"2026-08-31T17:01:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/84849","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-vWPI","kind":"pull-request","label":"[SUPERSEDED by #90236] webhook Task 10 historical campaign lineage","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-13T18:20:27Z","updatedAt":"2026-08-21T02:02:48Z","closedAt":"2026-08-19T22:01:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85523"},"data":{"additions":2000,"baseRefName":"main","changedFiles":15,"closedAt":"2026-08-19T22:01:30Z","createdAt":"2026-08-13T18:20:27Z","deletions":66,"headRefName":"campaign/webhook-task10-fanout","isDraft":true,"merged":false,"mergedAt":null,"number":85523,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"[SUPERSEDED by #90236] webhook Task 10 historical campaign lineage","updatedAt":"2026-08-21T02:02:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/85523","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-vxPy","kind":"pull-request","label":"fix(camofox): treat 410 Gone as a dead tab so navigate can recover","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-13T18:35:29Z","updatedAt":"2026-08-22T21:08:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85538"},"data":{"createdAt":"2026-08-13T18:35:29Z","mergedAt":null,"number":85538,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(camofox): treat 410 Gone as a dead tab so navigate can recover","updatedAt":"2026-08-22T21:08:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/85538"}},{"id":"github:pull-request:PR_kwDOPRF1G87-W8UB","kind":"pull-request","label":"split MCP OAuth teardown ownership from MCP 2.0 transport composition","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-13T01:58:10Z","updatedAt":"2026-08-29T07:03:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84963"},"data":{"additions":5625,"baseRefName":"main","changedFiles":13,"closedAt":null,"createdAt":"2026-08-13T01:58:10Z","deletions":472,"headRefName":"agent/close-mcp-oauth-lock-class","isDraft":true,"merged":false,"mergedAt":null,"number":84963,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"split MCP OAuth teardown ownership from MCP 2.0 transport composition","updatedAt":"2026-08-29T07:03:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/84963","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-Wczz","kind":"pull-request","label":"fix(agent): bridge tool->user role adjacency for Mistral endpoints","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-13T01:27:47Z","updatedAt":"2026-08-16T13:10:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84944"},"data":{"createdAt":"2026-08-13T01:27:47Z","mergedAt":null,"number":84944,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(agent): bridge tool->user role adjacency for Mistral endpoints","updatedAt":"2026-08-16T13:10:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/84944"}},{"id":"github:pull-request:PR_kwDOPRF1G87-WOfI","kind":"pull-request","label":"refactor(webhook): extract delivery into webhook_delivery mixin (Webhook Feature Package)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-13T01:13:20Z","updatedAt":"2026-08-31T17:01:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84939"},"data":{"additions":678,"baseRefName":"main","changedFiles":10,"closedAt":null,"createdAt":"2026-08-13T01:13:20Z","deletions":378,"headRefName":"campaign/webhook-delivery-extraction","isDraft":false,"merged":false,"mergedAt":null,"number":84939,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(webhook): extract delivery into webhook_delivery mixin (Webhook Feature Package)","updatedAt":"2026-08-31T17:01:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/84939","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-X-Bu","kind":"pull-request","label":"fix(security): recheck browser_exec's landed URL after execution","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-13T03:02:01Z","updatedAt":"2026-08-19T01:44:37Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84999"},"data":{"createdAt":"2026-08-13T03:02:01Z","mergedAt":null,"number":84999,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): recheck browser_exec's landed URL after execution","updatedAt":"2026-08-19T01:44:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/84999"}},{"id":"github:pull-request:PR_kwDOPRF1G87-XWYt","kind":"pull-request","label":"feat(webhook): add canonical route model and profile-aware store (Webhook Feature Package)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-13T02:22:28Z","updatedAt":"2026-08-31T17:01:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84978"},"data":{"additions":1184,"baseRefName":"main","changedFiles":16,"closedAt":null,"createdAt":"2026-08-13T02:22:28Z","deletions":256,"headRefName":"campaign/webhook-models-store","isDraft":false,"merged":false,"mergedAt":null,"number":84978,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(webhook): add canonical route model and profile-aware store (Webhook Feature Package)","updatedAt":"2026-08-31T17:01:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/84978","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-Y9qy","kind":"pull-request","label":"fix(security): store webhook secrets by reference and migrate plaintext","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-13T04:00:23Z","updatedAt":"2026-08-28T21:53:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85025"},"data":{"additions":1863,"baseRefName":"main","changedFiles":22,"closedAt":null,"createdAt":"2026-08-13T04:00:23Z","deletions":157,"headRefName":"campaign/webhook-secret-refs","isDraft":false,"merged":false,"mergedAt":null,"number":85025,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): store webhook secrets by reference and migrate plaintext","updatedAt":"2026-08-28T21:53:41Z","url":"https://github.com/NousResearch/hermes-agent/pull/85025","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-YEY4","kind":"pull-request","label":"fix(webhook): unify effective config authority","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-13T03:07:45Z","updatedAt":"2026-08-28T21:54:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85002"},"data":{"additions":432,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-13T03:07:45Z","deletions":23,"headRefName":"campaign/webhook-effective-config","isDraft":false,"merged":false,"mergedAt":null,"number":85002,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(webhook): unify effective config authority","updatedAt":"2026-08-28T21:54:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/85002","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-yyWR","kind":"pull-request","label":"fix(webhook): make intake fan-out-safe and structurally valid (Webhook Revolution)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-13T20:33:05Z","updatedAt":"2026-08-13T21:52:19Z","closedAt":"2026-08-13T21:52:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85618"},"data":{"additions":680,"baseRefName":"main","changedFiles":8,"closedAt":"2026-08-13T21:52:19Z","createdAt":"2026-08-13T20:33:05Z","deletions":234,"headRefName":"campaign/webhook-intake","isDraft":false,"merged":false,"mergedAt":null,"number":85618,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(webhook): make intake fan-out-safe and structurally valid (Webhook Revolution)","updatedAt":"2026-08-13T21:52:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/85618","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-z1Zu","kind":"pull-request","label":"feat(webhook): add multi-target delivery fan-out (Webhook Feature Package)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-13T21:17:12Z","updatedAt":"2026-08-22T03:25:49Z","closedAt":"2026-08-22T03:25:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85644"},"data":{"additions":727,"baseRefName":"main","changedFiles":7,"closedAt":"2026-08-22T03:25:49Z","createdAt":"2026-08-13T21:17:12Z","deletions":33,"headRefName":"campaign/webhook-delivery-callbacks","isDraft":true,"merged":false,"mergedAt":null,"number":85644,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(webhook): add multi-target delivery fan-out (Webhook Feature Package)","updatedAt":"2026-08-22T03:25:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/85644","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-z5gb","kind":"pull-request","label":"feat(webhook): run route completion scripts after the agent run (Webhook Feature Package)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-13T21:19:34Z","updatedAt":"2026-08-21T04:32:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85645"},"data":{"additions":90,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-13T21:19:34Z","deletions":0,"headRefName":"campaign/webhook-completion-scripts","isDraft":false,"merged":false,"mergedAt":null,"number":85645,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(webhook): run route completion scripts after the agent run (Webhook Feature Package)","updatedAt":"2026-08-21T04:32:41Z","url":"https://github.com/NousResearch/hermes-agent/pull/85645","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-z9_l","kind":"pull-request","label":"fix(hooks): version outbound webhook envelope and fail closed on invalid config","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-13T21:22:42Z","updatedAt":"2026-08-21T16:06:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85653"},"data":{"additions":315,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-13T21:22:42Z","deletions":64,"headRefName":"campaign/webhook-outbound","isDraft":false,"merged":false,"mergedAt":null,"number":85653,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(hooks): version outbound webhook envelope and fail closed on invalid config","updatedAt":"2026-08-21T16:06:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/85653","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-zdEv","kind":"pull-request","label":"docs(webhook): align webhooks guide with shipped behavior (Webhook Feature Package)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-13T21:01:03Z","updatedAt":"2026-08-28T11:40:18Z","closedAt":"2026-08-28T11:40:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85638"},"data":{"additions":68,"baseRefName":"main","changedFiles":2,"closedAt":"2026-08-28T11:40:18Z","createdAt":"2026-08-13T21:01:03Z","deletions":10,"headRefName":"campaign/webhook-docs","isDraft":false,"merged":false,"mergedAt":null,"number":85638,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"docs(webhook): align webhooks guide with shipped behavior (Webhook Feature Package)","updatedAt":"2026-08-28T11:40:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/85638","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-zjA7","kind":"pull-request","label":"test(webhook): Task 19 real-listener probe — final integration still pending","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-13T21:04:38Z","updatedAt":"2026-08-21T23:47:37Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85640"},"data":{"additions":138,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-13T21:04:38Z","deletions":0,"headRefName":"campaign/webhook-e2e","isDraft":false,"merged":false,"mergedAt":null,"number":85640,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"test(webhook): Task 19 real-listener probe — final integration still pending","updatedAt":"2026-08-21T23:47:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/85640","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-zPrr","kind":"pull-request","label":"Freemaxxing: authenticated proven-free local failover router","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-13T20:52:20Z","updatedAt":"2026-08-21T02:00:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85631"},"data":{"additions":2247,"baseRefName":"main","changedFiles":13,"closedAt":null,"createdAt":"2026-08-13T20:52:20Z","deletions":1,"headRefName":"feat/supports-noauth-loopback-provider","isDraft":false,"merged":false,"mergedAt":null,"number":85631,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Freemaxxing: authenticated proven-free local failover router","updatedAt":"2026-08-21T02:00:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/85631","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-zV8b","kind":"pull-request","label":"feat(webhook): complete CLI management parity (Webhook Feature Package)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-13T20:56:11Z","updatedAt":"2026-08-19T17:48:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85634"},"data":{"additions":324,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-13T20:56:11Z","deletions":17,"headRefName":"campaign/webhook-cli-rest","isDraft":false,"merged":false,"mergedAt":null,"number":85634,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(webhook): complete CLI management parity (Webhook Feature Package)","updatedAt":"2026-08-19T17:48:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/85634","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87-zZdl","kind":"pull-request","label":"fix(webhook): separate liveness from readiness, report bound listener without secrets (Webhook Feature Package)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-13T20:58:35Z","updatedAt":"2026-08-19T17:52:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85636"},"data":{"additions":101,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-13T20:58:35Z","deletions":1,"headRefName":"campaign/webhook-readiness","isDraft":false,"merged":false,"mergedAt":null,"number":85636,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(webhook): separate liveness from readiness, report bound listener without secrets (Webhook Feature Package)","updatedAt":"2026-08-19T17:52:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/85636","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G870QOyN","kind":"pull-request","label":"fix(delegation): separate lifecycle from task outcome","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-07-21T08:33:50Z","updatedAt":"2026-08-31T17:01:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/68499"},"data":{"createdAt":"2026-07-21T08:33:50Z","mergedAt":null,"number":68499,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(delegation): separate lifecycle from task outcome","updatedAt":"2026-08-31T17:01:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/68499"}},{"id":"github:pull-request:PR_kwDOPRF1G8715vt_","kind":"pull-request","label":"fix(desktop): preserve spaces in MEDIA file paths","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-07-24T14:39:22Z","updatedAt":"2026-08-25T15:17:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/70801"},"data":{"createdAt":"2026-07-24T14:39:22Z","mergedAt":null,"number":70801,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): preserve spaces in MEDIA file paths","updatedAt":"2026-08-25T15:17:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/70801"}},{"id":"github:pull-request:PR_kwDOPRF1G871nJQZ","kind":"pull-request","label":"fix(desktop): scrub credentials from embedded terminal PTY env","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-07-23T23:25:18Z","updatedAt":"2026-08-20T11:19:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/70370"},"data":{"createdAt":"2026-07-23T23:25:18Z","mergedAt":null,"number":70370,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): scrub credentials from embedded terminal PTY env","updatedAt":"2026-08-20T11:19:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/70370"}},{"id":"github:pull-request:PR_kwDOPRF1G871nKIb","kind":"pull-request","label":"fix(desktop): scrub credentials from updater and bootstrap children","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-07-23T23:26:13Z","updatedAt":"2026-08-20T11:19:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/70373"},"data":{"createdAt":"2026-07-23T23:26:13Z","mergedAt":null,"number":70373,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): scrub credentials from updater and bootstrap children","updatedAt":"2026-08-20T11:19:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/70373"}},{"id":"github:pull-request:PR_kwDOPRF1G871o2aw","kind":"pull-request","label":"fix(mcp): skip dynamic tool refresh when session is closed or superseded","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-07-24T01:12:59Z","updatedAt":"2026-08-19T01:43:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/70413"},"data":{"createdAt":"2026-07-24T01:12:59Z","mergedAt":null,"number":70413,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(mcp): skip dynamic tool refresh when session is closed or superseded","updatedAt":"2026-08-19T01:43:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/70413"}},{"id":"github:pull-request:PR_kwDOPRF1G871Q4cK","kind":"pull-request","label":"feat: Darkloom — post-quantum verification architecture for Hermes Agent","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-07-23T08:14:22Z","updatedAt":"2026-07-30T07:34:48Z","closedAt":"2026-07-30T07:34:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/69965"},"data":{"additions":5742,"baseRefName":"main","changedFiles":45,"closedAt":"2026-07-30T07:34:47Z","createdAt":"2026-07-23T08:14:22Z","deletions":0,"headRefName":"darkloom-integration","isDraft":false,"merged":false,"mergedAt":null,"number":69965,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat: Darkloom — post-quantum verification architecture for Hermes Agent","updatedAt":"2026-07-30T07:34:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/69965","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G871spAx","kind":"pull-request","label":"feat(desktop): drag to create sessions from New session and project + controls","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-07-24T05:19:56Z","updatedAt":"2026-08-26T18:43:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/70571"},"data":{"createdAt":"2026-07-24T05:19:56Z","mergedAt":null,"number":70571,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(desktop): drag to create sessions from New session and project + controls","updatedAt":"2026-08-26T18:43:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/70571"}},{"id":"github:pull-request:PR_kwDOPRF1G871yxMc","kind":"pull-request","label":"fix(api_server): robust Responses turn-start detection","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-07-24T09:54:34Z","updatedAt":"2026-08-27T19:06:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/70695"},"data":{"createdAt":"2026-07-24T09:54:34Z","mergedAt":null,"number":70695,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(api_server): robust Responses turn-start detection","updatedAt":"2026-08-27T19:06:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/70695"}},{"id":"github:pull-request:PR_kwDOPRF1G871ZBic","kind":"pull-request","label":"fix(gateway): redact streamed secrets before delivery (#56039)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-07-23T13:33:58Z","updatedAt":"2026-08-29T01:01:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/70093"},"data":{"createdAt":"2026-07-23T13:33:58Z","mergedAt":null,"number":70093,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): redact streamed secrets before delivery (#56039)","updatedAt":"2026-08-29T01:01:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/70093"}},{"id":"github:pull-request:PR_kwDOPRF1G8725KmP","kind":"pull-request","label":"fix(compression): attribute auxiliary failures to the actual wire route","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-07-27T12:10:17Z","updatedAt":"2026-08-20T02:08:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/72637"},"data":{"createdAt":"2026-07-27T12:10:17Z","mergedAt":null,"number":72637,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(compression): attribute auxiliary failures to the actual wire route","updatedAt":"2026-08-20T02:08:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/72637"}},{"id":"github:pull-request:PR_kwDOPRF1G872Ywse","kind":"pull-request","label":"fix(gateway): coalesce concurrent native OAuth refresh requests","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-07-25T19:45:01Z","updatedAt":"2026-08-28T09:56:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/71548"},"data":{"createdAt":"2026-07-25T19:45:01Z","mergedAt":null,"number":71548,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): coalesce concurrent native OAuth refresh requests","updatedAt":"2026-08-28T09:56:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/71548"}},{"id":"github:pull-request:PR_kwDOPRF1G8742xIy","kind":"pull-request","label":"fix(skills/himalaya): upgrade bundled skill to himalaya v2 schema","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-07-31T04:46:50Z","updatedAt":"2026-08-22T19:10:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/75212"},"data":{"createdAt":"2026-07-31T04:46:50Z","mergedAt":null,"number":75212,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(skills/himalaya): upgrade bundled skill to himalaya v2 schema","updatedAt":"2026-08-22T19:10:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/75212"}},{"id":"github:pull-request:PR_kwDOPRF1G8750-kI","kind":"pull-request","label":"fix(agent): refund iteration budget when fallback activates after API failure (#77305)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T04:50:26Z","updatedAt":"2026-08-18T02:55:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77354"},"data":{"createdAt":"2026-08-03T04:50:26Z","mergedAt":null,"number":77354,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(agent): refund iteration budget when fallback activates after API failure (#77305)","updatedAt":"2026-08-18T02:55:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/77354"}},{"id":"github:pull-request:PR_kwDOPRF1G8751_Kn","kind":"pull-request","label":"fix(sanitize): drop tool_calls key when dedup removes all calls (fixes empty-array 400 class)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-03T05:48:43Z","updatedAt":"2026-08-15T14:12:17Z","closedAt":"2026-08-15T14:07:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77377"},"data":{"additions":147,"baseRefName":"main","changedFiles":5,"closedAt":"2026-08-15T14:07:55Z","createdAt":"2026-08-03T05:48:43Z","deletions":111,"headRefName":"fix/sanitize-toolcalls-class","isDraft":false,"merged":false,"mergedAt":null,"number":77377,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(sanitize): drop tool_calls key when dedup removes all calls (fixes empty-array 400 class)","updatedAt":"2026-08-15T14:12:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/77377","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87511rp","kind":"pull-request","label":"fix(feishu): serialize card.data to JSON string in approval/update-prompt callbacks","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T05:39:58Z","updatedAt":"2026-08-31T16:56:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77374"},"data":{"additions":40,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T05:39:58Z","deletions":4,"headRefName":"fix/feishu-approval-card-json","isDraft":false,"merged":false,"mergedAt":null,"number":77374,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(feishu): serialize card.data to JSON string in approval/update-prompt callbacks","updatedAt":"2026-08-31T16:56:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/77374","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G875188B","kind":"pull-request","label":"refactor(gateway): extract platform routing helpers from run.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T05:46:50Z","updatedAt":"2026-08-06T22:55:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77376"},"data":{"additions":252,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-03T05:46:50Z","deletions":78,"headRefName":"refactor/gateway-platform-routing","isDraft":false,"merged":false,"mergedAt":null,"number":77376,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract platform routing helpers from run.py","updatedAt":"2026-08-06T22:55:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/77376","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8751hJn","kind":"pull-request","label":"fix(cron): coerce string repeat values ('forever'/'once') on create and update","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-03T05:22:27Z","updatedAt":"2026-08-30T03:25:15Z","closedAt":"2026-08-30T03:25:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77366"},"data":{"additions":140,"baseRefName":"main","changedFiles":4,"closedAt":"2026-08-30T03:25:15Z","createdAt":"2026-08-03T05:22:27Z","deletions":10,"headRefName":"fix/cron-repeat-string-coercion","isDraft":false,"merged":false,"mergedAt":null,"number":77366,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(cron): coerce string repeat values ('forever'/'once') on create and update","updatedAt":"2026-08-30T03:25:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/77366","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8751iem","kind":"pull-request","label":"fix(gateway): surface iLink ret<0 API failures in Weixin adapter logs","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T05:23:29Z","updatedAt":"2026-08-31T16:56:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77368"},"data":{"additions":63,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T05:23:29Z","deletions":1,"headRefName":"fix/weixin-log-ilink-ret-errors","isDraft":false,"merged":false,"mergedAt":null,"number":77368,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): surface iLink ret<0 API failures in Weixin adapter logs","updatedAt":"2026-08-31T16:56:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/77368","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8751NaI","kind":"pull-request","label":"fix(cli): show sessions from all sources in /sessions and /resume","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-03T05:05:33Z","updatedAt":"2026-08-03T06:27:18Z","closedAt":"2026-08-03T06:27:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77359"},"data":{"additions":45,"baseRefName":"main","changedFiles":2,"closedAt":"2026-08-03T06:27:18Z","createdAt":"2026-08-03T05:05:33Z","deletions":3,"headRefName":"fix/sessions-show-all-sources","isDraft":false,"merged":false,"mergedAt":null,"number":77359,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(cli): show sessions from all sources in /sessions and /resume","updatedAt":"2026-08-03T06:27:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/77359","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8751VC_","kind":"pull-request","label":"fix(feishu): serialize card.data to JSON string in approval/update-prompt callback responses","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-03T05:12:28Z","updatedAt":"2026-08-03T14:48:53Z","closedAt":"2026-08-03T14:48:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77364"},"data":{"additions":40,"baseRefName":"main","changedFiles":2,"closedAt":"2026-08-03T14:48:53Z","createdAt":"2026-08-03T05:12:28Z","deletions":4,"headRefName":"fix/feishu-approval-card-data-json","isDraft":false,"merged":false,"mergedAt":null,"number":77364,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(feishu): serialize card.data to JSON string in approval/update-prompt callback responses","updatedAt":"2026-08-03T14:48:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/77364","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8751wF9","kind":"pull-request","label":"fix(langfuse): reject right-prefix template keys, not just wrong prefixes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T05:35:03Z","updatedAt":"2026-08-11T01:22:16Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77373"},"data":{"additions":116,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T05:35:03Z","deletions":6,"headRefName":"fix/langfuse-placeholder-remainder","isDraft":false,"merged":false,"mergedAt":null,"number":77373,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(langfuse): reject right-prefix template keys, not just wrong prefixes","updatedAt":"2026-08-11T01:22:16Z","url":"https://github.com/NousResearch/hermes-agent/pull/77373","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87522uK","kind":"pull-request","label":"fix(cron): cron edit --profile pins job to a profile, not a context switch","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T06:30:32Z","updatedAt":"2026-08-06T22:55:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77404"},"data":{"additions":525,"baseRefName":"main","changedFiles":12,"closedAt":null,"createdAt":"2026-08-03T06:30:32Z","deletions":19,"headRefName":"fix/cron-profile-pin","isDraft":false,"merged":false,"mergedAt":null,"number":77404,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cron): cron edit --profile pins job to a profile, not a context switch","updatedAt":"2026-08-06T22:55:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/77404","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8752APe","kind":"pull-request","label":"fix(gateway): skip cross-loop live adapter in _send_via_adapter","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T05:49:35Z","updatedAt":"2026-08-06T23:05:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77378"},"data":{"additions":166,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T05:49:35Z","deletions":4,"headRefName":"fix/mattermost-cron-delivery-timeout","isDraft":false,"merged":false,"mergedAt":null,"number":77378,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): skip cross-loop live adapter in _send_via_adapter","updatedAt":"2026-08-06T23:05:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/77378","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8752BQT","kind":"pull-request","label":"feat(agent): enforce declared language standard via stable prompt directive","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T05:50:36Z","updatedAt":"2026-08-31T16:56:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77379"},"data":{"additions":121,"baseRefName":"main","changedFiles":5,"closedAt":null,"createdAt":"2026-08-03T05:50:36Z","deletions":0,"headRefName":"feat/language-standard","isDraft":false,"merged":false,"mergedAt":null,"number":77379,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(agent): enforce declared language standard via stable prompt directive","updatedAt":"2026-08-31T16:56:11Z","url":"https://github.com/NousResearch/hermes-agent/pull/77379","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8752DI-","kind":"pull-request","label":"feat(discord): support per-category mention and ignore rules","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T05:52:10Z","updatedAt":"2026-08-31T16:56:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77380"},"data":{"additions":639,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T05:52:10Z","deletions":4,"headRefName":"feat/discord-category-rules","isDraft":false,"merged":false,"mergedAt":null,"number":77380,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(discord): support per-category mention and ignore rules","updatedAt":"2026-08-31T16:56:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/77380","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8752GVz","kind":"pull-request","label":"fix(desktop): show script field in Cron detail when prompt is empty","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T05:55:15Z","updatedAt":"2026-08-31T16:56:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77382"},"data":{"additions":40,"baseRefName":"main","changedFiles":9,"closedAt":null,"createdAt":"2026-08-03T05:55:15Z","deletions":5,"headRefName":"fix/desktop-cron-script-only-detail","isDraft":false,"merged":false,"mergedAt":null,"number":77382,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): show script field in Cron detail when prompt is empty","updatedAt":"2026-08-31T16:56:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/77382","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8752IFd","kind":"pull-request","label":"fix(email): support separate IMAP/SMTP login user via EMAIL_LOGIN_USER","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T05:56:47Z","updatedAt":"2026-08-31T16:56:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77384"},"data":{"additions":140,"baseRefName":"main","changedFiles":5,"closedAt":null,"createdAt":"2026-08-03T05:56:47Z","deletions":9,"headRefName":"fix/email-login-user","isDraft":false,"merged":false,"mergedAt":null,"number":77384,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(email): support separate IMAP/SMTP login user via EMAIL_LOGIN_USER","updatedAt":"2026-08-31T16:56:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/77384","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8752WPp","kind":"pull-request","label":"fix(cron): pass Git-Bash-safe script path to bash on Windows (.sh exit 127 class)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T06:08:22Z","updatedAt":"2026-08-20T01:52:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77393"},"data":{"additions":58,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-03T06:08:22Z","deletions":2,"headRefName":"fix/cron-sh-windows-path","isDraft":false,"merged":false,"mergedAt":null,"number":77393,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cron): pass Git-Bash-safe script path to bash on Windows (.sh exit 127 class)","updatedAt":"2026-08-20T01:52:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/77393","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8753-GU","kind":"pull-request","label":"docs(google-workspace): remove nonexistent --services/--format flags from SKILL.md + anti-drift test","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T07:20:19Z","updatedAt":"2026-08-19T13:31:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77431"},"data":{"additions":65,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T07:20:19Z","deletions":19,"headRefName":"fix/gws-skill-docs","isDraft":false,"merged":false,"mergedAt":null,"number":77431,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(google-workspace): remove nonexistent --services/--format flags from SKILL.md + anti-drift test","updatedAt":"2026-08-19T13:31:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/77431","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G875332J","kind":"pull-request","label":"fix(doctor): detect environment-installed entry points (no false 'Venv entry point not found')","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T07:15:48Z","updatedAt":"2026-08-07T02:43:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77428"},"data":{"additions":256,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T07:15:48Z","deletions":18,"headRefName":"fix/doctor-venv-entrypoint","isDraft":false,"merged":false,"mergedAt":null,"number":77428,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(doctor): detect environment-installed entry points (no false 'Venv entry point not found')","updatedAt":"2026-08-07T02:43:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/77428","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8753dTc","kind":"pull-request","label":"fix(auxiliary): route oauth_minimax through AnthropicAuxiliaryClient (fixes all aux tasks)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T06:56:58Z","updatedAt":"2026-08-19T17:57:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77419"},"data":{"additions":278,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-03T06:56:58Z","deletions":3,"headRefName":"fix/aux-minimax-oauth","isDraft":false,"merged":false,"mergedAt":null,"number":77419,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(auxiliary): route oauth_minimax through AnthropicAuxiliaryClient (fixes all aux tasks)","updatedAt":"2026-08-19T17:57:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/77419","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8753NeB","kind":"pull-request","label":"fix(update): single-pass npm install keeps root deps (agent-browser no longer pruned)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-03T06:46:12Z","updatedAt":"2026-08-13T09:40:31Z","closedAt":"2026-08-13T09:40:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77413"},"data":{"additions":130,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-13T09:40:31Z","createdAt":"2026-08-03T06:46:12Z","deletions":19,"headRefName":"fix/update-workspace-root","isDraft":false,"merged":false,"mergedAt":null,"number":77413,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(update): single-pass npm install keeps root deps (agent-browser no longer pruned)","updatedAt":"2026-08-13T09:40:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/77413","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87541ik","kind":"pull-request","label":"refactor(gateway): extract resume/replay helpers from run.py (slice 3 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:00:15Z","updatedAt":"2026-08-14T12:25:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77452"},"data":{"additions":165,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T08:00:15Z","deletions":170,"headRefName":"fix/gateway-resume-replay-helpers","isDraft":false,"merged":false,"mergedAt":null,"number":77452,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract resume/replay helpers from run.py (slice 3 of #54962)","updatedAt":"2026-08-14T12:25:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/77452","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87546NA","kind":"pull-request","label":"refactor(gateway): extract transient-error helpers from run.py (slice 5 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:03:38Z","updatedAt":"2026-08-31T16:56:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77455"},"data":{"additions":99,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T08:03:38Z","deletions":76,"headRefName":"fix/gateway-error-helpers","isDraft":false,"merged":false,"mergedAt":null,"number":77455,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract transient-error helpers from run.py (slice 5 of #54962)","updatedAt":"2026-08-31T16:56:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/77455","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8754D_9","kind":"pull-request","label":"refactor(gateway): extract display/resolution helpers out of run.py (first slice of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T07:24:45Z","updatedAt":"2026-08-06T22:55:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77433"},"data":{"additions":544,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-03T07:24:45Z","deletions":238,"headRefName":"fix/gateway-display-helpers","isDraft":false,"merged":false,"mergedAt":null,"number":77433,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract display/resolution helpers out of run.py (first slice of #54962)","updatedAt":"2026-08-06T22:55:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/77433","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8754pwH","kind":"pull-request","label":"refactor(gateway): extract compression-status helpers from run.py (slice 4 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T07:52:06Z","updatedAt":"2026-08-31T16:56:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77450"},"data":{"additions":67,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T07:52:06Z","deletions":47,"headRefName":"fix/gateway-status-helpers","isDraft":false,"merged":false,"mergedAt":null,"number":77450,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract compression-status helpers from run.py (slice 4 of #54962)","updatedAt":"2026-08-31T16:56:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/77450","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8754Qj9","kind":"pull-request","label":"refactor(gateway): extract message/config helpers from run.py (slice 2 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T07:34:05Z","updatedAt":"2026-08-31T16:56:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77438"},"data":{"additions":89,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T07:34:05Z","deletions":65,"headRefName":"fix/gateway-home-channel-helpers","isDraft":false,"merged":false,"mergedAt":null,"number":77438,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract message/config helpers from run.py (slice 2 of #54962)","updatedAt":"2026-08-31T16:56:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/77438","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8755yc7","kind":"pull-request","label":"feat(desktop): annotate attached images in the chat composer","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:36:52Z","updatedAt":"2026-08-19T18:03:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77501"},"data":{"additions":865,"baseRefName":"main","changedFiles":14,"closedAt":null,"createdAt":"2026-08-03T08:36:52Z","deletions":6,"headRefName":"fix/desktop-composer-annotate","isDraft":false,"merged":false,"mergedAt":null,"number":77501,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(desktop): annotate attached images in the chat composer","updatedAt":"2026-08-19T18:03:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/77501","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8755z58","kind":"pull-request","label":"feat(discord): support per-guild/per-server configuration overrides","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:37:39Z","updatedAt":"2026-08-20T01:41:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77502"},"data":{"additions":806,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-03T08:37:39Z","deletions":32,"headRefName":"feat/discord-per-guild-config","isDraft":false,"merged":false,"mergedAt":null,"number":77502,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(discord): support per-guild/per-server configuration overrides","updatedAt":"2026-08-20T01:41:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/77502","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8756EGr","kind":"pull-request","label":"fix(gateway): use drain-aware SIGUSR1 in launchd restart from fresh shells","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T08:47:01Z","updatedAt":"2026-08-12T22:58:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77512"},"data":{"additions":139,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-03T08:47:01Z","deletions":1,"headRefName":"fix/launchd-drain-aware-restart","isDraft":false,"merged":false,"mergedAt":null,"number":77512,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): use drain-aware SIGUSR1 in launchd restart from fresh shells","updatedAt":"2026-08-12T22:58:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/77512","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8756tBv","kind":"pull-request","label":"fix(security): enforce owner-only ACLs on Windows in _secure_file","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T09:12:50Z","updatedAt":"2026-08-14T15:18:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77527"},"data":{"additions":212,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-03T09:12:50Z","deletions":9,"headRefName":"fix/security-windows-acl-secure-files","isDraft":false,"merged":false,"mergedAt":null,"number":77527,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): enforce owner-only ACLs on Windows in _secure_file","updatedAt":"2026-08-14T15:18:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/77527","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8756vYq","kind":"pull-request","label":"fix(security): route TUI compute host and LSP server env through the sanitized builder","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T09:14:14Z","updatedAt":"2026-08-24T07:47:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77528"},"data":{"additions":114,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-03T09:14:14Z","deletions":2,"headRefName":"fix/security-child-env-scrub-bypasses","isDraft":false,"merged":false,"mergedAt":null,"number":77528,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): route TUI compute host and LSP server env through the sanitized builder","updatedAt":"2026-08-24T07:47:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/77528","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8757MTx","kind":"pull-request","label":"fix(cron): resolve bash for .sh jobs via shared Windows-aware resolver (#46332)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T09:29:00Z","updatedAt":"2026-08-20T01:52:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77532"},"data":{"additions":127,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T09:29:00Z","deletions":10,"headRefName":"fix/cron-bash-resolver","isDraft":false,"merged":false,"mergedAt":null,"number":77532,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cron): resolve bash for .sh jobs via shared Windows-aware resolver (#46332)","updatedAt":"2026-08-20T01:52:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/77532","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G875GwGR","kind":"pull-request","label":"fix(gemini): give each native tool call its own streaming slot","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-07-31T16:26:31Z","updatedAt":"2026-08-28T10:18:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/75528"},"data":{"createdAt":"2026-07-31T16:26:31Z","mergedAt":null,"number":75528,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gemini): give each native tool call its own streaming slot","updatedAt":"2026-08-28T10:18:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/75528"}},{"id":"github:pull-request:PR_kwDOPRF1G875sld3","kind":"pull-request","label":"fix(desktop): don't let stale .env token clobber desktop-injected session token","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-02T17:21:04Z","updatedAt":"2026-08-27T11:35:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/76958"},"data":{"additions":1020,"baseRefName":"main","changedFiles":11,"closedAt":null,"createdAt":"2026-08-02T17:21:04Z","deletions":5,"headRefName":"fix/desktop-env-session-token","isDraft":true,"merged":false,"mergedAt":null,"number":76958,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): don't let stale .env token clobber desktop-injected session token","updatedAt":"2026-08-27T11:35:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/76958","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G875tcD1","kind":"pull-request","label":"feat(security): mask opaque credential values in log output","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-02T18:36:37Z","updatedAt":"2026-08-02T18:46:58Z","closedAt":"2026-08-02T18:37:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77014"},"data":{"additions":201,"baseRefName":"main","changedFiles":4,"closedAt":"2026-08-02T18:37:39Z","createdAt":"2026-08-02T18:36:37Z","deletions":5,"headRefName":"fix/security-redact-passwords-and-bws-token","isDraft":false,"merged":false,"mergedAt":null,"number":77014,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(security): mask opaque credential values in log output","updatedAt":"2026-08-02T18:46:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/77014","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G875tf4Y","kind":"pull-request","label":"feat(security): mask opaque credential values in log output","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-02T18:41:48Z","updatedAt":"2026-08-14T12:37:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77020"},"data":{"additions":123,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-02T18:41:48Z","deletions":1,"headRefName":"fix/security-redact-passwords-and-bws-token","isDraft":false,"merged":false,"mergedAt":null,"number":77020,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(security): mask opaque credential values in log output","updatedAt":"2026-08-14T12:37:20Z","url":"https://github.com/NousResearch/hermes-agent/pull/77020","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G875toHl","kind":"pull-request","label":"fix(security): strip BWS token and *_PASSWORD from child-process envs","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-02T18:52:46Z","updatedAt":"2026-08-25T16:56:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77027"},"data":{"additions":788,"baseRefName":"main","changedFiles":8,"closedAt":null,"createdAt":"2026-08-02T18:52:46Z","deletions":27,"headRefName":"fix/security-scrub-child-process-env","isDraft":false,"merged":false,"mergedAt":null,"number":77027,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): strip BWS token and *_PASSWORD from child-process envs","updatedAt":"2026-08-25T16:56:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/77027","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G875tptu","kind":"pull-request","label":"docs(security): credential-read scope audit for secrets-exfiltration hardening","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-02T18:55:05Z","updatedAt":"2026-08-06T22:54:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77031"},"data":{"additions":108,"baseRefName":"main","changedFiles":1,"closedAt":null,"createdAt":"2026-08-02T18:55:05Z","deletions":0,"headRefName":"fix/security-credential-read-audit","isDraft":false,"merged":false,"mergedAt":null,"number":77031,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(security): credential-read scope audit for secrets-exfiltration hardening","updatedAt":"2026-08-06T22:54:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/77031","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G875tVQ3","kind":"pull-request","label":"fix(security): write BWS disk cache encrypted-only, migrate legacy plaintext","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-02T18:27:00Z","updatedAt":"2026-08-31T16:55:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77008"},"data":{"additions":522,"baseRefName":"main","changedFiles":5,"closedAt":null,"createdAt":"2026-08-02T18:27:00Z","deletions":73,"headRefName":"fix/security-bws-cache-encrypted-default","isDraft":false,"merged":false,"mergedAt":null,"number":77008,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): write BWS disk cache encrypted-only, migrate legacy plaintext","updatedAt":"2026-08-31T16:55:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/77008","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G875twHT","kind":"pull-request","label":"test(security): end-to-end no-exfiltration gate","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-02T19:04:21Z","updatedAt":"2026-08-06T22:54:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77039"},"data":{"additions":153,"baseRefName":"main","changedFiles":1,"closedAt":null,"createdAt":"2026-08-02T19:04:21Z","deletions":0,"headRefName":"security-no-exfiltration-gate","isDraft":false,"merged":false,"mergedAt":null,"number":77039,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"test(security): end-to-end no-exfiltration gate","updatedAt":"2026-08-06T22:54:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/77039","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G875tZHi","kind":"pull-request","label":"fix(security): mask secret values in secret-source status lines","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-02T18:32:32Z","updatedAt":"2026-08-06T22:54:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77012"},"data":{"additions":235,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-02T18:32:32Z","deletions":4,"headRefName":"fix/security-secret-source-status-formatter","isDraft":false,"merged":false,"mergedAt":null,"number":77012,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): mask secret values in secret-source status lines","updatedAt":"2026-08-06T22:54:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/77012","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G875vW41","kind":"pull-request","label":"docs(secrets): authoritative Bitwarden secrets-handling protocol skill + integration docs","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-02T21:33:04Z","updatedAt":"2026-08-31T16:55:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77097"},"data":{"additions":503,"baseRefName":"main","changedFiles":8,"closedAt":null,"createdAt":"2026-08-02T21:33:04Z","deletions":25,"headRefName":"docs/bitwarden-authoritative-secrets-protocol","isDraft":false,"merged":false,"mergedAt":null,"number":77097,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(secrets): authoritative Bitwarden secrets-handling protocol skill + integration docs","updatedAt":"2026-08-31T16:55:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/77097","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G875wAdK","kind":"pull-request","label":"fix(tui-gateway): close WS disconnect/reconnect session race","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-02T22:29:15Z","updatedAt":"2026-08-24T01:59:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77129"},"data":{"createdAt":"2026-08-02T22:29:15Z","mergedAt":null,"number":77129,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(tui-gateway): close WS disconnect/reconnect session race","updatedAt":"2026-08-24T01:59:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/77129"}},{"id":"github:pull-request:PR_kwDOPRF1G875wwNd","kind":"pull-request","label":"fix(search): zero-match probes fall back to grep; native paths for rg on Windows","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-02T23:40:56Z","updatedAt":"2026-08-19T17:58:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77157"},"data":{"additions":257,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-02T23:40:56Z","deletions":13,"headRefName":"fix/search-zero-match-probe-grep-fallback","isDraft":false,"merged":false,"mergedAt":null,"number":77157,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(search): zero-match probes fall back to grep; native paths for rg on Windows","updatedAt":"2026-08-19T17:58:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/77157","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G875xaZH","kind":"pull-request","label":"fix(secrets): provenance-aware child-env scrub for applied secrets","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T00:38:00Z","updatedAt":"2026-08-31T16:56:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77193"},"data":{"additions":472,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-03T00:38:00Z","deletions":4,"headRefName":"fix/secrets-child-env-provenance-scrub","isDraft":false,"merged":false,"mergedAt":null,"number":77193,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(secrets): provenance-aware child-env scrub for applied secrets","updatedAt":"2026-08-31T16:56:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/77193","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G875xC4p","kind":"pull-request","label":"fix(secrets): 1Password encrypted-only cache; strip OP_* auth from child envs","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T00:09:16Z","updatedAt":"2026-08-31T16:56:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77168"},"data":{"additions":448,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-03T00:09:16Z","deletions":8,"headRefName":"fix/onepassword-encrypted-cache-env-hygiene","isDraft":false,"merged":false,"mergedAt":null,"number":77168,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(secrets): 1Password encrypted-only cache; strip OP_* auth from child envs","updatedAt":"2026-08-31T16:56:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/77168","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G875xKPh","kind":"pull-request","label":"docs: search steering feature page; 1Password encrypted-only posture","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T00:17:12Z","updatedAt":"2026-08-31T16:56:02Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77176"},"data":{"additions":96,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-03T00:17:12Z","deletions":4,"headRefName":"docs/secrets-posture-and-search-steering","isDraft":false,"merged":false,"mergedAt":null,"number":77176,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs: search steering feature page; 1Password encrypted-only posture","updatedAt":"2026-08-31T16:56:02Z","url":"https://github.com/NousResearch/hermes-agent/pull/77176","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G875xmGP","kind":"pull-request","label":"fix(secrets): exact-value applied-secret redaction on the provider-egress path","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T00:53:01Z","updatedAt":"2026-08-21T23:49:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77198"},"data":{"additions":536,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-03T00:53:01Z","deletions":0,"headRefName":"fix/secrets-provider-egress-redaction","isDraft":false,"merged":false,"mergedAt":null,"number":77198,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(secrets): exact-value applied-secret redaction on the provider-egress path","updatedAt":"2026-08-21T23:49:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/77198","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G875xMZk","kind":"pull-request","label":"fix(security): mask applied secret values in tool-result egress content","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-03T00:20:09Z","updatedAt":"2026-08-03T00:57:46Z","closedAt":"2026-08-03T00:57:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77179"},"data":{"additions":229,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-03T00:57:46Z","createdAt":"2026-08-03T00:20:09Z","deletions":1,"headRefName":"fix/security-tool-result-egress-mask","isDraft":false,"merged":false,"mergedAt":null,"number":77179,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(security): mask applied secret values in tool-result egress content","updatedAt":"2026-08-03T00:57:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/77179","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G875xNCq","kind":"pull-request","label":"fix(security): scrub applied-secrets snapshot from child-process envs","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-03T00:21:04Z","updatedAt":"2026-08-03T00:57:49Z","closedAt":"2026-08-03T00:57:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77181"},"data":{"additions":208,"baseRefName":"main","changedFiles":2,"closedAt":"2026-08-03T00:57:49Z","createdAt":"2026-08-03T00:21:04Z","deletions":2,"headRefName":"fix/security-child-env-provenance-scrub","isDraft":false,"merged":false,"mergedAt":null,"number":77181,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(security): scrub applied-secrets snapshot from child-process envs","updatedAt":"2026-08-03T00:57:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/77181","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G875xVyJ","kind":"pull-request","label":"fix(security): wire applied-secrets snapshot into provider-egress sanitizers","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-03T00:32:01Z","updatedAt":"2026-08-03T00:57:52Z","closedAt":"2026-08-03T00:57:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77185"},"data":{"additions":374,"baseRefName":"main","changedFiles":7,"closedAt":"2026-08-03T00:57:52Z","createdAt":"2026-08-03T00:32:01Z","deletions":9,"headRefName":"fix/security-egress-snapshot-wiring","isDraft":false,"merged":false,"mergedAt":null,"number":77185,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(security): wire applied-secrets snapshot into provider-egress sanitizers","updatedAt":"2026-08-03T00:57:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/77185","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G875zpay","kind":"pull-request","label":"fix(tts): rewrite xAI streaming against the real WebSocket protocol","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-03T03:21:56Z","updatedAt":"2026-08-15T00:27:50Z","closedAt":"2026-08-03T03:42:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77285"},"data":{"additions":297,"baseRefName":"main","changedFiles":2,"closedAt":"2026-08-03T03:42:10Z","createdAt":"2026-08-03T03:21:56Z","deletions":52,"headRefName":"fix/tts-xai-streaming-protocol","isDraft":false,"merged":false,"mergedAt":null,"number":77285,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(tts): rewrite xAI streaming against the real WebSocket protocol","updatedAt":"2026-08-15T00:27:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/77285","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G875zQov","kind":"pull-request","label":"feat(usage,security): desktop usage & cost surface + Safety & Security panel","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T02:56:00Z","updatedAt":"2026-08-13T21:45:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77263"},"data":{"additions":7510,"baseRefName":"main","changedFiles":54,"closedAt":null,"createdAt":"2026-08-03T02:56:00Z","deletions":217,"headRefName":"feat/usage-timeseries","isDraft":false,"merged":false,"mergedAt":null,"number":77263,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(usage,security): desktop usage & cost surface + Safety & Security panel","updatedAt":"2026-08-13T21:45:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/77263","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8761xPG","kind":"pull-request","label":"refactor(telegram): full adapter.py god-file decomposition, 10 mixins, 10,147 to 1,390 lines","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T01:34:43Z","updatedAt":"2026-08-15T22:53:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79010"},"data":{"additions":10273,"baseRefName":"main","changedFiles":18,"closedAt":null,"createdAt":"2026-08-05T01:34:43Z","deletions":8836,"headRefName":"fix/tg-adapter-shard-wave2","isDraft":false,"merged":false,"mergedAt":null,"number":79010,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(telegram): full adapter.py god-file decomposition, 10 mixins, 10,147 to 1,390 lines","updatedAt":"2026-08-15T22:53:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/79010","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8764Uap","kind":"pull-request","label":"refactor(telegram): extract s1 rich-message/topics/init-guard clusters into 7 mixin modules (tracker #78791)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T04:12:10Z","updatedAt":"2026-08-31T16:57:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79066"},"data":{"additions":1828,"baseRefName":"main","changedFiles":12,"closedAt":null,"createdAt":"2026-08-05T04:12:10Z","deletions":1217,"headRefName":"gfg/extract-s1-w1b","isDraft":false,"merged":false,"mergedAt":null,"number":79066,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(telegram): extract s1 rich-message/topics/init-guard clusters into 7 mixin modules (tracker #78791)","updatedAt":"2026-08-31T16:57:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/79066","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8764Vao","kind":"pull-request","label":"refactor(telegram): extract group-gating/media-send/formatting clusters into 6 s4 mixins (tracker #78791)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T04:13:06Z","updatedAt":"2026-08-31T16:15:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79069"},"data":{"additions":2792,"baseRefName":"main","changedFiles":13,"closedAt":null,"createdAt":"2026-08-05T04:13:06Z","deletions":1903,"headRefName":"gfg/extract-s4-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79069,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(telegram): extract group-gating/media-send/formatting clusters into 6 s4 mixins (tracker #78791)","updatedAt":"2026-08-31T16:15:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/79069","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8764Vc_","kind":"pull-request","label":"refactor(telegram): extract ingest/media/batching/reactions clusters into 9 s5 mixins (tracker #78791)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T04:13:08Z","updatedAt":"2026-08-31T16:15:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79070"},"data":{"additions":2507,"baseRefName":"main","changedFiles":13,"closedAt":null,"createdAt":"2026-08-05T04:13:08Z","deletions":1516,"headRefName":"gfg/extract-s5-w1b","isDraft":false,"merged":false,"mergedAt":null,"number":79070,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(telegram): extract ingest/media/batching/reactions clusters into 9 s5 mixins (tracker #78791)","updatedAt":"2026-08-31T16:15:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/79070","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8764VMr","kind":"pull-request","label":"refactor(telegram): extract polling-resilience + dm-topic clusters into polling_mixin/dm_topics_mixin (tracker #78791)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T04:12:55Z","updatedAt":"2026-08-31T16:15:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79067"},"data":{"additions":2154,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-05T04:12:55Z","deletions":1508,"headRefName":"gfg/extract-s2-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79067,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(telegram): extract polling-resilience + dm-topic clusters into polling_mixin/dm_topics_mixin (tracker #78791)","updatedAt":"2026-08-31T16:15:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/79067","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8764VOG","kind":"pull-request","label":"refactor(telegram): extract outbound send/edit/draft lifecycle clusters into s3 mixins (tracker #78791)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T04:12:56Z","updatedAt":"2026-08-31T16:15:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79068"},"data":{"additions":2420,"baseRefName":"main","changedFiles":9,"closedAt":null,"createdAt":"2026-08-05T04:12:56Z","deletions":1916,"headRefName":"gfg/extract-s3-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79068,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(telegram): extract outbound send/edit/draft lifecycle clusters into s3 mixins (tracker #78791)","updatedAt":"2026-08-31T16:15:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/79068","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8766hfE","kind":"pull-request","label":"refactor(web): extract model-assignment helpers into web_server_model_assignment (web_server.py god-file slice R1-C9)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T06:10:42Z","updatedAt":"2026-08-15T22:53:22Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79123"},"data":{"additions":518,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-05T06:10:42Z","deletions":172,"headRefName":"fix/web-model-assignment-extract","isDraft":false,"merged":false,"mergedAt":null,"number":79123,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(web): extract model-assignment helpers into web_server_model_assignment (web_server.py god-file slice R1-C9)","updatedAt":"2026-08-15T22:53:22Z","url":"https://github.com/NousResearch/hermes-agent/pull/79123","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8766hhU","kind":"pull-request","label":"refactor(web): extract gateway-topology readout into web_gateway_topology (web_server.py god-file slice R2-B)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T06:10:44Z","updatedAt":"2026-08-15T22:53:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79124"},"data":{"additions":375,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-05T06:10:44Z","deletions":192,"headRefName":"fix/web-gateway-topology-extract","isDraft":false,"merged":false,"mergedAt":null,"number":79124,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(web): extract gateway-topology readout into web_gateway_topology (web_server.py god-file slice R2-B)","updatedAt":"2026-08-15T22:53:20Z","url":"https://github.com/NousResearch/hermes-agent/pull/79124","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8766hjw","kind":"pull-request","label":"refactor(web): extract managed-files routes into web_routers/files (web_server.py god-file slice R2-C1)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T06:10:46Z","updatedAt":"2026-08-15T22:53:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79125"},"data":{"additions":480,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-05T06:10:46Z","deletions":291,"headRefName":"fix/web-files-router-extract","isDraft":false,"merged":false,"mergedAt":null,"number":79125,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(web): extract managed-files routes into web_routers/files (web_server.py god-file slice R2-C1)","updatedAt":"2026-08-15T22:53:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/79125","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8766hmG","kind":"pull-request","label":"refactor(web): extract schema/config rendering into web_schema (web_server.py god-file slice R1-C6)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T06:10:48Z","updatedAt":"2026-08-15T22:53:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79126"},"data":{"additions":610,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-05T06:10:48Z","deletions":496,"headRefName":"fix/web-schema-extract","isDraft":false,"merged":false,"mergedAt":null,"number":79126,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(web): extract schema/config rendering into web_schema (web_server.py god-file slice R1-C6)","updatedAt":"2026-08-15T22:53:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/79126","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8766ho3","kind":"pull-request","label":"refactor(web): extract custom-endpoints routes into web_routers/custom_endpoints (web_server.py god-file slice R3-C1)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T06:10:50Z","updatedAt":"2026-08-15T22:53:16Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79127"},"data":{"additions":536,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-05T06:10:50Z","deletions":367,"headRefName":"fix/web-custom-endpoints-extract","isDraft":false,"merged":false,"mergedAt":null,"number":79127,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(web): extract custom-endpoints routes into web_routers/custom_endpoints (web_server.py god-file slice R3-C1)","updatedAt":"2026-08-15T22:53:16Z","url":"https://github.com/NousResearch/hermes-agent/pull/79127","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8766hrN","kind":"pull-request","label":"refactor(web): extract messaging-platform catalog into web_routers/messaging","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T06:10:52Z","updatedAt":"2026-08-21T04:21:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79128"},"data":{"additions":1172,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-05T06:10:52Z","deletions":1020,"headRefName":"fix/web-messaging-router-extract","isDraft":false,"merged":false,"mergedAt":null,"number":79128,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(web): extract messaging-platform catalog into web_routers/messaging","updatedAt":"2026-08-21T04:21:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/79128","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8766huA","kind":"pull-request","label":"refactor(web): extract WhatsApp onboarding into web_routers/whatsapp_onboarding (web_server.py god-file slice R4-C3)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T06:10:54Z","updatedAt":"2026-08-31T16:57:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79129"},"data":{"additions":642,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-05T06:10:54Z","deletions":492,"headRefName":"fix/web-whatsapp-extract","isDraft":false,"merged":false,"mergedAt":null,"number":79129,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(web): extract WhatsApp onboarding into web_routers/whatsapp_onboarding (web_server.py god-file slice R4-C3)","updatedAt":"2026-08-31T16:57:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/79129","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876A-nu","kind":"pull-request","label":"refactor(gateway): extract turn-process supervision helpers from run.py (slice 10 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:06:50Z","updatedAt":"2026-08-31T16:56:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77704"},"data":{"additions":218,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T13:06:50Z","deletions":185,"headRefName":"fix/gateway-turn-process-helpers","isDraft":false,"merged":false,"mergedAt":null,"number":77704,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract turn-process supervision helpers from run.py (slice 10 of #54962)","updatedAt":"2026-08-31T16:56:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/77704","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876A8n2","kind":"pull-request","label":"refactor(gateway): extract media/event helpers from run.py (slice 7 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:05:48Z","updatedAt":"2026-08-31T16:56:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77702"},"data":{"additions":181,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T13:05:48Z","deletions":153,"headRefName":"fix/gateway-media-helpers","isDraft":false,"merged":false,"mergedAt":null,"number":77702,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract media/event helpers from run.py (slice 7 of #54962)","updatedAt":"2026-08-31T16:56:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/77702","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876BAbb","kind":"pull-request","label":"refactor(gateway): extract redaction/provider-error helpers from run.py (slice 9 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:07:47Z","updatedAt":"2026-08-31T16:56:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77707"},"data":{"additions":193,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T13:07:47Z","deletions":167,"headRefName":"fix/gateway-redaction-helpers","isDraft":false,"merged":false,"mergedAt":null,"number":77707,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract redaction/provider-error helpers from run.py (slice 9 of #54962)","updatedAt":"2026-08-31T16:56:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/77707","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876BADt","kind":"pull-request","label":"refactor(gateway): extract auto-continue helpers from run.py (slice 8 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:07:35Z","updatedAt":"2026-08-31T16:56:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77706"},"data":{"additions":258,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T13:07:35Z","deletions":234,"headRefName":"fix/gateway-auto-continue-helpers","isDraft":false,"merged":false,"mergedAt":null,"number":77706,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract auto-continue helpers from run.py (slice 8 of #54962)","updatedAt":"2026-08-31T16:56:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/77706","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876BER-","kind":"pull-request","label":"refactor(gateway): extract env/bootstrap helpers from run.py (slice 11 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:09:40Z","updatedAt":"2026-08-31T16:56:37Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77708"},"data":{"additions":111,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T13:09:40Z","deletions":91,"headRefName":"fix/gateway-env-helpers","isDraft":false,"merged":false,"mergedAt":null,"number":77708,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract env/bootstrap helpers from run.py (slice 11 of #54962)","updatedAt":"2026-08-31T16:56:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/77708","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876BKmw","kind":"pull-request","label":"refactor(gateway): extract status-message helpers from run.py (slice 14 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:12:46Z","updatedAt":"2026-08-31T16:56:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77710"},"data":{"additions":52,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T13:12:46Z","deletions":28,"headRefName":"fix/gateway-status-message-helpers","isDraft":false,"merged":false,"mergedAt":null,"number":77710,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract status-message helpers from run.py (slice 14 of #54962)","updatedAt":"2026-08-31T16:56:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/77710","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876BLgg","kind":"pull-request","label":"refactor(gateway): extract history-build helpers from run.py (slice 13 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:13:14Z","updatedAt":"2026-08-14T13:18:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77711"},"data":{"additions":83,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T13:13:14Z","deletions":104,"headRefName":"fix/gateway-history-helpers","isDraft":false,"merged":false,"mergedAt":null,"number":77711,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract history-build helpers from run.py (slice 13 of #54962)","updatedAt":"2026-08-14T13:18:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/77711","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876Bm1k","kind":"pull-request","label":"refactor(gateway): extract interrupt helpers from run.py (slice 19 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:26:46Z","updatedAt":"2026-08-31T16:56:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77722"},"data":{"additions":33,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T13:26:46Z","deletions":13,"headRefName":"fix/gateway-interrupt-helpers","isDraft":false,"merged":false,"mergedAt":null,"number":77722,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract interrupt helpers from run.py (slice 19 of #54962)","updatedAt":"2026-08-31T16:56:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/77722","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876Bofx","kind":"pull-request","label":"refactor(gateway): extract TurnRunner class from run.py (slice 15 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:27:33Z","updatedAt":"2026-08-31T16:56:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77724"},"data":{"additions":2375,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-03T13:27:33Z","deletions":2101,"headRefName":"fix/turn-runner-module","isDraft":false,"merged":false,"mergedAt":null,"number":77724,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract TurnRunner class from run.py (slice 15 of #54962)","updatedAt":"2026-08-31T16:56:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/77724","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876BoYF","kind":"pull-request","label":"refactor(gateway): extract config/channel-override helpers from run.py (slice 18 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:27:30Z","updatedAt":"2026-08-31T16:56:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77723"},"data":{"additions":187,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T13:27:30Z","deletions":164,"headRefName":"fix/gateway-config-pure-helpers","isDraft":false,"merged":false,"mergedAt":null,"number":77723,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract config/channel-override helpers from run.py (slice 18 of #54962)","updatedAt":"2026-08-31T16:56:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/77723","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876Bp_4","kind":"pull-request","label":"refactor(gateway): extract response-normalization helpers from run.py (slice 16 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:28:16Z","updatedAt":"2026-08-31T16:56:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77725"},"data":{"additions":180,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T13:28:16Z","deletions":161,"headRefName":"fix/gateway-response-normalization-helpers","isDraft":false,"merged":false,"mergedAt":null,"number":77725,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract response-normalization helpers from run.py (slice 16 of #54962)","updatedAt":"2026-08-31T16:56:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/77725","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876BxYE","kind":"pull-request","label":"refactor(gateway): extract skill-hint helpers from run.py (slice 17 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:31:44Z","updatedAt":"2026-08-31T16:56:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77728"},"data":{"additions":138,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T13:31:44Z","deletions":114,"headRefName":"fix/gateway-skill-hint-helpers","isDraft":false,"merged":false,"mergedAt":null,"number":77728,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract skill-hint helpers from run.py (slice 17 of #54962)","updatedAt":"2026-08-31T16:56:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/77728","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876BZm7","kind":"pull-request","label":"refactor(gateway): extract config/runtime-resolution helpers from run.py (slice 12 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:20:07Z","updatedAt":"2026-08-31T16:56:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77719"},"data":{"additions":197,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T13:20:07Z","deletions":155,"headRefName":"fix/gateway-config-helpers","isDraft":false,"merged":false,"mergedAt":null,"number":77719,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract config/runtime-resolution helpers from run.py (slice 12 of #54962)","updatedAt":"2026-08-31T16:56:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/77719","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876C2it","kind":"pull-request","label":"refactor(gateway): extract GatewayPlatformMixin from run.py (slice 25 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T14:06:32Z","updatedAt":"2026-08-31T16:57:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77759"},"data":{"additions":1737,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T14:06:32Z","deletions":1620,"headRefName":"refactor/gateway-mixin-platform","isDraft":false,"merged":false,"mergedAt":null,"number":77759,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract GatewayPlatformMixin from run.py (slice 25 of #54962)","updatedAt":"2026-08-31T16:57:20Z","url":"https://github.com/NousResearch/hermes-agent/pull/77759","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876CbI4","kind":"pull-request","label":"refactor(gateway): extract GatewayMediaMixin from run.py (slice 22 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:53:01Z","updatedAt":"2026-08-31T16:57:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77751"},"data":{"additions":1079,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T13:53:01Z","deletions":1027,"headRefName":"refactor/gateway-mixin-media","isDraft":false,"merged":false,"mergedAt":null,"number":77751,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract GatewayMediaMixin from run.py (slice 22 of #54962)","updatedAt":"2026-08-31T16:57:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/77751","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876CGVl","kind":"pull-request","label":"refactor(gateway): extract GatewayThreadsMixin from run.py (slice 24 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:42:44Z","updatedAt":"2026-08-31T16:56:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77733"},"data":{"additions":958,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T13:42:44Z","deletions":927,"headRefName":"refactor/gateway-mixin-threads","isDraft":false,"merged":false,"mergedAt":null,"number":77733,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract GatewayThreadsMixin from run.py (slice 24 of #54962)","updatedAt":"2026-08-31T16:56:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/77733","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876CgyQ","kind":"pull-request","label":"refactor(gateway): extract GatewayTurnExecMixin from run.py (slice 29 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:55:41Z","updatedAt":"2026-08-31T16:57:16Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77752"},"data":{"additions":3138,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-03T13:55:41Z","deletions":3053,"headRefName":"refactor/gateway-mixin-turn-exec","isDraft":false,"merged":false,"mergedAt":null,"number":77752,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract GatewayTurnExecMixin from run.py (slice 29 of #54962)","updatedAt":"2026-08-31T16:57:16Z","url":"https://github.com/NousResearch/hermes-agent/pull/77752","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876CIhQ","kind":"pull-request","label":"refactor(gateway): extract housekeeping daemons from run.py (slice 30 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:43:52Z","updatedAt":"2026-08-31T16:56:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77735"},"data":{"additions":357,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T13:43:52Z","deletions":318,"headRefName":"refactor/gateway-housekeeping-module","isDraft":false,"merged":false,"mergedAt":null,"number":77735,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract housekeeping daemons from run.py (slice 30 of #54962)","updatedAt":"2026-08-31T16:56:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/77735","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876CKas","kind":"pull-request","label":"refactor(gateway): extract GatewayLifecycleMixin from run.py (slice 27 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:44:51Z","updatedAt":"2026-08-31T16:57:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77738"},"data":{"additions":1813,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T13:44:51Z","deletions":1756,"headRefName":"refactor/gateway-mixin-lifecycle","isDraft":false,"merged":false,"mergedAt":null,"number":77738,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract GatewayLifecycleMixin from run.py (slice 27 of #54962)","updatedAt":"2026-08-31T16:57:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/77738","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876CKDb","kind":"pull-request","label":"refactor(gateway): extract entry points from run.py (slice 31 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:44:39Z","updatedAt":"2026-08-31T16:56:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77737"},"data":{"additions":161,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-03T13:44:39Z","deletions":126,"headRefName":"refactor/gateway-entry-module","isDraft":false,"merged":false,"mergedAt":null,"number":77737,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract entry points from run.py (slice 31 of #54962)","updatedAt":"2026-08-31T16:56:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/77737","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876CnRy","kind":"pull-request","label":"refactor(gateway): extract GatewayDispatchMixin from run.py (slice 26 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:58:57Z","updatedAt":"2026-08-31T16:57:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77756"},"data":{"additions":5468,"baseRefName":"main","changedFiles":7,"closedAt":null,"createdAt":"2026-08-03T13:58:57Z","deletions":5368,"headRefName":"refactor/gateway-mixin-dispatch","isDraft":false,"merged":false,"mergedAt":null,"number":77756,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract GatewayDispatchMixin from run.py (slice 26 of #54962)","updatedAt":"2026-08-31T16:57:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/77756","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876CPdv","kind":"pull-request","label":"refactor(gateway): extract GatewayVoiceMixin from run.py (slice 23 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:47:27Z","updatedAt":"2026-08-31T16:57:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77741"},"data":{"additions":569,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-03T13:47:27Z","deletions":527,"headRefName":"refactor/gateway-mixin-voice","isDraft":false,"merged":false,"mergedAt":null,"number":77741,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract GatewayVoiceMixin from run.py (slice 23 of #54962)","updatedAt":"2026-08-31T16:57:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/77741","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876CQna","kind":"pull-request","label":"refactor(gateway): extract GatewayNotificationsMixin from run.py (slice 28 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:48:01Z","updatedAt":"2026-08-31T16:57:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77743"},"data":{"additions":1666,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T13:48:01Z","deletions":1618,"headRefName":"refactor/gateway-mixin-notifications","isDraft":false,"merged":false,"mergedAt":null,"number":77743,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract GatewayNotificationsMixin from run.py (slice 28 of #54962)","updatedAt":"2026-08-31T16:57:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/77743","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876CWRy","kind":"pull-request","label":"refactor(gateway): extract GatewaySessionMixin from run.py (slice 21 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:50:42Z","updatedAt":"2026-08-31T16:57:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77746"},"data":{"additions":1315,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T13:50:42Z","deletions":1279,"headRefName":"refactor/gateway-mixin-session","isDraft":false,"merged":false,"mergedAt":null,"number":77746,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract GatewaySessionMixin from run.py (slice 21 of #54962)","updatedAt":"2026-08-31T16:57:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/77746","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876CXmW","kind":"pull-request","label":"refactor(gateway): extract GatewayRuntimeConfigMixin from run.py (slice 20 of #54962)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T13:51:18Z","updatedAt":"2026-08-31T16:57:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77748"},"data":{"additions":1136,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T13:51:18Z","deletions":1062,"headRefName":"refactor/gateway-mixin-runtime-config","isDraft":false,"merged":false,"mergedAt":null,"number":77748,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract GatewayRuntimeConfigMixin from run.py (slice 20 of #54962)","updatedAt":"2026-08-31T16:57:11Z","url":"https://github.com/NousResearch/hermes-agent/pull/77748","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876FpAq","kind":"pull-request","label":"test(conformance): graph-adjudicated documentation conformance + llms-full.txt baseline","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T15:36:25Z","updatedAt":"2026-08-08T01:41:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77819"},"data":{"additions":132575,"baseRefName":"main","changedFiles":195,"closedAt":null,"createdAt":"2026-08-03T15:36:25Z","deletions":59020,"headRefName":"fix/docs-conformance-graph","isDraft":false,"merged":false,"mergedAt":null,"number":77819,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"test(conformance): graph-adjudicated documentation conformance + llms-full.txt baseline","updatedAt":"2026-08-08T01:41:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/77819","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876J_tj","kind":"pull-request","label":"docs(guides): add the large-file decomposition campaign canon","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T18:12:31Z","updatedAt":"2026-08-15T22:53:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77911"},"data":{"additions":779,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T18:12:31Z","deletions":0,"headRefName":"docs/godfile-canon","isDraft":false,"merged":false,"mergedAt":null,"number":77911,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(guides): add the large-file decomposition campaign canon","updatedAt":"2026-08-15T22:53:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/77911","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876J5s5","kind":"pull-request","label":"feat(skills): add apa7-references bundled skill — APA 7th citation map","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T18:08:54Z","updatedAt":"2026-08-31T16:57:22Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77907"},"data":{"additions":306,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-03T18:08:54Z","deletions":0,"headRefName":"feat/apa7-references-skill","isDraft":false,"merged":false,"mergedAt":null,"number":77907,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(skills): add apa7-references bundled skill — APA 7th citation map","updatedAt":"2026-08-31T16:57:22Z","url":"https://github.com/NousResearch/hermes-agent/pull/77907","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876J85w","kind":"pull-request","label":"feat(skills): add x-research-mcp-api bundled skill — X research via MCP + v2 API","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T18:10:53Z","updatedAt":"2026-08-31T16:57:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77909"},"data":{"additions":216,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-03T18:10:53Z","deletions":0,"headRefName":"feat/x-research-mcp-skill","isDraft":false,"merged":false,"mergedAt":null,"number":77909,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(skills): add x-research-mcp-api bundled skill — X research via MCP + v2 API","updatedAt":"2026-08-31T16:57:24Z","url":"https://github.com/NousResearch/hermes-agent/pull/77909","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876KBAg","kind":"pull-request","label":"feat(relay)!: initialize static/dynamic plugins via native integration, remove opt-in plugin","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-03T18:13:17Z","updatedAt":"2026-08-20T02:11:14Z","mergedAt":"2026-08-20T02:11:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77915"},"data":{"createdAt":"2026-08-03T18:13:17Z","mergedAt":"2026-08-20T02:11:13Z","number":77915,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(relay)!: initialize static/dynamic plugins via native integration, remove opt-in plugin","updatedAt":"2026-08-20T02:11:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/77915"}},{"id":"github:pull-request:PR_kwDOPRF1G876m9cd","kind":"pull-request","label":"docs(readme): steer-first interrupt guidance + five-stream README accuracy pass","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T14:51:44Z","updatedAt":"2026-08-31T16:57:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/78546"},"data":{"additions":16,"baseRefName":"main","changedFiles":1,"closedAt":null,"createdAt":"2026-08-04T14:51:44Z","deletions":16,"headRefName":"docs/readme-audit-1","isDraft":false,"merged":false,"mergedAt":null,"number":78546,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(readme): steer-first interrupt guidance + five-stream README accuracy pass","updatedAt":"2026-08-31T16:57:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/78546","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876mm98","kind":"pull-request","label":"docs(readme): steer-first interrupt guidance + feature high-value quick starts (fixes #78539)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T14:39:52Z","updatedAt":"2026-08-11T04:21:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/78542"},"data":{"additions":7,"baseRefName":"main","changedFiles":1,"closedAt":null,"createdAt":"2026-08-04T14:39:52Z","deletions":1,"headRefName":"docs/keystone-readme-busy-quickstarts","isDraft":false,"merged":false,"mergedAt":null,"number":78542,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(readme): steer-first interrupt guidance + feature high-value quick starts (fixes #78539)","updatedAt":"2026-08-11T04:21:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/78542","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876QB3n","kind":"pull-request","label":"fix(security): stop plugin sidecar children inheriting full env","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T22:25:30Z","updatedAt":"2026-08-31T16:57:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/78033"},"data":{"additions":304,"baseRefName":"main","changedFiles":9,"closedAt":null,"createdAt":"2026-08-03T22:25:30Z","deletions":9,"headRefName":"fix/security-plugin-sidecar-env","isDraft":false,"merged":false,"mergedAt":null,"number":78033,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): stop plugin sidecar children inheriting full env","updatedAt":"2026-08-31T16:57:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/78033","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876QHD8","kind":"pull-request","label":"fix(security): route tui_gateway shell.exec through the sanitized env builder","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-03T22:30:01Z","updatedAt":"2026-08-31T16:57:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/78036"},"data":{"additions":55,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-03T22:30:01Z","deletions":0,"headRefName":"fix/security-tui-shell-exec-env","isDraft":false,"merged":false,"mergedAt":null,"number":78036,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): route tui_gateway shell.exec through the sanitized env builder","updatedAt":"2026-08-31T16:57:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/78036","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876qRwr","kind":"pull-request","label":"fix(file-safety): refuse writes that touch git worktree .git pointer files","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-04T16:45:48Z","updatedAt":"2026-08-04T21:45:17Z","closedAt":"2026-08-04T21:45:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/78652"},"data":{"additions":342,"baseRefName":"main","changedFiles":7,"closedAt":"2026-08-04T21:45:17Z","createdAt":"2026-08-04T16:45:48Z","deletions":26,"headRefName":"fix/worktree-git-file-guard","isDraft":false,"merged":false,"mergedAt":null,"number":78652,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(file-safety): refuse writes that touch git worktree .git pointer files","updatedAt":"2026-08-04T21:45:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/78652","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876qSmC","kind":"pull-request","label":"fix(file-tools): normalize separators for POSIX sensitive-path denylist on Windows","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-04T16:46:20Z","updatedAt":"2026-08-20T16:10:12Z","closedAt":"2026-08-19T17:17:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/78653"},"data":{"additions":495,"baseRefName":"main","changedFiles":2,"closedAt":"2026-08-19T17:17:51Z","createdAt":"2026-08-04T16:46:20Z","deletions":9,"headRefName":"fix/win-sensitive-path-separators","isDraft":false,"merged":false,"mergedAt":null,"number":78653,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(file-tools): normalize separators for POSIX sensitive-path denylist on Windows","updatedAt":"2026-08-20T16:10:12Z","url":"https://github.com/NousResearch/hermes-agent/pull/78653","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876sOTL","kind":"pull-request","label":"fix(file-safety): refuse writes into git-managed state under .git directories","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T18:00:51Z","updatedAt":"2026-08-31T16:57:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/78806"},"data":{"additions":462,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-04T18:00:51Z","deletions":2,"headRefName":"fix/git-state-write-guard","isDraft":false,"merged":false,"mergedAt":null,"number":78806,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(file-safety): refuse writes into git-managed state under .git directories","updatedAt":"2026-08-31T16:57:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/78806","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876UWFf","kind":"pull-request","label":"feat(desktop): add hermes-achievements as a native desktop plugin","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-04T02:41:23Z","updatedAt":"2026-08-04T03:24:14Z","closedAt":"2026-08-04T03:24:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/78126"},"data":{"additions":706,"baseRefName":"main","changedFiles":9,"closedAt":"2026-08-04T03:24:14Z","createdAt":"2026-08-04T02:41:23Z","deletions":1,"headRefName":"feat/desktop-achievements-plugin","isDraft":false,"merged":false,"mergedAt":null,"number":78126,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(desktop): add hermes-achievements as a native desktop plugin","updatedAt":"2026-08-04T03:24:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/78126","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876uwpt","kind":"pull-request","label":"refactor(telegram): shard adapter.py wave 1 — polling, inbound, delivery, rich mixins (−6,014 lines)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-04T19:37:51Z","updatedAt":"2026-08-05T01:51:04Z","closedAt":"2026-08-05T01:51:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/78866"},"data":{"additions":5354,"baseRefName":"main","changedFiles":6,"closedAt":"2026-08-05T01:51:04Z","createdAt":"2026-08-04T19:37:51Z","deletions":5062,"headRefName":"fix/tg-adapter-shard-wave1","isDraft":false,"merged":false,"mergedAt":null,"number":78866,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"refactor(telegram): shard adapter.py wave 1 — polling, inbound, delivery, rich mixins (−6,014 lines)","updatedAt":"2026-08-05T01:51:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/78866","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876Vs7s","kind":"pull-request","label":"docs(discord): correct Echo Prevention mechanics + Server Members Intent conditional + close env-var docs class (resolves #11349)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T03:54:34Z","updatedAt":"2026-08-06T22:55:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/78164"},"data":{"additions":45,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-04T03:54:34Z","deletions":8,"headRefName":"docs/discord-voice-doc-drift-11349","isDraft":false,"merged":false,"mergedAt":null,"number":78164,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(discord): correct Echo Prevention mechanics + Server Members Intent conditional + close env-var docs class (resolves #11349)","updatedAt":"2026-08-06T22:55:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/78164","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876W9_D","kind":"pull-request","label":"fix(desktop): never replay hydrated session history in auto-speak; lock mute/re-arm semantics","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T05:07:33Z","updatedAt":"2026-08-31T16:57:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/78194"},"data":{"additions":347,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-04T05:07:33Z","deletions":2,"headRefName":"vox/09-desktop-voice","isDraft":false,"merged":false,"mergedAt":null,"number":78194,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): never replay hydrated session history in auto-speak; lock mute/re-arm semantics","updatedAt":"2026-08-31T16:57:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/78194","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876wi02","kind":"pull-request","label":"fix(desktop): treat headless-serve 404 token fetch as benign","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-04T20:48:35Z","updatedAt":"2026-08-04T20:55:17Z","closedAt":"2026-08-04T20:54:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/78902"},"data":{"additions":107,"baseRefName":"main","changedFiles":2,"closedAt":"2026-08-04T20:54:34Z","createdAt":"2026-08-04T20:48:35Z","deletions":0,"headRefName":"fix/desktop-headless-token-adoption","isDraft":false,"merged":false,"mergedAt":null,"number":78902,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): treat headless-serve 404 token fetch as benign","updatedAt":"2026-08-04T20:55:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/78902","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876wi4B","kind":"pull-request","label":"fix(desktop): bound boot retry loop and surface stale .env token hint on WS rejection","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-04T20:48:37Z","updatedAt":"2026-08-04T20:55:13Z","closedAt":"2026-08-04T20:54:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/78903"},"data":{"additions":244,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-04T20:54:36Z","createdAt":"2026-08-04T20:48:37Z","deletions":5,"headRefName":"fix/desktop-boot-token-fastfail","isDraft":false,"merged":false,"mergedAt":null,"number":78903,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): bound boot retry loop and surface stale .env token hint on WS rejection","updatedAt":"2026-08-04T20:55:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/78903","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876wi7V","kind":"pull-request","label":"test(desktop): regression harness for stale .env session-token clobber","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-04T20:48:38Z","updatedAt":"2026-08-04T20:55:09Z","closedAt":"2026-08-04T20:54:38Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/78904"},"data":{"additions":252,"baseRefName":"main","changedFiles":1,"closedAt":"2026-08-04T20:54:38Z","createdAt":"2026-08-04T20:48:38Z","deletions":0,"headRefName":"test-desktop-session-token-class","isDraft":false,"merged":false,"mergedAt":null,"number":78904,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"test(desktop): regression harness for stale .env session-token clobber","updatedAt":"2026-08-04T20:55:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/78904","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876wivL","kind":"pull-request","label":"fix(web): log session-token provenance and hint at stale .env on mismatch","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-04T20:48:33Z","updatedAt":"2026-08-04T20:55:21Z","closedAt":"2026-08-04T20:54:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/78901"},"data":{"additions":223,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-04T20:54:32Z","createdAt":"2026-08-04T20:48:33Z","deletions":0,"headRefName":"fix/desktop-session-token-provenance","isDraft":false,"merged":false,"mergedAt":null,"number":78901,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(web): log session-token provenance and hint at stale .env on mismatch","updatedAt":"2026-08-04T20:55:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/78901","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876Wu30","kind":"pull-request","label":"fix(voice): resolve Porcupine wake-word key through the credential resolver","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T04:54:13Z","updatedAt":"2026-08-31T16:57:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/78191"},"data":{"additions":109,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-04T04:54:13Z","deletions":2,"headRefName":"vox/06-credential-pool","isDraft":false,"merged":false,"mergedAt":null,"number":78191,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(voice): resolve Porcupine wake-word key through the credential resolver","updatedAt":"2026-08-31T16:57:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/78191","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876X7g4","kind":"pull-request","label":"fix(tts): never truncate spoken replies — split long text and scale playback waits","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T05:55:48Z","updatedAt":"2026-08-06T22:56:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/78234"},"data":{"additions":629,"baseRefName":"main","changedFiles":9,"closedAt":null,"createdAt":"2026-08-04T05:55:48Z","deletions":49,"headRefName":"vox/10-tts-streaming","isDraft":false,"merged":false,"mergedAt":null,"number":78234,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tts): never truncate spoken replies — split long text and scale playback waits","updatedAt":"2026-08-06T22:56:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/78234","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876XEvB","kind":"pull-request","label":"fix(gateway): serialize STT/TTS reliability slice behind V6 contract","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T05:13:22Z","updatedAt":"2026-08-30T07:13:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/78196"},"data":{"additions":470,"baseRefName":"main","changedFiles":9,"closedAt":null,"createdAt":"2026-08-04T05:13:22Z","deletions":17,"headRefName":"vox/07-gateway-routing","isDraft":false,"merged":false,"mergedAt":null,"number":78196,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): serialize STT/TTS reliability slice behind V6 contract","updatedAt":"2026-08-30T07:13:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/78196","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876Xm01","kind":"pull-request","label":"test(stt): stabilize idle-timeout progress test against spawn latency (pre-existing flake on Windows + loaded CI)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-04T05:39:11Z","updatedAt":"2026-08-21T16:27:22Z","closedAt":"2026-08-21T16:27:22Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/78221"},"data":{"additions":11,"baseRefName":"main","changedFiles":1,"closedAt":"2026-08-21T16:27:22Z","createdAt":"2026-08-04T05:39:11Z","deletions":4,"headRefName":"vox/11-stt-test-stability","isDraft":false,"merged":false,"mergedAt":null,"number":78221,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"test(stt): stabilize idle-timeout progress test against spawn latency (pre-existing flake on Windows + loaded CI)","updatedAt":"2026-08-21T16:27:22Z","url":"https://github.com/NousResearch/hermes-agent/pull/78221","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876XMov","kind":"pull-request","label":"fix(tts): piper lazy-install parity + probe install-safety + null-config guards","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-04T05:19:40Z","updatedAt":"2026-08-31T16:57:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/78202"},"data":{"additions":480,"baseRefName":"main","changedFiles":14,"closedAt":null,"createdAt":"2026-08-04T05:19:40Z","deletions":20,"headRefName":"vox/05-provider-registry","isDraft":false,"merged":false,"mergedAt":null,"number":78202,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tts): piper lazy-install parity + probe install-safety + null-config guards","updatedAt":"2026-08-31T16:57:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/78202","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876yR6u","kind":"pull-request","label":"fix(cron): bare durations are recurring intervals; coerce repeat string forms","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-04T22:04:29Z","updatedAt":"2026-08-30T02:20:04Z","closedAt":"2026-08-30T02:20:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/78928"},"data":{"additions":95,"baseRefName":"main","changedFiles":5,"closedAt":"2026-08-30T02:20:04Z","createdAt":"2026-08-04T22:04:29Z","deletions":24,"headRefName":"fix/cron-schedule-contract","isDraft":false,"merged":false,"mergedAt":null,"number":78928,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(cron): bare durations are recurring intervals; coerce repeat string forms","updatedAt":"2026-08-30T02:20:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/78928","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G876zH3Y","kind":"pull-request","label":"refactor(telegram): extract DM-topic machinery into TelegramDmTopicMixin (adapter slice A1, −661 lines)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-04T22:50:32Z","updatedAt":"2026-08-05T01:31:38Z","closedAt":"2026-08-05T01:31:38Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/78949"},"data":{"additions":8672,"baseRefName":"main","changedFiles":8,"closedAt":"2026-08-05T01:31:38Z","createdAt":"2026-08-04T22:50:32Z","deletions":8241,"headRefName":"fix/tg-dm-topics-mixin","isDraft":false,"merged":false,"mergedAt":null,"number":78949,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"refactor(telegram): extract DM-topic machinery into TelegramDmTopicMixin (adapter slice A1, −661 lines)","updatedAt":"2026-08-05T01:31:38Z","url":"https://github.com/NousResearch/hermes-agent/pull/78949","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8770Bn2","kind":"pull-request","label":"refactor(auth): extract TLS verification helpers (S3)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-07T00:39:40Z","updatedAt":"2026-08-31T17:00:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80676"},"data":{"additions":97,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-07T00:39:40Z","deletions":41,"headRefName":"gfg/auth-s3-20260806-ship","isDraft":false,"merged":false,"mergedAt":null,"number":80676,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(auth): extract TLS verification helpers (S3)","updatedAt":"2026-08-31T17:00:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/80676","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87738RK","kind":"pull-request","label":"fix(cli): honor --resume/--continue in oneshot (-z) — rebase + real-SQLite coverage","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-07T04:49:10Z","updatedAt":"2026-08-27T14:18:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80799"},"data":{"createdAt":"2026-08-07T04:49:10Z","mergedAt":null,"number":80799,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cli): honor --resume/--continue in oneshot (-z) — rebase + real-SQLite coverage","updatedAt":"2026-08-27T14:18:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/80799"}},{"id":"github:pull-request:PR_kwDOPRF1G87788Ml","kind":"pull-request","label":"fix(security): keep custom endpoint API keys out of config.yaml by using key_env","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-07T08:58:08Z","updatedAt":"2026-08-31T09:24:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80927"},"data":{"createdAt":"2026-08-07T08:58:08Z","mergedAt":null,"number":80927,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): keep custom endpoint API keys out of config.yaml by using key_env","updatedAt":"2026-08-31T09:24:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/80927"}},{"id":"github:pull-request:PR_kwDOPRF1G877AC2B","kind":"pull-request","label":"refactor(tui): move config.set handler into methods_config (server.py god-file slice R4)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T09:49:41Z","updatedAt":"2026-08-15T22:53:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79262"},"data":{"additions":897,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-05T09:49:41Z","deletions":703,"headRefName":"fix/tui-config-set-extract","isDraft":false,"merged":false,"mergedAt":null,"number":79262,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(tui): move config.set handler into methods_config (server.py god-file slice R4)","updatedAt":"2026-08-15T22:53:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/79262","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877AC4q","kind":"pull-request","label":"refactor(tui): extract projects CRUD + repo discovery into methods_projects (server.py god-file slice R5)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T09:49:43Z","updatedAt":"2026-08-15T22:53:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79263"},"data":{"additions":754,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-05T09:49:43Z","deletions":479,"headRefName":"fix/tui-projects-extract","isDraft":false,"merged":false,"mergedAt":null,"number":79263,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(tui): extract projects CRUD + repo discovery into methods_projects (server.py god-file slice R5)","updatedAt":"2026-08-15T22:53:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/79263","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877ACrH","kind":"pull-request","label":"refactor(tui): extract _SlashWorker client + session db into tui_gateway modules (server.py god-file slice R1)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T09:49:34Z","updatedAt":"2026-08-31T16:15:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79259"},"data":{"additions":1090,"baseRefName":"main","changedFiles":5,"closedAt":null,"createdAt":"2026-08-05T09:49:34Z","deletions":351,"headRefName":"fix/tui-slash-worker-extract","isDraft":false,"merged":false,"mergedAt":null,"number":79259,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(tui): extract _SlashWorker client + session db into tui_gateway modules (server.py god-file slice R1)","updatedAt":"2026-08-31T16:15:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/79259","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877ACuT","kind":"pull-request","label":"refactor(tui): extract change watcher into tui_gateway/change_watcher (server.py god-file slice R2)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T09:49:36Z","updatedAt":"2026-08-31T16:57:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79260"},"data":{"additions":486,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-05T09:49:36Z","deletions":246,"headRefName":"fix/tui-change-watcher-extract","isDraft":false,"merged":false,"mergedAt":null,"number":79260,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(tui): extract change watcher into tui_gateway/change_watcher (server.py god-file slice R2)","updatedAt":"2026-08-31T16:57:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/79260","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877ACyY","kind":"pull-request","label":"refactor(tui): extract pet payload into tui_gateway/pet_payload (server.py god-file slice R3)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T09:49:39Z","updatedAt":"2026-08-15T22:53:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79261"},"data":{"additions":757,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-05T09:49:39Z","deletions":294,"headRefName":"fix/tui-pet-payload-extract","isDraft":false,"merged":false,"mergedAt":null,"number":79261,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(tui): extract pet payload into tui_gateway/pet_payload (server.py god-file slice R3)","updatedAt":"2026-08-15T22:53:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/79261","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877brLX","kind":"pull-request","label":"refactor(aux): extract R4-C2 client cache/shutdown slice from auxiliary_client.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:05:01Z","updatedAt":"2026-08-31T16:59:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80042"},"data":{"additions":585,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-06T06:05:01Z","deletions":374,"headRefName":"gfg/aux-r4-cache","isDraft":false,"merged":false,"mergedAt":null,"number":80042,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(aux): extract R4-C2 client cache/shutdown slice from auxiliary_client.py","updatedAt":"2026-08-31T16:59:41Z","url":"https://github.com/NousResearch/hermes-agent/pull/80042","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877brOM","kind":"pull-request","label":"refactor(aux): extract aux streaming cluster into agent/aux_streaming.py (R5 C-B)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:05:03Z","updatedAt":"2026-08-31T16:59:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80043"},"data":{"additions":535,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-06T06:05:03Z","deletions":338,"headRefName":"gfg/aux-r5-streaming","isDraft":false,"merged":false,"mergedAt":null,"number":80043,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(aux): extract aux streaming cluster into agent/aux_streaming.py (R5 C-B)","updatedAt":"2026-08-31T16:59:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/80043","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877cUBW","kind":"pull-request","label":"refactor(aux): extract R1-C11 Bedrock adapter family into bedrock_completions.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:36:50Z","updatedAt":"2026-08-31T16:59:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80115"},"data":{"additions":218,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-06T06:36:50Z","deletions":85,"headRefName":"gfg/aux-r1-bedrock","isDraft":false,"merged":false,"mergedAt":null,"number":80115,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(aux): extract R1-C11 Bedrock adapter family into bedrock_completions.py","updatedAt":"2026-08-31T16:59:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/80115","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877cUEK","kind":"pull-request","label":"refactor(aux): extract R2 error-predicates leaf into auxiliary_client_errors.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T06:36:52Z","updatedAt":"2026-08-15T22:52:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80116"},"data":{"additions":669,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-06T06:36:52Z","deletions":403,"headRefName":"gfg/aux-r2-predicates","isDraft":false,"merged":false,"mergedAt":null,"number":80116,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(aux): extract R2 error-predicates leaf into auxiliary_client_errors.py","updatedAt":"2026-08-15T22:52:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/80116","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877dZc9","kind":"pull-request","label":"refactor(agent): extract anthropic-compat helpers into aux_anthropic_compat (auxiliary_client.py R4-S1)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T07:21:46Z","updatedAt":"2026-08-19T17:43:22Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80139"},"data":{"additions":105,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-06T07:21:46Z","deletions":103,"headRefName":"gfg/aux-extract-r4s1","isDraft":false,"merged":false,"mergedAt":null,"number":80139,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(agent): extract anthropic-compat helpers into aux_anthropic_compat (auxiliary_client.py R4-S1)","updatedAt":"2026-08-19T17:43:22Z","url":"https://github.com/NousResearch/hermes-agent/pull/80139","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877dZfK","kind":"pull-request","label":"refactor(agent): extract extract_content_or_reasoning into auxiliary_text (auxiliary_client.py R5-S1)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T07:21:47Z","updatedAt":"2026-08-19T17:43:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80140"},"data":{"additions":55,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-06T07:21:47Z","deletions":54,"headRefName":"gfg/aux-extract-r5s1","isDraft":false,"merged":false,"mergedAt":null,"number":80140,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(agent): extract extract_content_or_reasoning into auxiliary_text (auxiliary_client.py R5-S1)","updatedAt":"2026-08-19T17:43:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/80140","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877dZYX","kind":"pull-request","label":"refactor(agent): extract fallback policy into auxiliary_fallback_policy (auxiliary_client.py R3-S1)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T07:21:44Z","updatedAt":"2026-08-19T17:44:02Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80138"},"data":{"additions":535,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-06T07:21:44Z","deletions":479,"headRefName":"gfg/aux-extract-r3s1","isDraft":false,"merged":false,"mergedAt":null,"number":80138,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(agent): extract fallback policy into auxiliary_fallback_policy (auxiliary_client.py R3-S1)","updatedAt":"2026-08-19T17:44:02Z","url":"https://github.com/NousResearch/hermes-agent/pull/80138","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877Eu4G","kind":"pull-request","label":"refactor(cli): extract TUI hooks into CLITUIHooksMixin + goal loop into goals.py (cli.py god-file slice R5)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T12:53:43Z","updatedAt":"2026-08-15T22:53:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79366"},"data":{"additions":566,"baseRefName":"main","changedFiles":5,"closedAt":null,"createdAt":"2026-08-05T12:53:43Z","deletions":173,"headRefName":"fix/cli-tui-hooks-extract","isDraft":false,"merged":false,"mergedAt":null,"number":79366,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(cli): extract TUI hooks into CLITUIHooksMixin + goal loop into goals.py (cli.py god-file slice R5)","updatedAt":"2026-08-15T22:53:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/79366","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877Eu8T","kind":"pull-request","label":"refactor(cli): extract modal/confirm machinery into CLIModalConfirmMixin (cli.py god-file slice R3)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T12:53:45Z","updatedAt":"2026-08-15T22:53:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79367"},"data":{"additions":675,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-05T12:53:45Z","deletions":333,"headRefName":"fix/cli-modal-confirm-extract","isDraft":false,"merged":false,"mergedAt":null,"number":79367,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(cli): extract modal/confirm machinery into CLIModalConfirmMixin (cli.py god-file slice R3)","updatedAt":"2026-08-15T22:53:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/79367","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877Euv-","kind":"pull-request","label":"refactor(cli): extract Petdex mascot cluster into CLIPetMixin (cli.py god-file slice R2)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T12:53:41Z","updatedAt":"2026-08-15T22:53:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79365"},"data":{"additions":406,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-05T12:53:41Z","deletions":219,"headRefName":"fix/cli-pet-mixin-extract","isDraft":false,"merged":false,"mergedAt":null,"number":79365,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(cli): extract Petdex mascot cluster into CLIPetMixin (cli.py god-file slice R2)","updatedAt":"2026-08-15T22:53:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/79365","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877EvAW","kind":"pull-request","label":"refactor(cli): extract usage/insights cluster into CLIUsageMixin (cli.py god-file slice R4)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T12:53:47Z","updatedAt":"2026-08-15T22:53:02Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79368"},"data":{"additions":550,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-05T12:53:47Z","deletions":242,"headRefName":"fix/cli-usage-extract","isDraft":false,"merged":false,"mergedAt":null,"number":79368,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(cli): extract usage/insights cluster into CLIUsageMixin (cli.py god-file slice R4)","updatedAt":"2026-08-15T22:53:02Z","url":"https://github.com/NousResearch/hermes-agent/pull/79368","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877FQ5g","kind":"pull-request","label":"refactor(gateway): extract supervision mixin from run.py (shard s3)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T13:11:39Z","updatedAt":"2026-08-31T16:57:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79394"},"data":{"additions":303,"baseRefName":"main","changedFiles":5,"closedAt":null,"createdAt":"2026-08-05T13:11:39Z","deletions":94,"headRefName":"gfg/run-extract-s3-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79394,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract supervision mixin from run.py (shard s3)","updatedAt":"2026-08-31T16:57:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/79394","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877FQi2","kind":"pull-request","label":"refactor(gateway): extract session-hygiene + restart mixins from run.py (shard s1)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T13:11:28Z","updatedAt":"2026-08-31T16:57:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79392"},"data":{"additions":284,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-05T13:11:28Z","deletions":64,"headRefName":"gfg/run-extract-s1-w1b","isDraft":false,"merged":false,"mergedAt":null,"number":79392,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract session-hygiene + restart mixins from run.py (shard s1)","updatedAt":"2026-08-31T16:57:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/79392","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877FQtI","kind":"pull-request","label":"refactor(gateway): extract session-config + telegram-topics mixins from run.py (shard s2)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T13:11:34Z","updatedAt":"2026-08-31T16:57:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79393"},"data":{"additions":1353,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-05T13:11:34Z","deletions":916,"headRefName":"gfg/run-extract-s2-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79393,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract session-config + telegram-topics mixins from run.py (shard s2)","updatedAt":"2026-08-31T16:57:56Z","url":"https://github.com/NousResearch/hermes-agent/pull/79393","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877FRFG","kind":"pull-request","label":"refactor(gateway): extract thread-metadata mixin from run.py (shard s4)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T13:11:45Z","updatedAt":"2026-08-31T16:58:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79395"},"data":{"additions":236,"baseRefName":"main","changedFiles":5,"closedAt":null,"createdAt":"2026-08-05T13:11:45Z","deletions":63,"headRefName":"gfg/run-extract-s4-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79395,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract thread-metadata mixin from run.py (shard s4)","updatedAt":"2026-08-31T16:58:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/79395","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877FRQn","kind":"pull-request","label":"refactor(gateway): extract agent-cache/proxy/generation mixins from run.py (shard s5)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T13:11:50Z","updatedAt":"2026-08-31T16:58:02Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79396"},"data":{"additions":2756,"baseRefName":"main","changedFiles":11,"closedAt":null,"createdAt":"2026-08-05T13:11:50Z","deletions":2169,"headRefName":"gfg/run-extract-s5-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79396,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract agent-cache/proxy/generation mixins from run.py (shard s5)","updatedAt":"2026-08-31T16:58:02Z","url":"https://github.com/NousResearch/hermes-agent/pull/79396","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877jkCj","kind":"pull-request","label":"fix(browser): recover Camofox stale tabs on HTTP 410 Gone","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-06T11:20:23Z","updatedAt":"2026-08-29T08:13:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80298"},"data":{"createdAt":"2026-08-06T11:20:23Z","mergedAt":null,"number":80298,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(browser): recover Camofox stale tabs on HTTP 410 Gone","updatedAt":"2026-08-29T08:13:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/80298"}},{"id":"github:pull-request:PR_kwDOPRF1G877jt5r","kind":"pull-request","label":"refactor(slack): extract file-download slice into SlackFileDownloadMixin (adapter.py large-file slice R5-C5, tracker #78647)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T11:26:58Z","updatedAt":"2026-08-15T22:52:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80303"},"data":{"additions":435,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-06T11:26:58Z","deletions":197,"headRefName":"gfg/slack-r5c5-file-download","isDraft":false,"merged":false,"mergedAt":null,"number":80303,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(slack): extract file-download slice into SlackFileDownloadMixin (adapter.py large-file slice R5-C5, tracker #78647)","updatedAt":"2026-08-15T22:52:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/80303","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877kdQP","kind":"pull-request","label":"refactor(state): extract RowID/Role cluster into hermes_state_rowid.py (R4-C5)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T11:57:11Z","updatedAt":"2026-08-31T16:59:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80315"},"data":{"additions":201,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-06T11:57:11Z","deletions":61,"headRefName":"gfg/hs-r4c5-rowid","isDraft":false,"merged":false,"mergedAt":null,"number":80315,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(state): extract RowID/Role cluster into hermes_state_rowid.py (R4-C5)","updatedAt":"2026-08-31T16:59:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/80315","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877M0ex","kind":"pull-request","label":"refactor(agent): extract activity/memory/sanitization mixins from run_agent.py (shard s3)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T17:28:51Z","updatedAt":"2026-08-31T16:58:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79549"},"data":{"additions":1699,"baseRefName":"main","changedFiles":10,"closedAt":null,"createdAt":"2026-08-05T17:28:51Z","deletions":1028,"headRefName":"gfg/runagent-extract-s3-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79549,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(agent): extract activity/memory/sanitization mixins from run_agent.py (shard s3)","updatedAt":"2026-08-31T16:58:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/79549","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877M0K3","kind":"pull-request","label":"refactor(agent): extract session/error-handling mixins from run_agent.py (shard s2)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T17:28:39Z","updatedAt":"2026-08-31T16:58:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79548"},"data":{"additions":1272,"baseRefName":"main","changedFiles":11,"closedAt":null,"createdAt":"2026-08-05T17:28:39Z","deletions":760,"headRefName":"gfg/runagent-extract-s2-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79548,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(agent): extract session/error-handling mixins from run_agent.py (shard s2)","updatedAt":"2026-08-31T16:58:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/79548","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877M0zk","kind":"pull-request","label":"refactor(agent): extract request-client mixins from run_agent.py (shard s4)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T17:29:03Z","updatedAt":"2026-08-31T16:58:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79550"},"data":{"additions":883,"baseRefName":"main","changedFiles":8,"closedAt":null,"createdAt":"2026-08-05T17:29:03Z","deletions":477,"headRefName":"gfg/runagent-extract-s4-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79550,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(agent): extract request-client mixins from run_agent.py (shard s4)","updatedAt":"2026-08-31T16:58:11Z","url":"https://github.com/NousResearch/hermes-agent/pull/79550","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877M2vg","kind":"pull-request","label":"refactor(agent): extract reasoning-echo + tool-execution mixins from run_agent.py (shard s5)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T17:30:10Z","updatedAt":"2026-08-31T16:58:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79551"},"data":{"additions":487,"baseRefName":"main","changedFiles":8,"closedAt":null,"createdAt":"2026-08-05T17:30:10Z","deletions":223,"headRefName":"gfg/runagent-extract-s5-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79551,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(agent): extract reasoning-echo + tool-execution mixins from run_agent.py (shard s5)","updatedAt":"2026-08-31T16:58:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/79551","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877Mz5-","kind":"pull-request","label":"refactor(agent): extract model-routing + retry-status mixins from run_agent.py (shard s1)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T17:28:28Z","updatedAt":"2026-08-31T16:58:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79547"},"data":{"additions":438,"baseRefName":"main","changedFiles":7,"closedAt":null,"createdAt":"2026-08-05T17:28:28Z","deletions":178,"headRefName":"gfg/runagent-extract-s1-w1b","isDraft":false,"merged":false,"mergedAt":null,"number":79547,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(agent): extract model-routing + retry-status mixins from run_agent.py (shard s1)","updatedAt":"2026-08-31T16:58:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/79547","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877ndrQ","kind":"pull-request","label":"refactor(state): extract title cluster into hermes_state_title.py (R3, tracker #78647)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T13:47:16Z","updatedAt":"2026-08-15T22:51:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80363"},"data":{"additions":407,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-06T13:47:16Z","deletions":176,"headRefName":"gfg/hs-r3-title-slice","isDraft":false,"merged":false,"mergedAt":null,"number":80363,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(state): extract title cluster into hermes_state_title.py (R3, tracker #78647)","updatedAt":"2026-08-15T22:51:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/80363","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877nzge","kind":"pull-request","label":"refactor(state): extract gateway routing CRUD into hermes_state_gateway_routing.py (hermes_state.py slice R2-S1, tracker #78647)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T13:58:19Z","updatedAt":"2026-08-31T16:59:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80370"},"data":{"additions":217,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-06T13:58:19Z","deletions":77,"headRefName":"gfg/hs-r2-s1","isDraft":false,"merged":false,"mergedAt":null,"number":80370,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(state): extract gateway routing CRUD into hermes_state_gateway_routing.py (hermes_state.py slice R2-S1, tracker #78647)","updatedAt":"2026-08-31T16:59:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/80370","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877nzqs","kind":"pull-request","label":"refactor(state): extract title cluster into hermes_state_title.py (hermes_state.py slice R3-C9, epic #78647)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-06T13:58:24Z","updatedAt":"2026-08-06T15:31:11Z","closedAt":"2026-08-06T15:31:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80371"},"data":{"additions":368,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-06T15:31:11Z","createdAt":"2026-08-06T13:58:24Z","deletions":175,"headRefName":"gfg/hs-r3-c9","isDraft":false,"merged":false,"mergedAt":null,"number":80371,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"refactor(state): extract title cluster into hermes_state_title.py (hermes_state.py slice R3-C9, epic #78647)","updatedAt":"2026-08-06T15:31:11Z","url":"https://github.com/NousResearch/hermes-agent/pull/80371","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877nzvU","kind":"pull-request","label":"refactor(state): extract AsyncSessionDB facade into hermes_state_async.py (hermes_state.py slice R5-C9, tracker #78647)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T13:58:26Z","updatedAt":"2026-08-31T16:59:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80373"},"data":{"additions":130,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-06T13:58:26Z","deletions":17,"headRefName":"gfg/hs-r5c9-async","isDraft":false,"merged":false,"mergedAt":null,"number":80373,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(state): extract AsyncSessionDB facade into hermes_state_async.py (hermes_state.py slice R5-C9, tracker #78647)","updatedAt":"2026-08-31T16:59:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/80373","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877ok8o","kind":"pull-request","label":"feat(docs): gate the top 10 non-English root-doc locales; germinate French","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T14:22:01Z","updatedAt":"2026-08-26T12:30:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80391"},"data":{"additions":2941,"baseRefName":"main","changedFiles":8,"closedAt":null,"createdAt":"2026-08-06T14:22:01Z","deletions":0,"headRefName":"docs/i18n-germination","isDraft":false,"merged":false,"mergedAt":null,"number":80391,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(docs): gate the top 10 non-English root-doc locales; germinate French","updatedAt":"2026-08-26T12:30:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/80391","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877Om0h","kind":"pull-request","label":"refactor(gateway): extract streaming-TTS + text-debounce mixins from base.py (shard s4)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T18:39:46Z","updatedAt":"2026-08-31T16:58:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79596"},"data":{"additions":591,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-05T18:39:46Z","deletions":237,"headRefName":"gfg/base-extract-s4-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79596,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract streaming-TTS + text-debounce mixins from base.py (shard s4)","updatedAt":"2026-08-31T16:58:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/79596","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877OmAc","kind":"pull-request","label":"refactor(gateway): extract proxy/text/media mixins from base.py (shard s1)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T18:39:14Z","updatedAt":"2026-08-31T16:58:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79593"},"data":{"additions":767,"baseRefName":"main","changedFiles":7,"closedAt":null,"createdAt":"2026-08-05T18:39:14Z","deletions":390,"headRefName":"gfg/base-extract-s1-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79593,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract proxy/text/media mixins from base.py (shard s1)","updatedAt":"2026-08-31T16:58:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/79593","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877OmkH","kind":"pull-request","label":"refactor(gateway): extract stream-rendering + prompt-formatting mixins from base.py (shard s3)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T18:39:35Z","updatedAt":"2026-08-31T16:58:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79595"},"data":{"additions":880,"baseRefName":"main","changedFiles":9,"closedAt":null,"createdAt":"2026-08-05T18:39:35Z","deletions":428,"headRefName":"gfg/base-extract-s3-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79595,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract stream-rendering + prompt-formatting mixins from base.py (shard s3)","updatedAt":"2026-08-31T16:58:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/79595","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877OmTc","kind":"pull-request","label":"refactor(gateway): extract document-cache + send-error mixins from base.py (shard s2)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T18:39:25Z","updatedAt":"2026-08-31T16:58:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79594"},"data":{"additions":780,"baseRefName":"main","changedFiles":8,"closedAt":null,"createdAt":"2026-08-05T18:39:25Z","deletions":297,"headRefName":"gfg/base-extract-s2-w1b","isDraft":false,"merged":false,"mergedAt":null,"number":79594,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract document-cache + send-error mixins from base.py (shard s2)","updatedAt":"2026-08-31T16:58:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/79594","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877OnGD","kind":"pull-request","label":"refactor(gateway): extract topic-session helpers from base.py (shard s5)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T18:39:56Z","updatedAt":"2026-08-31T16:58:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79597"},"data":{"additions":294,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-05T18:39:56Z","deletions":98,"headRefName":"gfg/base-extract-s5-w1b","isDraft":false,"merged":false,"mergedAt":null,"number":79597,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract topic-session helpers from base.py (shard s5)","updatedAt":"2026-08-31T16:58:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/79597","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877Pa8X","kind":"pull-request","label":"refactor(kanban): extract txn/task-link mixins from kanban_db.py (shard s2)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T19:08:20Z","updatedAt":"2026-08-31T16:58:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79614"},"data":{"additions":1570,"baseRefName":"main","changedFiles":8,"closedAt":null,"createdAt":"2026-08-05T19:08:20Z","deletions":1020,"headRefName":"gfg/kanban-extract-s2-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79614,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(kanban): extract txn/task-link mixins from kanban_db.py (shard s2)","updatedAt":"2026-08-31T16:58:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/79614","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877Pau0","kind":"pull-request","label":"refactor(kanban): extract board-path/integrity/policy mixins from kanban_db.py (shard s1)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T19:08:11Z","updatedAt":"2026-08-31T16:58:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79613"},"data":{"additions":1203,"baseRefName":"main","changedFiles":10,"closedAt":null,"createdAt":"2026-08-05T19:08:11Z","deletions":692,"headRefName":"gfg/kanban-extract-s1-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79613,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(kanban): extract board-path/integrity/policy mixins from kanban_db.py (shard s1)","updatedAt":"2026-08-31T16:58:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/79613","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877PbfL","kind":"pull-request","label":"refactor(kanban): extract workspace/worker mixins from kanban_db.py (shard s4)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T19:08:40Z","updatedAt":"2026-08-31T16:58:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79616"},"data":{"additions":1727,"baseRefName":"main","changedFiles":12,"closedAt":null,"createdAt":"2026-08-05T19:08:40Z","deletions":789,"headRefName":"gfg/kanban-extract-s4-w1b","isDraft":false,"merged":false,"mergedAt":null,"number":79616,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(kanban): extract workspace/worker mixins from kanban_db.py (shard s4)","updatedAt":"2026-08-31T16:58:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/79616","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877PbPj","kind":"pull-request","label":"refactor(kanban): extract ready-promotion + triage mixins from kanban_db.py (shard s3)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T19:08:31Z","updatedAt":"2026-08-31T16:58:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79615"},"data":{"additions":590,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-05T19:08:31Z","deletions":288,"headRefName":"gfg/kanban-extract-s3-w1b","isDraft":false,"merged":false,"mergedAt":null,"number":79615,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(kanban): extract ready-promotion + triage mixins from kanban_db.py (shard s3)","updatedAt":"2026-08-31T16:58:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/79615","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877PBQZ","kind":"pull-request","label":"feat(skills): add the large-file decomposition feature package skill (5x2x3 blind-witness decomposition)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T18:54:29Z","updatedAt":"2026-08-15T22:53:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79609"},"data":{"additions":2918,"baseRefName":"main","changedFiles":29,"closedAt":null,"createdAt":"2026-08-05T18:54:29Z","deletions":0,"headRefName":"gfg/skill-godfile-kill-campaigns","isDraft":false,"merged":false,"mergedAt":null,"number":79609,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(skills): add the large-file decomposition feature package skill (5x2x3 blind-witness decomposition)","updatedAt":"2026-08-15T22:53:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/79609","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877Pbt9","kind":"pull-request","label":"refactor(kanban): extract notify-subs + worker-spawn mixins from kanban_db.py (shard s5)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T19:08:48Z","updatedAt":"2026-08-31T16:58:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79617"},"data":{"additions":1004,"baseRefName":"main","changedFiles":7,"closedAt":null,"createdAt":"2026-08-05T19:08:48Z","deletions":539,"headRefName":"gfg/kanban-extract-s5-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79617,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(kanban): extract notify-subs + worker-spawn mixins from kanban_db.py (shard s5)","updatedAt":"2026-08-31T16:58:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/79617","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877qc6c","kind":"pull-request","label":"refactor(auth): extract SSH/browser helpers into auth_browser_helpers (s2)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T15:24:00Z","updatedAt":"2026-08-31T16:59:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80428"},"data":{"additions":402,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-06T15:24:00Z","deletions":157,"headRefName":"gfg/auth-s2-browser","isDraft":false,"merged":false,"mergedAt":null,"number":80428,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(auth): extract SSH/browser helpers into auth_browser_helpers (s2)","updatedAt":"2026-08-31T16:59:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/80428","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877qIqT","kind":"pull-request","label":"fix(delegation): honor delegation.fallback_providers for child agents","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T15:12:15Z","updatedAt":"2026-08-17T18:47:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80421"},"data":{"additions":153,"baseRefName":"main","changedFiles":7,"closedAt":null,"createdAt":"2026-08-06T15:12:15Z","deletions":19,"headRefName":"fix/delegation-fallback-providers-65038","isDraft":false,"merged":false,"mergedAt":null,"number":80421,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(delegation): honor delegation.fallback_providers for child agents","updatedAt":"2026-08-17T18:47:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/80421","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877qrrh","kind":"pull-request","label":"feat(skills): add xai-grok-dev skill for Grok/xAI parity Feature Package","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T15:32:38Z","updatedAt":"2026-08-15T18:24:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80434"},"data":{"additions":101,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-06T15:32:38Z","deletions":0,"headRefName":"xai/campaign-skill-xai-grok-dev","isDraft":false,"merged":false,"mergedAt":null,"number":80434,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(skills): add xai-grok-dev skill for Grok/xAI parity Feature Package","updatedAt":"2026-08-15T18:24:24Z","url":"https://github.com/NousResearch/hermes-agent/pull/80434","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877ScKK","kind":"pull-request","label":"refactor(tui): extract s4 union (attachments_mixin + billing_wire_mixin) from server.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T21:11:32Z","updatedAt":"2026-08-06T01:40:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79670"},"data":{"additions":688,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-05T21:11:32Z","deletions":377,"headRefName":"gfg/tui-extract-s4-w1b","isDraft":false,"merged":false,"mergedAt":null,"number":79670,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(tui): extract s4 union (attachments_mixin + billing_wire_mixin) from server.py","updatedAt":"2026-08-06T01:40:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/79670","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877Sddj","kind":"pull-request","label":"refactor(tui): extract cwd-compute/session mixins from tui_server (shard s1)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T21:12:32Z","updatedAt":"2026-08-31T16:58:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79672"},"data":{"additions":851,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-05T21:12:32Z","deletions":488,"headRefName":"gfg/tui-extract-s1-w1b","isDraft":false,"merged":false,"mergedAt":null,"number":79672,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(tui): extract cwd-compute/session mixins from tui_server (shard s1)","updatedAt":"2026-08-31T16:58:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/79672","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877Sdgg","kind":"pull-request","label":"refactor(tui): extract shard s2 mixins from tui_server","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T21:12:34Z","updatedAt":"2026-08-31T16:58:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79673"},"data":{"additions":1014,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-05T21:12:34Z","deletions":579,"headRefName":"gfg/tui-extract-s2-w1b","isDraft":false,"merged":false,"mergedAt":null,"number":79673,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(tui): extract shard s2 mixins from tui_server","updatedAt":"2026-08-31T16:58:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/79673","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877Sdja","kind":"pull-request","label":"refactor(tui): extract shard s3 mixins from tui_server","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T21:12:36Z","updatedAt":"2026-08-31T16:58:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79674"},"data":{"additions":968,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-05T21:12:36Z","deletions":672,"headRefName":"gfg/tui-extract-s3-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79674,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(tui): extract shard s3 mixins from tui_server","updatedAt":"2026-08-31T16:58:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/79674","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877Sdl_","kind":"pull-request","label":"refactor(tui): extract projects/slash-mirror split mixins from tui_server (shard s5)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T21:12:38Z","updatedAt":"2026-08-31T16:58:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79675"},"data":{"additions":711,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-05T21:12:38Z","deletions":434,"headRefName":"gfg/tui-extract-s5-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79675,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(tui): extract projects/slash-mirror split mixins from tui_server (shard s5)","updatedAt":"2026-08-31T16:58:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/79675","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877SONB","kind":"pull-request","label":"refactor(discord): extract VoiceReceiver into voice_receiver (adapter.py god-file slice R1)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T21:02:27Z","updatedAt":"2026-08-31T16:58:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79650"},"data":{"additions":814,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-05T21:02:27Z","deletions":388,"headRefName":"fix/dc-voice-receiver","isDraft":false,"merged":false,"mergedAt":null,"number":79650,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(discord): extract VoiceReceiver into voice_receiver (adapter.py god-file slice R1)","updatedAt":"2026-08-31T16:58:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/79650","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877SOQT","kind":"pull-request","label":"refactor(discord): extract recovery backfill + reaction hooks into DiscordRecoveryBackfillMixin (adapter.py god-file slice R2)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T21:02:29Z","updatedAt":"2026-08-31T16:58:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79651"},"data":{"additions":1183,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-05T21:02:29Z","deletions":707,"headRefName":"fix/dc-recovery-backfill","isDraft":false,"merged":false,"mergedAt":null,"number":79651,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(discord): extract recovery backfill + reaction hooks into DiscordRecoveryBackfillMixin (adapter.py god-file slice R2)","updatedAt":"2026-08-31T16:58:41Z","url":"https://github.com/NousResearch/hermes-agent/pull/79651","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877SOSt","kind":"pull-request","label":"refactor(discord): extract media send + typing into DiscordMediaSendMixin (adapter.py god-file slice R3)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T21:02:31Z","updatedAt":"2026-08-31T16:15:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79652"},"data":{"additions":666,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-05T21:02:31Z","deletions":270,"headRefName":"fix/dc-media-mixin","isDraft":false,"merged":false,"mergedAt":null,"number":79652,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(discord): extract media send + typing into DiscordMediaSendMixin (adapter.py god-file slice R3)","updatedAt":"2026-08-31T16:15:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/79652","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877SOVw","kind":"pull-request","label":"refactor(discord): extract gate & mention policy into DiscordGateMixin (adapter.py god-file slice R4)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T21:02:33Z","updatedAt":"2026-08-31T16:58:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79653"},"data":{"additions":588,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-05T21:02:33Z","deletions":352,"headRefName":"fix/dc-gate-mixin","isDraft":false,"merged":false,"mergedAt":null,"number":79653,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(discord): extract gate & mention policy into DiscordGateMixin (adapter.py god-file slice R4)","updatedAt":"2026-08-31T16:58:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/79653","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877SOYd","kind":"pull-request","label":"refactor(discord): extract standalone REST sender into standalone_send (adapter.py god-file slice R5)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T21:02:35Z","updatedAt":"2026-08-31T16:15:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79654"},"data":{"additions":863,"baseRefName":"main","changedFiles":7,"closedAt":null,"createdAt":"2026-08-05T21:02:35Z","deletions":397,"headRefName":"fix/dc-standalone-send","isDraft":false,"merged":false,"mergedAt":null,"number":79654,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(discord): extract standalone REST sender into standalone_send (adapter.py god-file slice R5)","updatedAt":"2026-08-31T16:15:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/79654","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877ST4G","kind":"pull-request","label":"refactor(main): extract shard s2 union (aux_config_cmd + model_picker) from main.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T21:05:51Z","updatedAt":"2026-08-06T02:02:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79659"},"data":{"additions":1029,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-05T21:05:51Z","deletions":859,"headRefName":"gfg/main-extract-s2-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79659,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(main): extract shard s2 union (aux_config_cmd + model_picker) from main.py","updatedAt":"2026-08-06T02:02:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/79659","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877STkw","kind":"pull-request","label":"refactor(main): extract shard s1 union (tui_launch + bundled_skills_sync) from main.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T21:05:41Z","updatedAt":"2026-08-06T02:02:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79658"},"data":{"additions":1375,"baseRefName":"main","changedFiles":7,"closedAt":null,"createdAt":"2026-08-05T21:05:41Z","deletions":783,"headRefName":"gfg/main-extract-s1-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79658,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(main): extract shard s1 union (tui_launch + bundled_skills_sync) from main.py","updatedAt":"2026-08-06T02:02:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/79658","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877SUaS","kind":"pull-request","label":"refactor(main): extract shard s4 union (update_recovery + win_quarantine) from main.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T21:06:10Z","updatedAt":"2026-08-06T22:56:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79661"},"data":{"additions":896,"baseRefName":"main","changedFiles":7,"closedAt":null,"createdAt":"2026-08-05T21:06:10Z","deletions":520,"headRefName":"gfg/main-extract-s4-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79661,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(main): extract shard s4 union (update_recovery + win_quarantine) from main.py","updatedAt":"2026-08-06T22:56:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/79661","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877SUJy","kind":"pull-request","label":"refactor(cli): extract web-UI build and PE-integrity helpers from hermes_cli/main.py (shard s3)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T21:06:00Z","updatedAt":"2026-08-06T02:02:02Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79660"},"data":{"additions":1134,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-05T21:06:00Z","deletions":798,"headRefName":"gfg/main-extract-s3-w1b","isDraft":false,"merged":false,"mergedAt":null,"number":79660,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(cli): extract web-UI build and PE-integrity helpers from hermes_cli/main.py (shard s3)","updatedAt":"2026-08-06T02:02:02Z","url":"https://github.com/NousResearch/hermes-agent/pull/79660","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877SUqp","kind":"pull-request","label":"refactor(main): extract shard s5 union (agent_startup + cli_discovery) from main.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T21:06:19Z","updatedAt":"2026-08-05T22:55:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79662"},"data":{"additions":787,"baseRefName":"main","changedFiles":7,"closedAt":null,"createdAt":"2026-08-05T21:06:19Z","deletions":274,"headRefName":"gfg/main-extract-s5-w1b","isDraft":false,"merged":false,"mergedAt":null,"number":79662,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(main): extract shard s5 union (agent_startup + cli_discovery) from main.py","updatedAt":"2026-08-05T22:55:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/79662","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877Trch","kind":"pull-request","label":"refactor(cli): extract shard s1 union (worktree_mixin + attachments + content_scrub) from cli.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T22:07:43Z","updatedAt":"2026-08-31T16:58:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79706"},"data":{"additions":1947,"baseRefName":"main","changedFiles":11,"closedAt":null,"createdAt":"2026-08-05T22:07:43Z","deletions":1360,"headRefName":"gfg/cli-extract-s1-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79706,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(cli): extract shard s1 union (worktree_mixin + attachments + content_scrub) from cli.py","updatedAt":"2026-08-31T16:58:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/79706","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877Ttc6","kind":"pull-request","label":"refactor(cli): extract modal-prompts/voice mixins from cli.py (shard s4)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T22:09:01Z","updatedAt":"2026-08-31T16:58:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79710"},"data":{"additions":1898,"baseRefName":"main","changedFiles":5,"closedAt":null,"createdAt":"2026-08-05T22:09:01Z","deletions":1279,"headRefName":"gfg/cli-extract-s4-w1b","isDraft":false,"merged":false,"mergedAt":null,"number":79710,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(cli): extract modal-prompts/voice mixins from cli.py (shard s4)","updatedAt":"2026-08-31T16:58:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/79710","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877Ttmy","kind":"pull-request","label":"refactor(cli): extract tui-layout/kanban-goal mixins from cli.py (shard s5)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T22:09:06Z","updatedAt":"2026-08-31T16:59:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79711"},"data":{"additions":499,"baseRefName":"main","changedFiles":5,"closedAt":null,"createdAt":"2026-08-05T22:09:06Z","deletions":165,"headRefName":"gfg/cli-extract-s5-w1b","isDraft":false,"merged":false,"mergedAt":null,"number":79711,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(cli): extract tui-layout/kanban-goal mixins from cli.py (shard s5)","updatedAt":"2026-08-31T16:59:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/79711","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877TtTo","kind":"pull-request","label":"refactor(cli): extract status-bar/skill-command mixins from cli.py (shard s2)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T22:08:55Z","updatedAt":"2026-08-31T16:16:02Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79708"},"data":{"additions":1104,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-05T22:08:55Z","deletions":835,"headRefName":"gfg/cli-extract-s2-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79708,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(cli): extract status-bar/skill-command mixins from cli.py (shard s2)","updatedAt":"2026-08-31T16:16:02Z","url":"https://github.com/NousResearch/hermes-agent/pull/79708","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877TtWZ","kind":"pull-request","label":"refactor(cli): extract modal-confirm/model-switch mixins from cli.py (shard s3, c12 repair)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T22:08:57Z","updatedAt":"2026-08-31T16:58:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79709"},"data":{"additions":1356,"baseRefName":"main","changedFiles":5,"closedAt":null,"createdAt":"2026-08-05T22:08:57Z","deletions":1003,"headRefName":"gfg/cli-extract-s3-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79709,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(cli): extract modal-confirm/model-switch mixins from cli.py (shard s3, c12 repair)","updatedAt":"2026-08-31T16:58:56Z","url":"https://github.com/NousResearch/hermes-agent/pull/79709","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877Ty-k","kind":"pull-request","label":"refactor(slack): extract reaction hooks into SlackReactionHooksMixin (adapter.py god-file slice R3)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T22:12:40Z","updatedAt":"2026-08-15T22:52:37Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79713"},"data":{"additions":374,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-05T22:12:40Z","deletions":72,"headRefName":"fix/sl-reaction-hooks","isDraft":false,"merged":false,"mergedAt":null,"number":79713,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(slack): extract reaction hooks into SlackReactionHooksMixin (adapter.py god-file slice R3)","updatedAt":"2026-08-15T22:52:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/79713","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877Ty6w","kind":"pull-request","label":"refactor(slack): extract markdown table helpers into markdown_table_helpers (adapter.py god-file slice R1)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T22:12:37Z","updatedAt":"2026-08-15T22:52:38Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79712"},"data":{"additions":252,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-05T22:12:37Z","deletions":112,"headRefName":"fix/sl-markdown-helpers","isDraft":false,"merged":false,"mergedAt":null,"number":79712,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(slack): extract markdown table helpers into markdown_table_helpers (adapter.py god-file slice R1)","updatedAt":"2026-08-15T22:52:38Z","url":"https://github.com/NousResearch/hermes-agent/pull/79712","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877TzBI","kind":"pull-request","label":"refactor(slack): extract gate & mention policy into SlackGateMixin (adapter.py god-file slice R5)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T22:12:42Z","updatedAt":"2026-08-15T22:52:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79714"},"data":{"additions":439,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-05T22:12:42Z","deletions":237,"headRefName":"fix/sl-gate-mixin","isDraft":false,"merged":false,"mergedAt":null,"number":79714,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(slack): extract gate & mention policy into SlackGateMixin (adapter.py god-file slice R5)","updatedAt":"2026-08-15T22:52:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/79714","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877u5NR","kind":"pull-request","label":"test(tui): shard tui gateway test suite s1 clusters (tests/test_tui_gateway_server.py, tracker #78647)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T19:09:35Z","updatedAt":"2026-08-31T16:16:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80537"},"data":{"additions":191,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-06T19:09:35Z","deletions":142,"headRefName":"gfg/tui-test-r1-w1-20260806","isDraft":false,"merged":false,"mergedAt":null,"number":80537,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"test(tui): shard tui gateway test suite s1 clusters (tests/test_tui_gateway_server.py, tracker #78647)","updatedAt":"2026-08-31T16:16:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/80537","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877u5Pa","kind":"pull-request","label":"test(tui): shard tui gateway test suite s2 clusters (tests/test_tui_gateway_server.py, tracker #78647)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T19:09:36Z","updatedAt":"2026-08-31T16:41:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80538"},"data":{"additions":272,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-06T19:09:36Z","deletions":202,"headRefName":"gfg/tui-test-r2-w1-20260806","isDraft":false,"merged":false,"mergedAt":null,"number":80538,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"test(tui): shard tui gateway test suite s2 clusters (tests/test_tui_gateway_server.py, tracker #78647)","updatedAt":"2026-08-31T16:41:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/80538","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877u5Rc","kind":"pull-request","label":"test(tui): shard tui gateway test suite s3 clusters (tests/test_tui_gateway_server.py, tracker #78647)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T19:09:38Z","updatedAt":"2026-08-31T16:16:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80539"},"data":{"additions":200,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-06T19:09:38Z","deletions":112,"headRefName":"gfg/tui-test-r3-w1-20260806","isDraft":false,"merged":false,"mergedAt":null,"number":80539,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"test(tui): shard tui gateway test suite s3 clusters (tests/test_tui_gateway_server.py, tracker #78647)","updatedAt":"2026-08-31T16:16:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/80539","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877u5UF","kind":"pull-request","label":"test(tui): shard tui gateway test suite s4 clusters (tests/test_tui_gateway_server.py, tracker #78647)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T19:09:40Z","updatedAt":"2026-08-31T16:59:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80540"},"data":{"additions":196,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-06T19:09:40Z","deletions":127,"headRefName":"gfg/tui-test-r4-w1-20260806","isDraft":false,"merged":false,"mergedAt":null,"number":80540,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"test(tui): shard tui gateway test suite s4 clusters (tests/test_tui_gateway_server.py, tracker #78647)","updatedAt":"2026-08-31T16:59:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/80540","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877u5WP","kind":"pull-request","label":"test(tui): shard tui gateway test suite s5 clusters (tests/test_tui_gateway_server.py, tracker #78647)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T19:09:41Z","updatedAt":"2026-08-31T16:59:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80541"},"data":{"additions":456,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-06T19:09:41Z","deletions":421,"headRefName":"gfg/tui-test-r5-w1-20260806","isDraft":false,"merged":false,"mergedAt":null,"number":80541,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"test(tui): shard tui gateway test suite s5 clusters (tests/test_tui_gateway_server.py, tracker #78647)","updatedAt":"2026-08-31T16:59:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/80541","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877Vd-1","kind":"pull-request","label":"refactor(web): extract custom-endpoints/onboarding mixins from web_server.py (shard s3, LateState fix)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T23:49:03Z","updatedAt":"2026-08-31T16:59:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79776"},"data":{"additions":1603,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-05T23:49:03Z","deletions":1153,"headRefName":"gfg/webserver-extract-s3-w1b","isDraft":false,"merged":false,"mergedAt":null,"number":79776,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(web): extract custom-endpoints/onboarding mixins from web_server.py (shard s3, LateState fix)","updatedAt":"2026-08-31T16:59:11Z","url":"https://github.com/NousResearch/hermes-agent/pull/79776","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877Vd73","kind":"pull-request","label":"refactor(web): extract files/fs mixins from web_server.py (shard s1)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T23:49:00Z","updatedAt":"2026-08-31T16:59:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79774"},"data":{"additions":1818,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-05T23:49:00Z","deletions":1621,"headRefName":"gfg/webserver-extract-s1-w1b","isDraft":false,"merged":false,"mergedAt":null,"number":79774,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(web): extract files/fs mixins from web_server.py (shard s1)","updatedAt":"2026-08-31T16:59:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/79774","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877Vd9N","kind":"pull-request","label":"refactor(web): extract memory-provider mixins from web_server.py (shard s2, logger/_impl fixes)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T23:49:02Z","updatedAt":"2026-08-31T16:59:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79775"},"data":{"additions":1928,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-05T23:49:02Z","deletions":1320,"headRefName":"gfg/webserver-extract-s2-w1b","isDraft":false,"merged":false,"mergedAt":null,"number":79775,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(web): extract memory-provider mixins from web_server.py (shard s2, logger/_impl fixes)","updatedAt":"2026-08-31T16:59:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/79775","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877VeCQ","kind":"pull-request","label":"refactor(web): extract ops/hooks/webhooks/pairing mixins from web_server.py (shard s4)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T23:49:04Z","updatedAt":"2026-08-31T16:59:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79777"},"data":{"additions":1862,"baseRefName":"main","changedFiles":9,"closedAt":null,"createdAt":"2026-08-05T23:49:04Z","deletions":1119,"headRefName":"gfg/webserver-extract-s4-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79777,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(web): extract ops/hooks/webhooks/pairing mixins from web_server.py (shard s4)","updatedAt":"2026-08-31T16:59:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/79777","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877VeDm","kind":"pull-request","label":"refactor(web): extract console/spa-mount/ws-auth mixins from web_server.py (shard s5 union)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T23:49:05Z","updatedAt":"2026-08-15T22:52:29Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79778"},"data":{"additions":1727,"baseRefName":"main","changedFiles":7,"closedAt":null,"createdAt":"2026-08-05T23:49:05Z","deletions":1063,"headRefName":"gfg/webserver-extract-s5-w1a","isDraft":false,"merged":false,"mergedAt":null,"number":79778,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(web): extract console/spa-mount/ws-auth mixins from web_server.py (shard s5 union)","updatedAt":"2026-08-15T22:52:29Z","url":"https://github.com/NousResearch/hermes-agent/pull/79778","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877VeNn","kind":"pull-request","label":"docs(skills): document the kill-locks feature package and its tracker interlock","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-05T23:49:13Z","updatedAt":"2026-08-31T16:41:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79779"},"data":{"additions":923,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-05T23:49:13Z","deletions":0,"headRefName":"docs/campaign-kill-locks-skill","isDraft":false,"merged":false,"mergedAt":null,"number":79779,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(skills): document the kill-locks feature package and its tracker interlock","updatedAt":"2026-08-31T16:41:12Z","url":"https://github.com/NousResearch/hermes-agent/pull/79779","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877vR4K","kind":"pull-request","label":"docs: canonize All Gods Must Die doctrine and exact-object completion amendment","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T19:30:54Z","updatedAt":"2026-08-21T02:02:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80551"},"data":{"additions":8475,"baseRefName":"main","changedFiles":14,"closedAt":null,"createdAt":"2026-08-06T19:30:54Z","deletions":0,"headRefName":"docs/long-document-production-interlock","isDraft":false,"merged":false,"mergedAt":null,"number":80551,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs: canonize All Gods Must Die doctrine and exact-object completion amendment","updatedAt":"2026-08-21T02:02:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/80551","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877WXr4","kind":"pull-request","label":"refactor(slack): extract messaging family into SlackMessagingMixin (adapter.py god-file slice R2)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T00:45:09Z","updatedAt":"2026-08-15T22:52:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79800"},"data":{"additions":823,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-06T00:45:09Z","deletions":586,"headRefName":"fix/sl-messaging-mixin","isDraft":false,"merged":false,"mergedAt":null,"number":79800,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(slack): extract messaging family into SlackMessagingMixin (adapter.py god-file slice R2)","updatedAt":"2026-08-15T22:52:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/79800","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877y_Z8","kind":"pull-request","label":"refactor(context_compressor): extract tool-result summarizers (LB5a)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T23:31:55Z","updatedAt":"2026-08-15T17:28:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80645"},"data":{"additions":1383,"baseRefName":"main","changedFiles":12,"closedAt":null,"createdAt":"2026-08-06T23:31:55Z","deletions":895,"headRefName":"gfg/cc-lb5-summarizers","isDraft":false,"merged":false,"mergedAt":null,"number":80645,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(context_compressor): extract tool-result summarizers (LB5a)","updatedAt":"2026-08-15T17:28:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/80645","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877y7Ws","kind":"pull-request","label":"refactor(context_compressor): extract threshold coercion mixin (LB7)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T23:26:52Z","updatedAt":"2026-08-31T16:16:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80644"},"data":{"additions":1594,"baseRefName":"main","changedFiles":14,"closedAt":null,"createdAt":"2026-08-06T23:26:52Z","deletions":1012,"headRefName":"gfg/cc-lb7-threshold","isDraft":false,"merged":false,"mergedAt":null,"number":80644,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(context_compressor): extract threshold coercion mixin (LB7)","updatedAt":"2026-08-31T16:16:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/80644","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877ycHI","kind":"pull-request","label":"refactor(context_compressor): extract skill-prune/ghost-skill cluster (LB2)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T22:49:38Z","updatedAt":"2026-08-30T22:13:22Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80628"},"data":{"additions":403,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-06T22:49:38Z","deletions":0,"headRefName":"gfg/cc-lb2-skill-prune-2","isDraft":false,"merged":false,"mergedAt":null,"number":80628,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(context_compressor): extract skill-prune/ghost-skill cluster (LB2)","updatedAt":"2026-08-30T22:13:22Z","url":"https://github.com/NousResearch/hermes-agent/pull/80628","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877YFJW","kind":"pull-request","label":"refactor(main): extract oneshot hard-exit into main_oneshot_exit (main.py god-file slice R1)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T02:41:20Z","updatedAt":"2026-08-31T16:59:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79844"},"data":{"additions":356,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-06T02:41:20Z","deletions":121,"headRefName":"fix/mn-oneshot-exit","isDraft":false,"merged":false,"mergedAt":null,"number":79844,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(main): extract oneshot hard-exit into main_oneshot_exit (main.py god-file slice R1)","updatedAt":"2026-08-31T16:59:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/79844","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877YFLh","kind":"pull-request","label":"refactor(main): extract custom-provider persistence (main.py god-file slice R2)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T02:41:22Z","updatedAt":"2026-08-31T16:59:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79845"},"data":{"additions":561,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-06T02:41:22Z","deletions":260,"headRefName":"fix/mn-provider-persistence","isDraft":false,"merged":false,"mergedAt":null,"number":79845,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(main): extract custom-provider persistence (main.py god-file slice R2)","updatedAt":"2026-08-31T16:59:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/79845","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877YFNR","kind":"pull-request","label":"refactor(main): extract npm toolchain into npm_toolchain (main.py god-file slice R3)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T02:41:23Z","updatedAt":"2026-08-31T16:59:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79846"},"data":{"additions":457,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-06T02:41:23Z","deletions":281,"headRefName":"fix/mn-npm-toolchain","isDraft":false,"merged":false,"mergedAt":null,"number":79846,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(main): extract npm toolchain into npm_toolchain (main.py god-file slice R3)","updatedAt":"2026-08-31T16:59:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/79846","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877YFOu","kind":"pull-request","label":"refactor(main): extract node runtime leaf into node_runtime (main.py god-file slice R4)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T02:41:25Z","updatedAt":"2026-08-31T16:59:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79847"},"data":{"additions":223,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-06T02:41:25Z","deletions":61,"headRefName":"fix/mn-node-runtime","isDraft":false,"merged":false,"mergedAt":null,"number":79847,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(main): extract node runtime leaf into node_runtime (main.py god-file slice R4)","updatedAt":"2026-08-31T16:59:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/79847","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877YFTr","kind":"pull-request","label":"refactor(main): extract command facades into cmd_facades (main.py god-file slice R5)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T02:41:27Z","updatedAt":"2026-08-31T16:59:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79848"},"data":{"additions":432,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-06T02:41:27Z","deletions":197,"headRefName":"fix/mn-cmd-facades","isDraft":false,"merged":false,"mergedAt":null,"number":79848,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(main): extract command facades into cmd_facades (main.py god-file slice R5)","updatedAt":"2026-08-31T16:59:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/79848","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877yL1u","kind":"pull-request","label":"refactor(auth): extract remote session helpers","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-06T22:31:04Z","updatedAt":"2026-08-06T22:52:04Z","closedAt":"2026-08-06T22:52:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80620"},"data":{"additions":233,"baseRefName":"main","changedFiles":2,"closedAt":"2026-08-06T22:52:04Z","createdAt":"2026-08-06T22:31:04Z","deletions":154,"headRefName":"gfg/auth-s2-20260806","isDraft":false,"merged":false,"mergedAt":null,"number":80620,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"refactor(auth): extract remote session helpers","updatedAt":"2026-08-06T22:52:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/80620","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877yp7W","kind":"pull-request","label":"refactor(context_compressor): extract token-budget estimators into context_compressor_budget (LB3)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T23:05:48Z","updatedAt":"2026-08-15T22:51:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80634"},"data":{"additions":791,"baseRefName":"main","changedFiles":7,"closedAt":null,"createdAt":"2026-08-06T23:05:48Z","deletions":492,"headRefName":"gfg/cc-lb3-budget","isDraft":false,"merged":false,"mergedAt":null,"number":80634,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(context_compressor): extract token-budget estimators into context_compressor_budget (LB3)","updatedAt":"2026-08-15T22:51:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/80634","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877yqhr","kind":"pull-request","label":"refactor(context_compressor): extract content/media strip helpers (LB4)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T23:06:29Z","updatedAt":"2026-08-15T17:28:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80636"},"data":{"additions":1119,"baseRefName":"main","changedFiles":9,"closedAt":null,"createdAt":"2026-08-06T23:06:29Z","deletions":715,"headRefName":"gfg/cc-lb4-media","isDraft":false,"merged":false,"mergedAt":null,"number":80636,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(context_compressor): extract content/media strip helpers (LB4)","updatedAt":"2026-08-15T17:28:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/80636","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877yWIV","kind":"pull-request","label":"refactor(context_compressor): extract text-util leaves into context_compressor_text_utils","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T22:42:45Z","updatedAt":"2026-08-15T22:51:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80626"},"data":{"additions":101,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-06T22:42:45Z","deletions":44,"headRefName":"gfg/cc-lb2-skill-prune","isDraft":false,"merged":false,"mergedAt":null,"number":80626,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(context_compressor): extract text-util leaves into context_compressor_text_utils","updatedAt":"2026-08-15T22:51:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/80626","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877z6MI","kind":"pull-request","label":"refactor(auth): extract auth errors and telemetry (S1)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-07T00:33:31Z","updatedAt":"2026-08-31T17:00:02Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80673"},"data":{"additions":169,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-07T00:33:31Z","deletions":123,"headRefName":"gfg/auth-s1-20260806-ship","isDraft":false,"merged":false,"mergedAt":null,"number":80673,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(auth): extract auth errors and telemetry (S1)","updatedAt":"2026-08-31T17:00:02Z","url":"https://github.com/NousResearch/hermes-agent/pull/80673","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877ZtDY","kind":"pull-request","label":"refactor(kanban): extract models + schema into kanban_db_models (kanban_db.py god-file slice R1)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:18:12Z","updatedAt":"2026-08-31T16:59:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79893"},"data":{"additions":625,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-06T04:18:12Z","deletions":474,"headRefName":"fix/kb-models","isDraft":false,"merged":false,"mergedAt":null,"number":79893,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(kanban): extract models + schema into kanban_db_models (kanban_db.py god-file slice R1)","updatedAt":"2026-08-31T16:59:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/79893","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877ZtH5","kind":"pull-request","label":"refactor(kanban): extract transaction primitives into kanban_db_txn (kanban_db.py god-file slice R2)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:18:14Z","updatedAt":"2026-08-31T16:59:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79894"},"data":{"additions":319,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-06T04:18:14Z","deletions":109,"headRefName":"fix/kb-txn","isDraft":false,"merged":false,"mergedAt":null,"number":79894,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(kanban): extract transaction primitives into kanban_db_txn (kanban_db.py god-file slice R2)","updatedAt":"2026-08-31T16:59:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/79894","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877ZtJ_","kind":"pull-request","label":"refactor(kanban): extract claim/lock lifecycle (kanban_db.py god-file slice R3)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:18:16Z","updatedAt":"2026-08-31T16:59:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79895"},"data":{"additions":821,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-06T04:18:16Z","deletions":472,"headRefName":"fix/kb-claims","isDraft":false,"merged":false,"mergedAt":null,"number":79895,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(kanban): extract claim/lock lifecycle (kanban_db.py god-file slice R3)","updatedAt":"2026-08-31T16:59:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/79895","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877ZtLx","kind":"pull-request","label":"refactor(kanban): extract spawnable probe into spawnable_probe (kanban_db.py god-file slice R4)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:18:18Z","updatedAt":"2026-08-31T16:59:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79896"},"data":{"additions":238,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-06T04:18:18Z","deletions":55,"headRefName":"fix/kb-spawnable","isDraft":false,"merged":false,"mergedAt":null,"number":79896,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(kanban): extract spawnable probe into spawnable_probe (kanban_db.py god-file slice R4)","updatedAt":"2026-08-31T16:59:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/79896","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877ZtNi","kind":"pull-request","label":"refactor(kanban): extract stats into stats_mixin (kanban_db.py god-file slice R5)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-06T04:18:20Z","updatedAt":"2026-08-31T16:59:38Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79897"},"data":{"additions":269,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-06T04:18:20Z","deletions":80,"headRefName":"fix/kb-stats","isDraft":false,"merged":false,"mergedAt":null,"number":79897,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(kanban): extract stats into stats_mixin (kanban_db.py god-file slice R5)","updatedAt":"2026-08-31T16:59:38Z","url":"https://github.com/NousResearch/hermes-agent/pull/79897","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G877ZtSb","kind":"pull-request","label":"feat(skills): add the feature-parity-alignment skill (5x2x3 parity Feature Package playbook)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-06T04:18:22Z","updatedAt":"2026-08-19T22:33:40Z","closedAt":"2026-08-19T22:33:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/79898"},"data":{"additions":146,"baseRefName":"main","changedFiles":4,"closedAt":"2026-08-19T22:33:40Z","createdAt":"2026-08-06T04:18:22Z","deletions":0,"headRefName":"gfg/skill-feature-parity","isDraft":false,"merged":false,"mergedAt":null,"number":79898,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(skills): add the feature-parity-alignment skill (5x2x3 parity Feature Package playbook)","updatedAt":"2026-08-19T22:33:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/79898","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8784DL_","kind":"pull-request","label":"fix(security): scope multiplex subprocess secrets to target profile","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-10T07:13:02Z","updatedAt":"2026-08-21T04:09:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83007"},"data":{"createdAt":"2026-08-10T07:13:02Z","mergedAt":null,"number":83007,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): scope multiplex subprocess secrets to target profile","updatedAt":"2026-08-21T04:09:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/83007"}},{"id":"github:pull-request:PR_kwDOPRF1G8788s9S","kind":"pull-request","label":"fix(codex): alias reserved tool_search bridge (#83122)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-10T10:19:18Z","updatedAt":"2026-08-25T23:21:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83126"},"data":{"createdAt":"2026-08-10T10:19:18Z","mergedAt":null,"number":83126,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(codex): alias reserved tool_search bridge (#83122)","updatedAt":"2026-08-25T23:21:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/83126"}},{"id":"github:pull-request:PR_kwDOPRF1G878EVNl","kind":"pull-request","label":"refactor(context_compressor): extract durable session guards mixin (LB6)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-07T13:56:25Z","updatedAt":"2026-08-19T17:44:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/81074"},"data":{"additions":2155,"baseRefName":"main","changedFiles":16,"closedAt":null,"createdAt":"2026-08-07T13:56:25Z","deletions":1455,"headRefName":"gfg/cc-lb6-durable","isDraft":false,"merged":false,"mergedAt":null,"number":81074,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(context_compressor): extract durable session guards mixin (LB6)","updatedAt":"2026-08-19T17:44:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/81074","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G878GQ5P","kind":"pull-request","label":"fix(redact): strip complete ANSI CSI sequences before control-split masking","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-07T15:08:41Z","updatedAt":"2026-08-23T16:07:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/81121"},"data":{"createdAt":"2026-08-07T15:08:41Z","mergedAt":null,"number":81121,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(redact): strip complete ANSI CSI sequences before control-split masking","updatedAt":"2026-08-23T16:07:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/81121"}},{"id":"github:pull-request:PR_kwDOPRF1G878IHJv","kind":"pull-request","label":"refactor(context_compressor): extract summary kernel and preserve compatibility","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-07T16:19:20Z","updatedAt":"2026-08-31T16:16:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/81181"},"data":{"additions":2545,"baseRefName":"main","changedFiles":18,"closedAt":null,"createdAt":"2026-08-07T16:19:20Z","deletions":1607,"headRefName":"gfg/cc-lb8-summary-repair","isDraft":false,"merged":false,"mergedAt":null,"number":81181,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(context_compressor): extract summary kernel and preserve compatibility","updatedAt":"2026-08-31T16:16:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/81181","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G878iklT","kind":"pull-request","label":"feat(desktop): expose resolved connection mode to skills, MCP, and plugins","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-09T02:44:56Z","updatedAt":"2026-08-18T22:47:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/82187"},"data":{"createdAt":"2026-08-09T02:44:56Z","mergedAt":null,"number":82187,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(desktop): expose resolved connection mode to skills, MCP, and plugins","updatedAt":"2026-08-18T22:47:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/82187"}},{"id":"github:pull-request:PR_kwDOPRF1G878jQ5O","kind":"pull-request","label":"feat(tools): compose deferred tools in execute_code","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-09T04:09:29Z","updatedAt":"2026-08-31T14:40:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/82243"},"data":{"createdAt":"2026-08-09T04:09:29Z","mergedAt":null,"number":82243,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(tools): compose deferred tools in execute_code","updatedAt":"2026-08-31T14:40:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/82243"}},{"id":"github:pull-request:PR_kwDOPRF1G878KdY1","kind":"pull-request","label":"refactor(context_compressor): extract message marker helpers","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-07T17:59:11Z","updatedAt":"2026-08-31T17:00:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/81243"},"data":{"additions":285,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-07T17:59:11Z","deletions":68,"headRefName":"refactor/context-compressor-message-marker-helpers","isDraft":false,"merged":false,"mergedAt":null,"number":81243,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(context_compressor): extract message marker helpers","updatedAt":"2026-08-31T17:00:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/81243","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G878nSwK","kind":"pull-request","label":"fix(install): preserve project config for locked uv sync (#82446)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-09T11:00:19Z","updatedAt":"2026-08-28T19:36:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/82450"},"data":{"createdAt":"2026-08-09T11:00:19Z","mergedAt":null,"number":82450,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(install): preserve project config for locked uv sync (#82446)","updatedAt":"2026-08-28T19:36:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/82450"}},{"id":"github:pull-request:PR_kwDOPRF1G878o1GG","kind":"pull-request","label":"refactor(discord): extract command-sync helpers","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-09T13:05:01Z","updatedAt":"2026-08-31T17:00:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/82496"},"data":{"additions":611,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-09T13:05:01Z","deletions":68,"headRefName":"extract/discord-command-sync-main-r2","isDraft":false,"merged":false,"mergedAt":null,"number":82496,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(discord): extract command-sync helpers","updatedAt":"2026-08-31T17:00:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/82496","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G878rfwS","kind":"pull-request","label":"chore(contributors): map andrexibiza commit email","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-09T16:27:43Z","updatedAt":"2026-08-11T13:27:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/82601"},"data":{"additions":2,"baseRefName":"main","changedFiles":1,"closedAt":null,"createdAt":"2026-08-09T16:27:43Z","deletions":0,"headRefName":"chore/contributor-map-andrexibiza-82496","isDraft":false,"merged":false,"mergedAt":null,"number":82601,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"chore(contributors): map andrexibiza commit email","updatedAt":"2026-08-11T13:27:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/82601","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G878rY_6","kind":"pull-request","label":"fix(ci): preserve historical Git objects for Python tests","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-09T16:20:50Z","updatedAt":"2026-08-15T16:37:07Z","closedAt":"2026-08-15T16:37:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/82590"},"data":{"additions":298,"baseRefName":"main","changedFiles":6,"closedAt":"2026-08-15T16:37:07Z","createdAt":"2026-08-09T16:20:50Z","deletions":20,"headRefName":"fix/ci-preserve-historical-git-objects","isDraft":false,"merged":false,"mergedAt":null,"number":82590,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(ci): preserve historical Git objects for Python tests","updatedAt":"2026-08-15T16:37:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/82590","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G878srKw","kind":"pull-request","label":"fix(tools): resolve explicit Git targets without alias regression","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-09T18:03:11Z","updatedAt":"2026-08-11T10:32:40Z","closedAt":"2026-08-11T10:32:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/82636"},"data":{"additions":753,"baseRefName":"main","changedFiles":4,"closedAt":"2026-08-11T10:32:40Z","createdAt":"2026-08-09T18:03:11Z","deletions":19,"headRefName":"fix/explicit-git-target-resolution","isDraft":false,"merged":false,"mergedAt":null,"number":82636,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(tools): resolve explicit Git targets without alias regression","updatedAt":"2026-08-11T10:32:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/82636","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G878YZPE","kind":"pull-request","label":"fix(tools): fail closed on alias recursion depth limit in self_repo_guard","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-08T10:50:48Z","updatedAt":"2026-08-25T10:52:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/81664"},"data":{"createdAt":"2026-08-08T10:50:48Z","mergedAt":null,"number":81664,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tools): fail closed on alias recursion depth limit in self_repo_guard","updatedAt":"2026-08-25T10:52:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/81664"}},{"id":"github:pull-request:PR_kwDOPRF1G8790BvS","kind":"pull-request","label":"refactor(mcp_tool): extract pagination slice R1-2 into tools/mcp_pagination.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T01:20:08Z","updatedAt":"2026-08-31T17:01:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84190"},"data":{"additions":112,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-12T01:20:08Z","deletions":42,"headRefName":"gfg/mcp-tool-r12-pagination","isDraft":false,"merged":false,"mergedAt":null,"number":84190,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(mcp_tool): extract pagination slice R1-2 into tools/mcp_pagination.py","updatedAt":"2026-08-31T17:01:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/84190","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8790f_a","kind":"pull-request","label":"fix(cli): honour model_aliases api_key, stop cross-provider key leak (#83612)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T01:50:03Z","updatedAt":"2026-08-26T03:37:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84199"},"data":{"createdAt":"2026-08-12T01:50:03Z","mergedAt":null,"number":84199,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cli): honour model_aliases api_key, stop cross-provider key leak (#83612)","updatedAt":"2026-08-26T03:37:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/84199"}},{"id":"github:pull-request:PR_kwDOPRF1G87929Si","kind":"pull-request","label":"fix(tools): route config credential-file mounts through the master-store deny-list (#84270)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T04:08:11Z","updatedAt":"2026-08-26T16:39:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84286"},"data":{"createdAt":"2026-08-12T04:08:11Z","mergedAt":null,"number":84286,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tools): route config credential-file mounts through the master-store deny-list (#84270)","updatedAt":"2026-08-26T16:39:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/84286"}},{"id":"github:pull-request:PR_kwDOPRF1G8792X_d","kind":"pull-request","label":"refactor(conversation_loop): extract text helper slice CL-R1-1 into agent/conversation_text.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T03:35:10Z","updatedAt":"2026-08-19T17:44:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84275"},"data":{"additions":42,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-12T03:35:10Z","deletions":8,"headRefName":"gfg/conversation-loop-r11-text","isDraft":false,"merged":false,"mergedAt":null,"number":84275,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(conversation_loop): extract text helper slice CL-R1-1 into agent/conversation_text.py","updatedAt":"2026-08-19T17:44:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/84275","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879393H","kind":"pull-request","label":"refactor(conversation_loop): extract streaming spinner cleanup slice CL-R2-1 into agent/streaming_control.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T05:06:59Z","updatedAt":"2026-08-31T17:01:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84310"},"data":{"additions":104,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-12T05:06:59Z","deletions":7,"headRefName":"gfg/conversation-loop-r21-streaming","isDraft":false,"merged":false,"mergedAt":null,"number":84310,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(conversation_loop): extract streaming spinner cleanup slice CL-R2-1 into agent/streaming_control.py","updatedAt":"2026-08-31T17:01:12Z","url":"https://github.com/NousResearch/hermes-agent/pull/84310","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G8795D70","kind":"pull-request","label":"refactor(conversation_loop): extract image-rejection phrases slice CL-R3-1 into agent/conversation_loop_image_recovery.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-12T06:04:30Z","updatedAt":"2026-08-31T17:01:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84330"},"data":{"additions":138,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-12T06:04:30Z","deletions":45,"headRefName":"gfg/conversation-loop-r31-image-recovery","isDraft":false,"merged":false,"mergedAt":null,"number":84330,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(conversation_loop): extract image-rejection phrases slice CL-R3-1 into agent/conversation_loop_image_recovery.py","updatedAt":"2026-08-31T17:01:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/84330","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879az0L","kind":"pull-request","label":"fix(tools): block messaging-platform writes to execution-trusting roots","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T08:54:56Z","updatedAt":"2026-08-20T21:54:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83787"},"data":{"createdAt":"2026-08-11T08:54:56Z","mergedAt":null,"number":83787,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tools): block messaging-platform writes to execution-trusting roots","updatedAt":"2026-08-20T21:54:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/83787"}},{"id":"github:pull-request:PR_kwDOPRF1G879dRoc","kind":"pull-request","label":"fix(tools): close explicit Git target guard class","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T10:30:12Z","updatedAt":"2026-08-31T17:00:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83834"},"data":{"additions":755,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-11T10:30:12Z","deletions":19,"headRefName":"rebase-on-behalf/self-repo-git-target-class","isDraft":false,"merged":false,"mergedAt":null,"number":83834,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tools): close explicit Git target guard class","updatedAt":"2026-08-31T17:00:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/83834","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879evvq","kind":"pull-request","label":"refactor(mcp_tool): extract session-expiry slice R3-1 into tools/mcp_session_expiry.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T11:23:47Z","updatedAt":"2026-08-31T17:00:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83860"},"data":{"additions":166,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-11T11:23:47Z","deletions":96,"headRefName":"gfg/mcp-tool-r3-session-expiry","isDraft":false,"merged":false,"mergedAt":null,"number":83860,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(mcp_tool): extract session-expiry slice R3-1 into tools/mcp_session_expiry.py","updatedAt":"2026-08-31T17:00:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/83860","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879ikkp","kind":"pull-request","label":"refactor(mcp_tool): extract name-filters slice R4-1 into tools/mcp_name_filters.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T13:39:53Z","updatedAt":"2026-08-31T17:00:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83917"},"data":{"additions":87,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-11T13:39:53Z","deletions":34,"headRefName":"gfg/mcp-tool-r4-name-filters","isDraft":false,"merged":false,"mergedAt":null,"number":83917,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(mcp_tool): extract name-filters slice R4-1 into tools/mcp_name_filters.py","updatedAt":"2026-08-31T17:00:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/83917","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879Mr_H","kind":"pull-request","label":"fix(whatsapp): stop local bridge impersonation from hijacking messages","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-10T20:16:14Z","updatedAt":"2026-08-18T13:52:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83432"},"data":{"createdAt":"2026-08-10T20:16:14Z","mergedAt":null,"number":83432,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(whatsapp): stop local bridge impersonation from hijacking messages","updatedAt":"2026-08-18T13:52:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/83432"}},{"id":"github:pull-request:PR_kwDOPRF1G879ot8n","kind":"pull-request","label":"refactor(mcp_tool): extract provenance slice R5-1 into tools/mcp_provenance.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T17:08:11Z","updatedAt":"2026-08-31T17:00:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84023"},"data":{"additions":92,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-11T17:08:11Z","deletions":10,"headRefName":"gfg/mcp-tool-r5-provenance","isDraft":false,"merged":false,"mergedAt":null,"number":84023,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(mcp_tool): extract provenance slice R5-1 into tools/mcp_provenance.py","updatedAt":"2026-08-31T17:00:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/84023","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879qGim","kind":"pull-request","label":"refactor(telegram): extract config and mention mixin from adapter","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T17:58:38Z","updatedAt":"2026-08-31T17:01:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84042"},"data":{"additions":959,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-11T17:58:38Z","deletions":780,"headRefName":"refactor/telegram-config-mention-c11","isDraft":false,"merged":false,"mergedAt":null,"number":84042,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(telegram): extract config and mention mixin from adapter","updatedAt":"2026-08-31T17:01:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/84042","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879RaDM","kind":"pull-request","label":"refactor(gateway): extract s6 dispatch helper into hermes_cli/s6_dispatch.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T00:17:34Z","updatedAt":"2026-08-31T17:00:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83541"},"data":{"additions":198,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-11T00:17:34Z","deletions":49,"headRefName":"gfg/gateway-s6-dispatch-r5","isDraft":false,"merged":false,"mergedAt":null,"number":83541,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract s6 dispatch helper into hermes_cli/s6_dispatch.py","updatedAt":"2026-08-31T17:00:11Z","url":"https://github.com/NousResearch/hermes-agent/pull/83541","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879Rq28","kind":"pull-request","label":"refactor(gateway): extract api_server idempotency cluster to dedicated module","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T00:33:48Z","updatedAt":"2026-08-31T17:00:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83546"},"data":{"additions":296,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-11T00:33:48Z","deletions":52,"headRefName":"gfg/api-idempotency-r1","isDraft":false,"merged":false,"mergedAt":null,"number":83546,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(gateway): extract api_server idempotency cluster to dedicated module","updatedAt":"2026-08-31T17:00:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/83546","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879Rq4u","kind":"pull-request","label":"refactor(agent): extract content-policy blocked-result helper from conversation_loop","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T00:33:50Z","updatedAt":"2026-08-31T17:00:16Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83547"},"data":{"additions":194,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-11T00:33:50Z","deletions":23,"headRefName":"gfg/conv-content-policy-r1","isDraft":false,"merged":false,"mergedAt":null,"number":83547,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(agent): extract content-policy blocked-result helper from conversation_loop","updatedAt":"2026-08-31T17:00:16Z","url":"https://github.com/NousResearch/hermes-agent/pull/83547","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879SAsu","kind":"pull-request","label":"refactor(mcp): extract registry-query helpers into tools/mcp_registry_query","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T00:57:03Z","updatedAt":"2026-08-31T17:00:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83559"},"data":{"additions":295,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-11T00:57:03Z","deletions":26,"headRefName":"gfg/mcp-registry-query-r5","isDraft":false,"merged":false,"mergedAt":null,"number":83559,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(mcp): extract registry-query helpers into tools/mcp_registry_query","updatedAt":"2026-08-31T17:00:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/83559","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879SNJX","kind":"pull-request","label":"refactor(tools): extract MCP image-block cache helpers to tools/mcp_image_cache.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T01:11:09Z","updatedAt":"2026-08-31T17:00:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83575"},"data":{"additions":215,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-11T01:11:09Z","deletions":51,"headRefName":"gfg/mcp-image-cache-r1","isDraft":false,"merged":false,"mergedAt":null,"number":83575,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(tools): extract MCP image-block cache helpers to tools/mcp_image_cache.py","updatedAt":"2026-08-31T17:00:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/83575","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879sXuR","kind":"pull-request","label":"refactor(mcp_tool): extract connect-cooldown slice R3-2 into tools/mcp_connect_cooldown.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T19:24:47Z","updatedAt":"2026-08-31T17:01:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84070"},"data":{"additions":129,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-11T19:24:47Z","deletions":54,"headRefName":"gfg/mcp-tool-r32-connect-cooldown","isDraft":false,"merged":false,"mergedAt":null,"number":84070,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(mcp_tool): extract connect-cooldown slice R3-2 into tools/mcp_connect_cooldown.py","updatedAt":"2026-08-31T17:01:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/84070","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879T0uD","kind":"pull-request","label":"refactor(mcp_tool): extract description-scan slice R1-1 into tools/mcp_tool_description_scan.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T02:58:45Z","updatedAt":"2026-08-31T17:00:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83641"},"data":{"additions":151,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-11T02:58:45Z","deletions":43,"headRefName":"gfg/mcp-tool-r1-description-scan","isDraft":false,"merged":false,"mergedAt":null,"number":83641,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(mcp_tool): extract description-scan slice R1-1 into tools/mcp_tool_description_scan.py","updatedAt":"2026-08-31T17:00:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/83641","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879V1Gm","kind":"pull-request","label":"fix(config): respect env vars over .env file for 12-factor precedence","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T05:09:28Z","updatedAt":"2026-08-31T17:00:29Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83688"},"data":{"additions":82,"baseRefName":"main","changedFiles":8,"closedAt":null,"createdAt":"2026-08-11T05:09:28Z","deletions":17,"headRefName":"fix/dotenv-12factor","isDraft":false,"merged":false,"mergedAt":null,"number":83688,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(config): respect env vars over .env file for 12-factor precedence","updatedAt":"2026-08-31T17:00:29Z","url":"https://github.com/NousResearch/hermes-agent/pull/83688","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879V2Bc","kind":"pull-request","label":"fix(repo): protect workflow paths with codeowners","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-11T05:10:20Z","updatedAt":"2026-08-15T16:35:16Z","closedAt":"2026-08-15T16:35:16Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83690"},"data":{"additions":60,"baseRefName":"main","changedFiles":4,"closedAt":"2026-08-15T16:35:16Z","createdAt":"2026-08-11T05:10:20Z","deletions":0,"headRefName":"fix/codeowners-workflows","isDraft":false,"merged":false,"mergedAt":null,"number":83690,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(repo): protect workflow paths with codeowners","updatedAt":"2026-08-15T16:35:16Z","url":"https://github.com/NousResearch/hermes-agent/pull/83690","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879V5N8","kind":"pull-request","label":"fix(copilot): validate supported token prefixes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-11T05:13:38Z","updatedAt":"2026-08-15T16:36:05Z","closedAt":"2026-08-15T16:36:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83692"},"data":{"additions":125,"baseRefName":"main","changedFiles":5,"closedAt":"2026-08-15T16:36:05Z","createdAt":"2026-08-11T05:13:38Z","deletions":1,"headRefName":"fix/copilot-token-validation","isDraft":false,"merged":false,"mergedAt":null,"number":83692,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(copilot): validate supported token prefixes","updatedAt":"2026-08-15T16:36:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/83692","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879Vnp9","kind":"pull-request","label":"fix(plugins): lock lazy plugin manager init against TOCTOU race","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T04:56:57Z","updatedAt":"2026-08-31T17:00:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83684"},"data":{"additions":49,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-11T04:56:57Z","deletions":1,"headRefName":"fix/plugins-toctou-lock","isDraft":false,"merged":false,"mergedAt":null,"number":83684,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(plugins): lock lazy plugin manager init against TOCTOU race","updatedAt":"2026-08-31T17:00:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/83684","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879WC4B","kind":"pull-request","label":"fix(whatsapp): detect usable macOS node runtimes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T05:22:27Z","updatedAt":"2026-08-31T17:00:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83695"},"data":{"additions":150,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-11T05:22:27Z","deletions":25,"headRefName":"fix/whatsapp-macos-node","isDraft":false,"merged":false,"mergedAt":null,"number":83695,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(whatsapp): detect usable macOS node runtimes","updatedAt":"2026-08-31T17:00:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/83695","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879WDcl","kind":"pull-request","label":"fix(context): read oMLX admin context window","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T05:23:01Z","updatedAt":"2026-08-31T17:00:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83696"},"data":{"additions":103,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-11T05:23:01Z","deletions":0,"headRefName":"fix/omlx-context-window","isDraft":false,"merged":false,"mergedAt":null,"number":83696,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(context): read oMLX admin context window","updatedAt":"2026-08-31T17:00:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/83696","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879WHeJ","kind":"pull-request","label":"fix(qqbot): retry gateway URL fetch with cache fallback","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T05:26:54Z","updatedAt":"2026-08-31T17:00:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83697"},"data":{"additions":122,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-11T05:26:54Z","deletions":19,"headRefName":"fix/qqbot-url-retry","isDraft":false,"merged":false,"mergedAt":null,"number":83697,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(qqbot): retry gateway URL fetch with cache fallback","updatedAt":"2026-08-31T17:00:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/83697","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879WKg7","kind":"pull-request","label":"refactor(agent): extract post_api_request hook emission to _emit_post_api_request_hook","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T05:29:53Z","updatedAt":"2026-08-31T17:00:37Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83700"},"data":{"additions":188,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-11T05:29:53Z","deletions":41,"headRefName":"gfg/conv-post-api-hook-r4","isDraft":false,"merged":false,"mergedAt":null,"number":83700,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(agent): extract post_api_request hook emission to _emit_post_api_request_hook","updatedAt":"2026-08-31T17:00:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/83700","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879xgZZ","kind":"pull-request","label":"refactor(mcp_tool): extract schema-helpers slice R4-2 into tools/mcp_tool_schema.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T23:02:03Z","updatedAt":"2026-08-31T17:01:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84148"},"data":{"additions":401,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-11T23:02:03Z","deletions":275,"headRefName":"gfg/mcp-tool-r42-schema","isDraft":false,"merged":false,"mergedAt":null,"number":84148,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(mcp_tool): extract schema-helpers slice R4-2 into tools/mcp_tool_schema.py","updatedAt":"2026-08-31T17:01:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/84148","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879Zglr","kind":"pull-request","label":"fix(weixin): convert Silk voice messages to WAV via pilk for STT","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T08:01:32Z","updatedAt":"2026-08-31T17:00:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83763"},"data":{"additions":117,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-11T08:01:32Z","deletions":2,"headRefName":"fix/wechat-silk-wav","isDraft":false,"merged":false,"mergedAt":null,"number":83763,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(weixin): convert Silk voice messages to WAV via pilk for STT","updatedAt":"2026-08-31T17:00:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/83763","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879Zpvw","kind":"pull-request","label":"fix(memory): warn near capacity","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T08:07:21Z","updatedAt":"2026-08-31T17:00:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83766"},"data":{"additions":156,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-11T08:07:21Z","deletions":2,"headRefName":"fix/memory-capacity-warn","isDraft":false,"merged":false,"mergedAt":null,"number":83766,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(memory): warn near capacity","updatedAt":"2026-08-31T17:00:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/83766","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879ZTcA","kind":"pull-request","label":"fix(cli): fall back to ascii display on windows msys","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T07:52:59Z","updatedAt":"2026-08-31T17:00:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83759"},"data":{"additions":244,"baseRefName":"main","changedFiles":9,"closedAt":null,"createdAt":"2026-08-11T07:52:59Z","deletions":4,"headRefName":"fix/win-symbols-ascii","isDraft":false,"merged":false,"mergedAt":null,"number":83759,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cli): fall back to ascii display on windows msys","updatedAt":"2026-08-31T17:00:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/83759","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879ZWJY","kind":"pull-request","label":"refactor(mcp_tool): extract elicitation-schema slice R2-1 into tools/mcp_elicitation_schema.py","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T07:54:44Z","updatedAt":"2026-08-31T17:00:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83760"},"data":{"additions":145,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-11T07:54:44Z","deletions":24,"headRefName":"gfg/mcp-tool-r2-elicitation-schema","isDraft":false,"merged":false,"mergedAt":null,"number":83760,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(mcp_tool): extract elicitation-schema slice R2-1 into tools/mcp_elicitation_schema.py","updatedAt":"2026-08-31T17:00:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/83760","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879ZxBA","kind":"pull-request","label":"fix(mcp): drop broken approval tools from MCP surface","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-11T08:11:54Z","updatedAt":"2026-08-31T17:00:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83771"},"data":{"additions":102,"baseRefName":"main","changedFiles":5,"closedAt":null,"createdAt":"2026-08-11T08:11:54Z","deletions":93,"headRefName":"fix/mcp-approvals-safe","isDraft":false,"merged":false,"mergedAt":null,"number":83771,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(mcp): drop broken approval tools from MCP surface","updatedAt":"2026-08-31T17:00:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/83771","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G879ZZpF","kind":"pull-request","label":"fix(weixin): pass context_token to getUploadUrl API call","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-11T07:57:08Z","updatedAt":"2026-08-24T11:40:39Z","closedAt":"2026-08-24T11:40:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83761"},"data":{"additions":120,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-24T11:40:39Z","createdAt":"2026-08-11T07:57:08Z","deletions":11,"headRefName":"fix/weixin-ilink-context-token","isDraft":false,"merged":false,"mergedAt":null,"number":83761,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(weixin): pass context_token to getUploadUrl API call","updatedAt":"2026-08-24T11:40:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/83761","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87jvvLh","kind":"pull-request","label":"feat(wecom): native reply streaming (typing bubble, per-turn isolation, dedup-safe)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-06-08T03:49:27Z","updatedAt":"2026-08-27T14:34:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/41771"},"data":{"createdAt":"2026-06-08T03:49:27Z","mergedAt":null,"number":41771,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(wecom): native reply streaming (typing bubble, per-turn isolation, dedup-safe)","updatedAt":"2026-08-27T14:34:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/41771"}},{"id":"github:pull-request:PR_kwDOPRF1G87lrAyw","kind":"pull-request","label":"fix(cli): drop agent-browser/@streamdown-math from root npm deps","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-06-12T08:22:34Z","updatedAt":"2026-08-13T20:37:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/44772"},"data":{"createdAt":"2026-06-12T08:22:34Z","mergedAt":null,"number":44772,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(cli): drop agent-browser/@streamdown-math from root npm deps","updatedAt":"2026-08-13T20:37:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/44772"}},{"id":"github:pull-request:PR_kwDOPRF1G87nrzqj","kind":"pull-request","label":"fix(tools): skip MCP keepalive during in-flight calls + fail orphaned calls on reconnect","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-06-17T21:56:06Z","updatedAt":"2026-08-25T00:39:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/48069"},"data":{"createdAt":"2026-06-17T21:56:06Z","mergedAt":null,"number":48069,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(tools): skip MCP keepalive during in-flight calls + fail orphaned calls on reconnect","updatedAt":"2026-08-25T00:39:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/48069"}},{"id":"github:pull-request:PR_kwDOPRF1G87ryR-D","kind":"pull-request","label":"fix(camofox): clear stale tab_id on 404 so the next navigate can recover","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-06-29T12:48:27Z","updatedAt":"2026-08-22T21:08:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/54890"},"data":{"createdAt":"2026-06-29T12:48:27Z","mergedAt":null,"number":54890,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(camofox): clear stale tab_id on 404 so the next navigate can recover","updatedAt":"2026-08-22T21:08:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/54890"}},{"id":"github:pull-request:PR_kwDOPRF1G87u1EB-","kind":"pull-request","label":"archive(update): retain PyYAML/native-lock invariant without reviving July topology","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-07-07T12:50:42Z","updatedAt":"2026-08-22T00:41:29Z","closedAt":"2026-08-22T00:41:29Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/60233"},"data":{"additions":649,"baseRefName":"main","changedFiles":4,"closedAt":"2026-08-22T00:41:29Z","createdAt":"2026-07-07T12:50:42Z","deletions":64,"headRefName":"fix/windows-update-venv-native-locks","isDraft":false,"merged":false,"mergedAt":null,"number":60233,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"archive(update): retain PyYAML/native-lock invariant without reviving July topology","updatedAt":"2026-08-22T00:41:29Z","url":"https://github.com/NousResearch/hermes-agent/pull/60233","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87u3fhQ","kind":"pull-request","label":"Stop printing Bitwarden secret names during env load","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-07-07T14:21:18Z","updatedAt":"2026-07-22T10:22:39Z","closedAt":"2026-07-22T10:21:37Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/60295"},"data":{"additions":41,"baseRefName":"main","changedFiles":2,"closedAt":"2026-07-22T10:21:37Z","createdAt":"2026-07-07T14:21:18Z","deletions":2,"headRefName":"fix/bitwarden-secret-name-status","isDraft":false,"merged":false,"mergedAt":null,"number":60295,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"Stop printing Bitwarden secret names during env load","updatedAt":"2026-07-22T10:22:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/60295","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G87wB3mX","kind":"pull-request","label":"fix(security): fail closed when terminal config bridge is unavailable","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-07-10T05:26:30Z","updatedAt":"2026-08-19T14:20:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/61882"},"data":{"createdAt":"2026-07-10T05:26:30Z","mergedAt":null,"number":61882,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): fail closed when terminal config bridge is unavailable","updatedAt":"2026-08-19T14:20:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/61882"}},{"id":"github:pull-request:PR_kwDOPRF1G87wsuvy","kind":"pull-request","label":"feat(discord): add opt-in bounded room observation","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-07-12T07:40:37Z","updatedAt":"2026-08-27T11:55:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/63044"},"data":{"createdAt":"2026-07-12T07:40:37Z","mergedAt":null,"number":63044,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(discord): add opt-in bounded room observation","updatedAt":"2026-08-27T11:55:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/63044"}},{"id":"github:pull-request:PR_kwDOPRF1G87xBoHz","kind":"pull-request","label":"feat(plugins): add register_background_service() API for long-running services","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-07-13T10:50:28Z","updatedAt":"2026-08-31T06:23:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/63721"},"data":{"createdAt":"2026-07-13T10:50:28Z","mergedAt":null,"number":63721,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(plugins): add register_background_service() API for long-running services","updatedAt":"2026-08-31T06:23:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/63721"}},{"id":"github:pull-request:PR_kwDOPRF1G87xeQK0","kind":"pull-request","label":"fix(langfuse): reject right-prefix template keys, not just wrong prefixes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-07-14T09:26:42Z","updatedAt":"2026-08-05T07:57:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/64309"},"data":{"createdAt":"2026-07-14T09:26:42Z","mergedAt":null,"number":64309,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(langfuse): reject right-prefix template keys, not just wrong prefixes","updatedAt":"2026-08-05T07:57:12Z","url":"https://github.com/NousResearch/hermes-agent/pull/64309"}},{"id":"github:pull-request:PR_kwDOPRF1G87XZnI-","kind":"pull-request","label":"feat(terminal): add E2B cloud sandbox backend","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-05-01T10:54:41Z","updatedAt":"2026-08-26T01:51:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/18348"},"data":{"createdAt":"2026-05-01T10:54:41Z","mergedAt":null,"number":18348,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(terminal): add E2B cloud sandbox backend","updatedAt":"2026-08-26T01:51:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/18348"}},{"id":"github:pull-request:PR_kwDOPRF1G87yeap7","kind":"pull-request","label":"fix(security): prevent approval-dialog bypass via execute_code and tool retry","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-07-16T11:12:27Z","updatedAt":"2026-08-31T10:19:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/65592"},"data":{"createdAt":"2026-07-16T11:12:27Z","mergedAt":null,"number":65592,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): prevent approval-dialog bypass via execute_code and tool retry","updatedAt":"2026-08-31T10:19:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/65592"}},{"id":"github:pull-request:PR_kwDOPRF1G87ypcub","kind":"pull-request","label":"feat(agui): Hermes AG-UI adapter","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-07-16T18:11:45Z","updatedAt":"2026-08-23T05:49:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/65845"},"data":{"createdAt":"2026-07-16T18:11:45Z","mergedAt":null,"number":65845,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(agui): Hermes AG-UI adapter","updatedAt":"2026-08-23T05:49:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/65845"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA_5ZKA","kind":"pull-request","label":"feat(kanban): global union-based fair ticket selection in dispatcher tick","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-25T21:34:09Z","updatedAt":"2026-08-26T22:19:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95056"},"data":{"createdAt":"2026-08-25T21:34:09Z","mergedAt":null,"number":95056,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(kanban): global union-based fair ticket selection in dispatcher tick","updatedAt":"2026-08-26T22:19:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/95056"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA_hKAQ","kind":"pull-request","label":"fix: preserve update receipts across module purge","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-25T20:40:51Z","updatedAt":"2026-08-25T21:26:16Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95038"},"data":{"createdAt":"2026-08-25T20:40:51Z","mergedAt":null,"number":95038,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix: preserve update receipts across module purge","updatedAt":"2026-08-25T21:26:16Z","url":"https://github.com/NousResearch/hermes-agent/pull/95038"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA_LEFg","kind":"pull-request","label":"fix(xai): alias the reserved tool_search bridge name on chat completions","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-25T19:55:37Z","updatedAt":"2026-08-25T22:01:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95011"},"data":{"createdAt":"2026-08-25T19:55:37Z","mergedAt":null,"number":95011,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(xai): alias the reserved tool_search bridge name on chat completions","updatedAt":"2026-08-25T22:01:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/95011"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA_uYlw","kind":"pull-request","label":"fix(desktop): preserve profile across worktree handoffs","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-25T21:08:47Z","updatedAt":"2026-08-25T23:55:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95045"},"data":{"createdAt":"2026-08-25T21:08:47Z","mergedAt":null,"number":95045,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): preserve profile across worktree handoffs","updatedAt":"2026-08-25T23:55:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/95045"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA_UzSw","kind":"pull-request","label":"fix(xai): alias the reserved tool_search bridge on the wire (#95003)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-25T20:16:02Z","updatedAt":"2026-08-25T22:01:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95019"},"data":{"createdAt":"2026-08-25T20:16:02Z","mergedAt":null,"number":95019,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(xai): alias the reserved tool_search bridge on the wire (#95003)","updatedAt":"2026-08-25T22:01:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/95019"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA-6C7w","kind":"pull-request","label":"fix(mcp): isolate registration and reload per profile","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-25T19:20:18Z","updatedAt":"2026-08-25T21:33:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94989"},"data":{"createdAt":"2026-08-25T19:20:18Z","mergedAt":null,"number":94989,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(mcp): isolate registration and reload per profile","updatedAt":"2026-08-25T21:33:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/94989"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA-Al3A","kind":"pull-request","label":"fix(debug): stop non-interactive uploads from exposing private logs","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-25T17:13:11Z","updatedAt":"2026-08-26T14:39:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94911"},"data":{"createdAt":"2026-08-25T17:13:11Z","mergedAt":null,"number":94911,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(debug): stop non-interactive uploads from exposing private logs","updatedAt":"2026-08-26T14:39:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/94911"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA00BkQ","kind":"pull-request","label":"fix(desktop): protect background services from orphan reaper and allow loopback session token auth","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-24T16:20:26Z","updatedAt":"2026-08-24T16:55:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94020"},"data":{"createdAt":"2026-08-24T16:20:26Z","mergedAt":null,"number":94020,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): protect background services from orphan reaper and allow loopback session token auth","updatedAt":"2026-08-24T16:55:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/94020"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA05A4Q","kind":"pull-request","label":"fix(desktop): remove deprecated console-message arguments","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-24T16:30:43Z","updatedAt":"2026-08-25T11:29:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94027"},"data":{"additions":103,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-24T16:30:43Z","deletions":47,"headRefName":"fix/windows-desktop-console-message-deprecation","isDraft":false,"merged":false,"mergedAt":null,"number":94027,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): remove deprecated console-message arguments","updatedAt":"2026-08-25T11:29:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/94027","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA05hEg","kind":"pull-request","label":"chore(ci): temporary sparse merge probe for #93042","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-24T16:31:47Z","updatedAt":"2026-08-26T19:25:48Z","closedAt":"2026-08-24T19:03:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94029"},"data":{"additions":267,"baseRefName":"main","changedFiles":2,"closedAt":"2026-08-24T19:03:49Z","createdAt":"2026-08-24T16:31:47Z","deletions":0,"headRefName":"automation/resolve-93042-upstream-probe","isDraft":true,"merged":false,"mergedAt":null,"number":94029,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"chore(ci): temporary sparse merge probe for #93042","updatedAt":"2026-08-26T19:25:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/94029","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA0kFgA","kind":"pull-request","label":"feat(memory): opt-in fail-closed pre-compress checkpoint contract (API v1)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-24T15:46:02Z","updatedAt":"2026-08-25T10:56:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93996"},"data":{"createdAt":"2026-08-24T15:46:02Z","mergedAt":null,"number":93996,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(memory): opt-in fail-closed pre-compress checkpoint contract (API v1)","updatedAt":"2026-08-25T10:56:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/93996"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA0QqGQ","kind":"pull-request","label":"fix(desktop): let bot_relay.deliver outlive the generic 30s request deadline","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-24T15:09:17Z","updatedAt":"2026-08-30T01:17:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93965"},"data":{"createdAt":"2026-08-24T15:09:17Z","mergedAt":null,"number":93965,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): let bot_relay.deliver outlive the generic 30s request deadline","updatedAt":"2026-08-30T01:17:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/93965"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA0ZyvQ","kind":"pull-request","label":"feat(cron): add trusted scheduled-run hooks","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-24T15:24:37Z","updatedAt":"2026-08-27T19:42:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93977"},"data":{"createdAt":"2026-08-24T15:24:37Z","mergedAt":null,"number":93977,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(cron): add trusted scheduled-run hooks","updatedAt":"2026-08-27T19:42:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/93977"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA1bOcQ","kind":"pull-request","label":"feat(worktree): add durable conversation workspace core","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-24T17:47:32Z","updatedAt":"2026-08-24T21:18:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94079"},"data":{"createdAt":"2026-08-24T17:47:32Z","mergedAt":null,"number":94079,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(worktree): add durable conversation workspace core","updatedAt":"2026-08-24T21:18:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/94079"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA1q3EQ","kind":"pull-request","label":"fix(desktop-update): repair stale editable install before hand-off","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-24T18:23:53Z","updatedAt":"2026-08-25T11:16:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94107"},"data":{"additions":287,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-24T18:23:53Z","deletions":1,"headRefName":"fix/desktop-update-editable-preflight","isDraft":false,"merged":false,"mergedAt":null,"number":94107,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop-update): repair stale editable install before hand-off","updatedAt":"2026-08-25T11:16:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/94107","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA2C7SQ","kind":"pull-request","label":"fix(browser): keep CDP binary payloads byte-identical through redaction","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-24T19:19:19Z","updatedAt":"2026-08-28T11:59:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94142"},"data":{"createdAt":"2026-08-24T19:19:19Z","mergedAt":null,"number":94142,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(browser): keep CDP binary payloads byte-identical through redaction","updatedAt":"2026-08-28T11:59:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/94142"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA2MFVw","kind":"pull-request","label":"fix(gateway): retry failed deliveries while owner is alive","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-24T19:40:18Z","updatedAt":"2026-08-25T11:39:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94161"},"data":{"createdAt":"2026-08-24T19:40:18Z","mergedAt":null,"number":94161,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): retry failed deliveries while owner is alive","updatedAt":"2026-08-25T11:39:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/94161"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA2Zczw","kind":"pull-request","label":"fix(mcp): recover poisoned connections + fail fast on dead stdio transports (#85125 3b)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-24T20:10:44Z","updatedAt":"2026-08-24T22:05:39Z","mergedAt":"2026-08-24T22:05:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94184"},"data":{"createdAt":"2026-08-24T20:10:44Z","mergedAt":"2026-08-24T22:05:39Z","number":94184,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(mcp): recover poisoned connections + fail fast on dead stdio transports (#85125 3b)","updatedAt":"2026-08-24T22:05:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/94184"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA376OQ","kind":"pull-request","label":"fix(mcp): generation-scoped admission gate closes zero-RPC teardown window","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-25T01:02:28Z","updatedAt":"2026-08-26T15:59:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94327"},"data":{"createdAt":"2026-08-25T01:02:28Z","mergedAt":null,"number":94327,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(mcp): generation-scoped admission gate closes zero-RPC teardown window","updatedAt":"2026-08-26T15:59:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/94327"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA3DUqA","kind":"pull-request","label":"feat(gateway): slim WS-only server — remove FastAPI/uvicorn from desktop boot path","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-24T21:54:16Z","updatedAt":"2026-08-27T05:52:42Z","mergedAt":"2026-08-27T05:52:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94245"},"data":{"createdAt":"2026-08-24T21:54:16Z","mergedAt":"2026-08-27T05:52:42Z","number":94245,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(gateway): slim WS-only server — remove FastAPI/uvicorn from desktop boot path","updatedAt":"2026-08-27T05:52:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/94245"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA44Tcg","kind":"pull-request","label":"fix(compression): abort instead of dropping context on empty summarizer content","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-25T04:44:59Z","updatedAt":"2026-08-26T07:32:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94459"},"data":{"createdAt":"2026-08-25T04:44:59Z","mergedAt":null,"number":94459,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(compression): abort instead of dropping context on empty summarizer content","updatedAt":"2026-08-26T07:32:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/94459"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA4EjdA","kind":"pull-request","label":"fix(mcp): un-invert the stdio children liveness check","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-25T01:34:13Z","updatedAt":"2026-08-27T15:56:07Z","mergedAt":"2026-08-27T08:38:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94339"},"data":{"createdAt":"2026-08-25T01:34:13Z","mergedAt":"2026-08-27T08:38:20Z","number":94339,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(mcp): un-invert the stdio children liveness check","updatedAt":"2026-08-27T15:56:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/94339"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA4Hp8A","kind":"pull-request","label":"fix(update): fail closed on unproven stash restore","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-25T01:46:29Z","updatedAt":"2026-08-25T03:37:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94344"},"data":{"createdAt":"2026-08-25T01:46:29Z","mergedAt":null,"number":94344,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(update): fail closed on unproven stash restore","updatedAt":"2026-08-25T03:37:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/94344"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA4n_gw","kind":"pull-request","label":"feat(sessions): add verified local cold archive","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-25T03:43:47Z","updatedAt":"2026-08-26T00:29:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94428"},"data":{"createdAt":"2026-08-25T03:43:47Z","mergedAt":null,"number":94428,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(sessions): add verified local cold archive","updatedAt":"2026-08-26T00:29:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/94428"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA4R0hA","kind":"pull-request","label":"Workflows: author and run agent graphs (opt-in plugin)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-25T02:21:13Z","updatedAt":"2026-08-26T16:33:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94367"},"data":{"createdAt":"2026-08-25T02:21:13Z","mergedAt":null,"number":94367,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Workflows: author and run agent graphs (opt-in plugin)","updatedAt":"2026-08-26T16:33:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/94367"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA5eNdQ","kind":"pull-request","label":"fix(agent): don't remap check_fn-gated tool names onto siblings","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-25T06:48:58Z","updatedAt":"2026-08-26T00:58:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94517"},"data":{"createdAt":"2026-08-25T06:48:58Z","mergedAt":null,"number":94517,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(agent): don't remap check_fn-gated tool names onto siblings","updatedAt":"2026-08-26T00:58:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/94517"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA6_MJA","kind":"pull-request","label":"feat(tools): session-persistent kernels for execute_code (kernel_mode: session)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-25T10:26:45Z","updatedAt":"2026-08-27T19:26:32Z","mergedAt":"2026-08-27T19:26:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94647"},"data":{"createdAt":"2026-08-25T10:26:45Z","mergedAt":"2026-08-27T19:26:32Z","number":94647,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(tools): session-persistent kernels for execute_code (kernel_mode: session)","updatedAt":"2026-08-27T19:26:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/94647"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA6D1sw","kind":"pull-request","label":"fix(cloud): accept peer messages on OAuth-gated agents","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-25T08:23:26Z","updatedAt":"2026-08-30T06:25:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94579"},"data":{"createdAt":"2026-08-25T08:23:26Z","mergedAt":null,"number":94579,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cloud): accept peer messages on OAuth-gated agents","updatedAt":"2026-08-30T06:25:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/94579"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA6ZBBg","kind":"pull-request","label":"fix(compressor): abort compression on empty-content provider degradation (#94448) — salvage of #94531","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-25T09:06:49Z","updatedAt":"2026-08-26T07:32:28Z","mergedAt":"2026-08-26T07:32:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94606"},"data":{"createdAt":"2026-08-25T09:06:49Z","mergedAt":"2026-08-26T07:32:28Z","number":94606,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(compressor): abort compression on empty-content provider degradation (#94448) — salvage of #94531","updatedAt":"2026-08-26T07:32:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/94606"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA73T9A","kind":"pull-request","label":"fix(gateway): deliver background-process completions to secondary profiles under multiplexing","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-25T12:35:47Z","updatedAt":"2026-08-27T14:42:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94744"},"data":{"createdAt":"2026-08-25T12:35:47Z","mergedAt":null,"number":94744,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): deliver background-process completions to secondary profiles under multiplexing","updatedAt":"2026-08-27T14:42:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/94744"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA76OWw","kind":"pull-request","label":"fix(sandbox): restore npm installer trust and exact-head E2E","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-25T12:42:04Z","updatedAt":"2026-08-27T19:09:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94746"},"data":{"additions":424,"baseRefName":"main","changedFiles":8,"closedAt":null,"createdAt":"2026-08-25T12:42:04Z","deletions":29,"headRefName":"fix/install-e2e-acceptance-94613","isDraft":false,"merged":false,"mergedAt":null,"number":94746,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(sandbox): restore npm installer trust and exact-head E2E","updatedAt":"2026-08-27T19:09:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/94746","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA7aqsA","kind":"pull-request","label":"fix(state): declare origin_session_id in the canonical async_delegations schema","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-25T11:31:46Z","updatedAt":"2026-08-25T14:40:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94701"},"data":{"createdAt":"2026-08-25T11:31:46Z","mergedAt":null,"number":94701,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(state): declare origin_session_id in the canonical async_delegations schema","updatedAt":"2026-08-25T14:40:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/94701"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA7YVAA","kind":"pull-request","label":"fix(memory): key OpenViking user-space cache on the resolving client's own snapshot","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-25T11:26:08Z","updatedAt":"2026-08-25T11:51:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94698"},"data":{"createdAt":"2026-08-25T11:26:08Z","mergedAt":null,"number":94698,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(memory): key OpenViking user-space cache on the resolving client's own snapshot","updatedAt":"2026-08-25T11:51:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/94698"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA9s1_w","kind":"pull-request","label":"fix(security): compose child boundary and profile provenance","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-25T16:28:33Z","updatedAt":"2026-08-27T17:40:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94878"},"data":{"createdAt":"2026-08-25T16:28:33Z","mergedAt":null,"number":94878,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): compose child boundary and profile provenance","updatedAt":"2026-08-27T17:40:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/94878"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABA9XXJg","kind":"pull-request","label":"Fix shell injection in quick commands + SSL verify scope + CSP headers","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-25T15:42:33Z","updatedAt":"2026-08-26T17:56:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94850"},"data":{"createdAt":"2026-08-25T15:42:33Z","mergedAt":null,"number":94850,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Fix shell injection in quick commands + SSL verify scope + CSP headers","updatedAt":"2026-08-26T17:56:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/94850"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAA4FzQ","kind":"pull-request","label":"fix(mcp): sanitize invisible Unicode TAG chars in structuredContent/_meta","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-17T11:38:16Z","updatedAt":"2026-08-17T12:35:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88376"},"data":{"createdAt":"2026-08-17T11:38:16Z","mergedAt":null,"number":88376,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(mcp): sanitize invisible Unicode TAG chars in structuredContent/_meta","updatedAt":"2026-08-17T12:35:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/88376"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAa4otg","kind":"pull-request","label":"fix(install): disclose an install that lost hash verification","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-20T13:16:13Z","updatedAt":"2026-08-21T01:45:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90826"},"data":{"createdAt":"2026-08-20T13:16:13Z","mergedAt":null,"number":90826,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(install): disclose an install that lost hash verification","updatedAt":"2026-08-21T01:45:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/90826"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAb6cuw","kind":"pull-request","label":"security: restore session write and self-improvement enforcement","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-20T15:23:14Z","updatedAt":"2026-08-29T08:46:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90883"},"data":{"createdAt":"2026-08-20T15:23:14Z","mergedAt":null,"number":90883,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"security: restore session write and self-improvement enforcement","updatedAt":"2026-08-29T08:46:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/90883"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABABfHDQ","kind":"pull-request","label":"fix(state): stop the unbounded state.db repair loop (salvage of #88224)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-17T13:04:13Z","updatedAt":"2026-08-23T16:36:19Z","mergedAt":"2026-08-22T09:03:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88425"},"data":{"createdAt":"2026-08-17T13:04:13Z","mergedAt":"2026-08-22T09:03:21Z","number":88425,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(state): stop the unbounded state.db repair loop (salvage of #88224)","updatedAt":"2026-08-23T16:36:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/88425"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAbKbRQ","kind":"pull-request","label":"fix(gateway): bound the hygiene-compression turn-hold so a streaming summary cannot freeze the turn","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-20T13:53:19Z","updatedAt":"2026-08-22T15:09:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90845"},"data":{"createdAt":"2026-08-20T13:53:19Z","mergedAt":null,"number":90845,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): bound the hygiene-compression turn-hold so a streaming summary cannot freeze the turn","updatedAt":"2026-08-22T15:09:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/90845"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABABqL-A","kind":"pull-request","label":"fix(security): 10 bounded hardening guards (F1-F10): credential ACLs, hooks gate, cron script lane, MCP trust, media delivery, config fail-closed","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-17T13:26:52Z","updatedAt":"2026-08-21T04:20:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88435"},"data":{"createdAt":"2026-08-17T13:26:52Z","mergedAt":null,"number":88435,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): 10 bounded hardening guards (F1-F10): credential ACLs, hooks gate, cron script lane, MCP trust, media delivery, config fail-closed","updatedAt":"2026-08-21T04:20:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/88435"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAbR5kA","kind":"pull-request","label":"fix(desktop): resolve Win10 translucency defaults from platform, not glass capability","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-20T14:08:26Z","updatedAt":"2026-08-22T17:31:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90852"},"data":{"createdAt":"2026-08-20T14:08:26Z","mergedAt":null,"number":90852,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): resolve Win10 translucency defaults from platform, not glass capability","updatedAt":"2026-08-22T17:31:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/90852"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABABrHpg","kind":"pull-request","label":"fix(gateway): carry the profile in adapter-derived session keys","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-17T13:28:56Z","updatedAt":"2026-08-19T09:00:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88437"},"data":{"createdAt":"2026-08-17T13:28:56Z","mergedAt":null,"number":88437,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): carry the profile in adapter-derived session keys","updatedAt":"2026-08-19T09:00:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/88437"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAc-FnA","kind":"pull-request","label":"refactor(webhook): establish canonical intake authority","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-20T17:57:42Z","updatedAt":"2026-08-28T11:39:36Z","closedAt":"2026-08-28T11:39:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90995"},"data":{"additions":763,"baseRefName":"main","changedFiles":2,"closedAt":"2026-08-28T11:39:36Z","createdAt":"2026-08-20T17:57:42Z","deletions":0,"headRefName":"convergence/webhook-authority-spine-90989","isDraft":false,"merged":false,"mergedAt":null,"number":90995,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"refactor(webhook): establish canonical intake authority","updatedAt":"2026-08-28T11:39:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/90995","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAc8eug","kind":"pull-request","label":"fix(desktop): route v2 registry SSH terminals remotely","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-20T17:53:55Z","updatedAt":"2026-08-26T07:43:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90993"},"data":{"createdAt":"2026-08-20T17:53:55Z","mergedAt":null,"number":90993,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): route v2 registry SSH terminals remotely","updatedAt":"2026-08-26T07:43:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/90993"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAcBl5g","kind":"pull-request","label":"fix(mcp-oauth): bind delegated auth-flow teardown to the owning task","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-20T15:37:12Z","updatedAt":"2026-08-29T23:40:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90888"},"data":{"additions":408,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-20T15:37:12Z","deletions":10,"headRefName":"fix/mcp-oauth-lifecycle-current-main","isDraft":false,"merged":false,"mergedAt":null,"number":90888,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(mcp-oauth): bind delegated auth-flow teardown to the owning task","updatedAt":"2026-08-29T23:40:24Z","url":"https://github.com/NousResearch/hermes-agent/pull/90888","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAccoDw","kind":"pull-request","label":"fix(desktop): deliver timed-out group replies automatically","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-20T16:37:26Z","updatedAt":"2026-08-21T15:48:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90933"},"data":{"createdAt":"2026-08-20T16:37:26Z","mergedAt":null,"number":90933,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): deliver timed-out group replies automatically","updatedAt":"2026-08-21T15:48:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/90933"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAceVHA","kind":"pull-request","label":"fix(installer): the bootstrap installer stops waiting on pipe EOF","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-20T16:41:25Z","updatedAt":"2026-08-20T17:51:16Z","mergedAt":"2026-08-20T17:50:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90941"},"data":{"createdAt":"2026-08-20T16:41:25Z","mergedAt":"2026-08-20T17:50:43Z","number":90941,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(installer): the bootstrap installer stops waiting on pipe EOF","updatedAt":"2026-08-20T17:51:16Z","url":"https://github.com/NousResearch/hermes-agent/pull/90941"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAcOh7g","kind":"pull-request","label":"fix(desktop): make explicit connection identity authoritative","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-20T16:04:50Z","updatedAt":"2026-08-21T22:45:41Z","closedAt":"2026-08-21T22:45:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90913"},"data":{"additions":1639,"baseRefName":"main","changedFiles":5,"closedAt":"2026-08-21T22:45:41Z","createdAt":"2026-08-20T16:04:50Z","deletions":1160,"headRefName":"fix/connection-id-authority-followup","isDraft":false,"merged":false,"mergedAt":null,"number":90913,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): make explicit connection identity authoritative","updatedAt":"2026-08-21T22:45:41Z","url":"https://github.com/NousResearch/hermes-agent/pull/90913","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAcovJg","kind":"pull-request","label":"fix(desktop): never delete safeStorage keychain item during macOS re-sign; verify fallback strictly","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-20T17:06:27Z","updatedAt":"2026-08-26T06:23:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90961"},"data":{"createdAt":"2026-08-20T17:06:27Z","mergedAt":null,"number":90961,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): never delete safeStorage keychain item during macOS re-sign; verify fallback strictly","updatedAt":"2026-08-26T06:23:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/90961"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAcpVFA","kind":"pull-request","label":"fix(deps): refresh security-sensitive dependency pins","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-20T17:07:55Z","updatedAt":"2026-08-26T19:27:09Z","closedAt":"2026-08-20T20:43:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90962"},"data":{"additions":274,"baseRefName":"main","changedFiles":1,"closedAt":"2026-08-20T20:43:48Z","createdAt":"2026-08-20T17:07:55Z","deletions":0,"headRefName":"security/ghsa-remediation-c47f0b4","isDraft":false,"merged":false,"mergedAt":null,"number":90962,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(deps): refresh security-sensitive dependency pins","updatedAt":"2026-08-26T19:27:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/90962","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAcw93w","kind":"pull-request","label":"fix(prompt_caching): make apply_anthropic_cache_control idempotent on pre-decorated input","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-20T17:26:18Z","updatedAt":"2026-08-21T06:50:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90972"},"data":{"createdAt":"2026-08-20T17:26:18Z","mergedAt":null,"number":90972,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(prompt_caching): make apply_anthropic_cache_control idempotent on pre-decorated input","updatedAt":"2026-08-21T06:50:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/90972"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAcxbSg","kind":"pull-request","label":"fix(native_compaction): preserve compression summary messages during pre-checkpoint pruning","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-20T17:27:29Z","updatedAt":"2026-08-21T11:47:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90976"},"data":{"createdAt":"2026-08-20T17:27:29Z","mergedAt":null,"number":90976,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(native_compaction): preserve compression summary messages during pre-checkpoint pruning","updatedAt":"2026-08-21T11:47:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/90976"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAcXnfg","kind":"pull-request","label":"feat(desktop): carry route activation proof into file mutations","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-20T16:26:12Z","updatedAt":"2026-08-23T07:04:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90924"},"data":{"additions":2535,"baseRefName":"main","changedFiles":17,"closedAt":null,"createdAt":"2026-08-20T16:26:12Z","deletions":117,"headRefName":"architecture/proof-carrying-route-activation","isDraft":false,"merged":false,"mergedAt":null,"number":90924,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(desktop): carry route activation proof into file mutations","updatedAt":"2026-08-23T07:04:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/90924","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAd_eWw","kind":"pull-request","label":"test(state): reproduce #90950 WAL sidecar split-brain","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-20T20:38:34Z","updatedAt":"2026-08-27T14:37:20Z","closedAt":"2026-08-27T14:37:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91080"},"data":{"additions":872,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-27T14:37:20Z","createdAt":"2026-08-20T20:38:34Z","deletions":0,"headRefName":"repro/90950-wal-sidecar","isDraft":false,"merged":false,"mergedAt":null,"number":91080,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"test(state): reproduce #90950 WAL sidecar split-brain","updatedAt":"2026-08-27T14:37:20Z","url":"https://github.com/NousResearch/hermes-agent/pull/91080","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAD4w9w","kind":"pull-request","label":"fix: harden approval-gated writes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-17T20:33:08Z","updatedAt":"2026-08-29T09:37:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88636"},"data":{"createdAt":"2026-08-17T20:33:08Z","mergedAt":null,"number":88636,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix: harden approval-gated writes","updatedAt":"2026-08-29T09:37:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/88636"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAd9ajw","kind":"pull-request","label":"fix(desktop): make Windows package rebuild transactional and self-healing","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-20T20:33:28Z","updatedAt":"2026-08-31T16:16:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91079"},"data":{"additions":2973,"baseRefName":"main","changedFiles":18,"closedAt":null,"createdAt":"2026-08-20T20:33:28Z","deletions":67,"headRefName":"fix/windows-desktop-pack-transaction","isDraft":true,"merged":false,"mergedAt":null,"number":91079,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): make Windows package rebuild transactional and self-healing","updatedAt":"2026-08-31T16:16:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/91079","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABADC_5Q","kind":"pull-request","label":"fix(compression): make durable adoption proof-preserving across repair and restore","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-17T18:20:21Z","updatedAt":"2026-08-31T15:55:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88551"},"data":{"additions":457,"baseRefName":"main","changedFiles":10,"closedAt":null,"createdAt":"2026-08-17T18:20:21Z","deletions":42,"headRefName":"fix/compression-stale-adoption-class","isDraft":false,"merged":false,"mergedAt":null,"number":88551,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(compression): make durable adoption proof-preserving across repair and restore","updatedAt":"2026-08-31T15:55:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/88551","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAdcbMA","kind":"pull-request","label":"docs(slack): install executable parity and @Hermes Tag ledger","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-20T19:10:42Z","updatedAt":"2026-08-22T20:54:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91036"},"data":{"additions":2778,"baseRefName":"main","changedFiles":22,"closedAt":null,"createdAt":"2026-08-20T19:10:42Z","deletions":0,"headRefName":"campaign/slack-parity-ledger","isDraft":false,"merged":false,"mergedAt":null,"number":91036,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(slack): install executable parity and @Hermes Tag ledger","updatedAt":"2026-08-22T20:54:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/91036","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABADD7_A","kind":"pull-request","label":"fix(desktop): open WSL links via rundll32 instead of cmd start","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-17T18:22:53Z","updatedAt":"2026-08-18T13:38:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88558"},"data":{"createdAt":"2026-08-17T18:22:53Z","mergedAt":null,"number":88558,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): open WSL links via rundll32 instead of cmd start","updatedAt":"2026-08-18T13:38:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/88558"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABADD9Ow","kind":"pull-request","label":"fix(gateway): read adapter allowlists through profile secret scope","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-17T18:22:56Z","updatedAt":"2026-08-19T16:38:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88559"},"data":{"createdAt":"2026-08-17T18:22:56Z","mergedAt":null,"number":88559,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): read adapter allowlists through profile secret scope","updatedAt":"2026-08-19T16:38:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/88559"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABADEBdQ","kind":"pull-request","label":"fix(email): require authserv-id before trusting Authentication-Results","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-17T18:23:05Z","updatedAt":"2026-08-18T15:19:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88560"},"data":{"createdAt":"2026-08-17T18:23:05Z","mergedAt":null,"number":88560,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(email): require authserv-id before trusting Authentication-Results","updatedAt":"2026-08-18T15:19:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/88560"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABADg8Gw","kind":"pull-request","label":"fix(langfuse): fully redact secrets and emails before cloud upload","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-17T19:29:45Z","updatedAt":"2026-08-19T03:49:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88608"},"data":{"createdAt":"2026-08-17T19:29:45Z","mergedAt":null,"number":88608,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(langfuse): fully redact secrets and emails before cloud upload","updatedAt":"2026-08-19T03:49:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/88608"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAdhHaw","kind":"pull-request","label":"fix(deps): remediate active dependency advisories","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-20T19:22:09Z","updatedAt":"2026-08-21T23:42:51Z","closedAt":"2026-08-21T17:18:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91042"},"data":{"additions":0,"baseRefName":"main","changedFiles":0,"closedAt":"2026-08-21T17:18:20Z","createdAt":"2026-08-20T19:22:09Z","deletions":0,"headRefName":"security/p0-dependency-remediation-20260820","isDraft":false,"merged":false,"mergedAt":null,"number":91042,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(deps): remediate active dependency advisories","updatedAt":"2026-08-21T23:42:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/91042","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAdUzGg","kind":"pull-request","label":"fix(approval): prevent Docker authorization bypass of deny policy","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-20T18:51:37Z","updatedAt":"2026-08-20T20:02:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91029"},"data":{"createdAt":"2026-08-20T18:51:37Z","mergedAt":null,"number":91029,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(approval): prevent Docker authorization bypass of deny policy","updatedAt":"2026-08-20T20:02:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/91029"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAdxPlA","kind":"pull-request","label":"fix(desktop): recover corrupt Windows native deps in isolation","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-20T20:02:27Z","updatedAt":"2026-08-21T00:41:21Z","closedAt":"2026-08-21T00:41:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91063"},"data":{"additions":506,"baseRefName":"main","changedFiles":5,"closedAt":"2026-08-21T00:41:21Z","createdAt":"2026-08-20T20:02:27Z","deletions":4,"headRefName":"fix/windows-get-windows-isolated-recovery","isDraft":false,"merged":false,"mergedAt":null,"number":91063,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): recover corrupt Windows native deps in isolation","updatedAt":"2026-08-21T00:41:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/91063","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAE1X4g","kind":"pull-request","label":"docs(cli): correct /model module docstring to match colon-syntax behavior","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-17T23:36:53Z","updatedAt":"2026-08-31T17:01:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88754"},"data":{"additions":8,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-17T23:36:53Z","deletions":3,"headRefName":"docs/model-switch-docstring-fix","isDraft":false,"merged":false,"mergedAt":null,"number":88754,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(cli): correct /model module docstring to match colon-syntax behavior","updatedAt":"2026-08-31T17:01:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/88754","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAe54aA","kind":"pull-request","label":"fix(kanban): defer manual reclaim until worker termination is proven","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-20T23:29:17Z","updatedAt":"2026-08-22T20:05:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91162"},"data":{"createdAt":"2026-08-20T23:29:17Z","mergedAt":null,"number":91162,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(kanban): defer manual reclaim until worker termination is proven","updatedAt":"2026-08-22T20:05:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/91162"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAE5vrA","kind":"pull-request","label":"fix(desktop): make runtime provisioning primary-only","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-17T23:49:49Z","updatedAt":"2026-08-21T04:15:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88764"},"data":{"additions":109,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-17T23:49:49Z","deletions":4,"headRefName":"agent/runtime-provisioning-primary-only","isDraft":false,"merged":false,"mergedAt":null,"number":88764,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): make runtime provisioning primary-only","updatedAt":"2026-08-21T04:15:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/88764","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAE93Cg","kind":"pull-request","label":"docs(readme): fix interrupt row for /busy steer model; add high-value quick starts","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-18T00:01:50Z","updatedAt":"2026-08-31T16:16:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88770"},"data":{"additions":10,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-18T00:01:50Z","deletions":1,"headRefName":"docs/readme-busy-interrupt","isDraft":false,"merged":false,"mergedAt":null,"number":88770,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(readme): fix interrupt row for /busy steer model; add high-value quick starts","updatedAt":"2026-08-31T16:16:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/88770","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAeqsEg","kind":"pull-request","label":"fix(mcp): restrict catalog environment writes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-20T22:36:40Z","updatedAt":"2026-08-26T16:54:33Z","mergedAt":"2026-08-26T16:54:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91139"},"data":{"createdAt":"2026-08-20T22:36:40Z","mergedAt":"2026-08-26T16:54:32Z","number":91139,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(mcp): restrict catalog environment writes","updatedAt":"2026-08-26T16:54:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/91139"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAeRRvw","kind":"pull-request","label":"feat(hermes-tag): add additive governance and continuity kernel","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-20T21:25:23Z","updatedAt":"2026-08-22T20:05:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91111"},"data":{"additions":8912,"baseRefName":"main","changedFiles":29,"closedAt":null,"createdAt":"2026-08-20T21:25:23Z","deletions":0,"headRefName":"campaign/hermes-tag-kernel","isDraft":false,"merged":false,"mergedAt":null,"number":91111,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(hermes-tag): add additive governance and continuity kernel","updatedAt":"2026-08-22T20:05:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/91111","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAey9Dw","kind":"pull-request","label":"feat: expose bounded MCP App envelopes in session chat","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-20T23:03:54Z","updatedAt":"2026-08-22T20:05:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91152"},"data":{"createdAt":"2026-08-20T23:03:54Z","mergedAt":null,"number":91152,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat: expose bounded MCP App envelopes in session chat","updatedAt":"2026-08-22T20:05:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/91152"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAEygHQ","kind":"pull-request","label":"fix(security): refuse file-tool writes to git-managed state under .git","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-17T23:26:32Z","updatedAt":"2026-08-17T23:43:01Z","closedAt":"2026-08-17T23:43:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88747"},"data":{"additions":186,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-17T23:43:01Z","createdAt":"2026-08-17T23:26:32Z","deletions":0,"headRefName":"fix/file-tools-git-state-guard","isDraft":false,"merged":false,"mergedAt":null,"number":88747,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(security): refuse file-tool writes to git-managed state under .git","updatedAt":"2026-08-17T23:43:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/88747","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAf4F_g","kind":"pull-request","label":"feat(api): add locked request-scoped model runtimes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T03:11:59Z","updatedAt":"2026-08-24T06:59:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91267"},"data":{"createdAt":"2026-08-21T03:11:59Z","mergedAt":null,"number":91267,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(api): add locked request-scoped model runtimes","updatedAt":"2026-08-24T06:59:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/91267"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAF5yAg","kind":"pull-request","label":"WIP(mcp): dual-era hardening — bounded -32602 proof probe pending","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-18T03:19:24Z","updatedAt":"2026-08-19T20:13:54Z","closedAt":"2026-08-19T20:05:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88875"},"data":{"additions":2545,"baseRefName":"main","changedFiles":27,"closedAt":"2026-08-19T20:05:57Z","createdAt":"2026-08-18T03:19:24Z","deletions":89,"headRefName":"fix/mcp-dual-era-conformance-first","isDraft":false,"merged":false,"mergedAt":null,"number":88875,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"WIP(mcp): dual-era hardening — bounded -32602 proof probe pending","updatedAt":"2026-08-19T20:13:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/88875","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAFbfmQ","kind":"pull-request","label":"fix(security): validate context-engine message selection to block system injection","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-18T01:38:27Z","updatedAt":"2026-08-18T02:48:58Z","closedAt":"2026-08-18T02:48:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88835"},"data":{"additions":158,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-18T02:48:58Z","createdAt":"2026-08-18T01:38:27Z","deletions":0,"headRefName":"fix/context-engine-validate","isDraft":false,"merged":false,"mergedAt":null,"number":88835,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(security): validate context-engine message selection to block system injection","updatedAt":"2026-08-18T02:48:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/88835","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAFBhUA","kind":"pull-request","label":"fix(security): fail closed when website-policy module is unavailable","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-18T00:12:10Z","updatedAt":"2026-08-31T17:01:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88774"},"data":{"additions":210,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-18T00:12:10Z","deletions":29,"headRefName":"fix/browser-policy-fail-closed","isDraft":false,"merged":false,"mergedAt":null,"number":88774,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): fail closed when website-policy module is unavailable","updatedAt":"2026-08-31T17:01:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/88774","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAFdS2A","kind":"pull-request","label":"fix(ci): fail the aggregate gate on cancelled jobs, not just failures","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-18T01:45:41Z","updatedAt":"2026-08-20T20:47:47Z","closedAt":"2026-08-20T20:47:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88837"},"data":{"additions":12,"baseRefName":"main","changedFiles":2,"closedAt":"2026-08-20T20:47:47Z","createdAt":"2026-08-18T01:45:41Z","deletions":4,"headRefName":"fix/ci-aggregate-strict","isDraft":false,"merged":false,"mergedAt":null,"number":88837,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(ci): fail the aggregate gate on cancelled jobs, not just failures","updatedAt":"2026-08-20T20:47:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/88837","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAFInRw","kind":"pull-request","label":"fix(security): fail closed when requested docker resource limits cannot be enforced","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-18T00:32:23Z","updatedAt":"2026-08-31T17:01:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88784"},"data":{"additions":91,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-18T00:32:23Z","deletions":3,"headRefName":"fix/docker-cgroup-fail-closed","isDraft":false,"merged":false,"mergedAt":null,"number":88784,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): fail closed when requested docker resource limits cannot be enforced","updatedAt":"2026-08-31T17:01:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/88784","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAfKQ3Q","kind":"pull-request","label":"fix(gateway): make Windows Scheduled Task install valid on workgroup hosts","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-21T00:33:37Z","updatedAt":"2026-08-30T04:55:21Z","closedAt":"2026-08-21T01:57:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91185"},"data":{"additions":53,"baseRefName":"main","changedFiles":2,"closedAt":"2026-08-21T01:57:49Z","createdAt":"2026-08-21T00:33:37Z","deletions":3,"headRefName":"fix/windows-scheduled-task-principal","isDraft":false,"merged":false,"mergedAt":null,"number":91185,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): make Windows Scheduled Task install valid on workgroup hosts","updatedAt":"2026-08-30T04:55:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/91185","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAfL82w","kind":"pull-request","label":"fix(update): restore a Desktop build wiped by an earlier Windows update","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-21T00:39:57Z","updatedAt":"2026-08-21T01:57:11Z","closedAt":"2026-08-21T01:57:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91193"},"data":{"additions":105,"baseRefName":"main","changedFiles":2,"closedAt":"2026-08-21T01:57:11Z","createdAt":"2026-08-21T00:39:57Z","deletions":2,"headRefName":"fix/windows-desktop-wipe-recovery","isDraft":false,"merged":false,"mergedAt":null,"number":91193,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(update): restore a Desktop build wiped by an earlier Windows update","updatedAt":"2026-08-21T01:57:11Z","url":"https://github.com/NousResearch/hermes-agent/pull/91193","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAfL8hg","kind":"pull-request","label":"feat(a2a): authorize named peers for local operator tasks","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T00:39:55Z","updatedAt":"2026-08-25T05:20:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91192"},"data":{"createdAt":"2026-08-21T00:39:55Z","mergedAt":null,"number":91192,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(a2a): authorize named peers for local operator tasks","updatedAt":"2026-08-25T05:20:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/91192"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAfLCmQ","kind":"pull-request","label":"fix(desktop): make managed Node authoritative for Windows install scripts","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-21T00:36:16Z","updatedAt":"2026-08-21T01:57:33Z","closedAt":"2026-08-21T01:57:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91188"},"data":{"additions":63,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-21T01:57:33Z","createdAt":"2026-08-21T00:36:16Z","deletions":9,"headRefName":"fix/windows-managed-node-authority","isDraft":false,"merged":false,"mergedAt":null,"number":91188,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): make managed Node authoritative for Windows install scripts","updatedAt":"2026-08-21T01:57:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/91188","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAFMOOQ","kind":"pull-request","label":"fix(security): scan the tail of oversized input for threats","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-18T00:42:15Z","updatedAt":"2026-08-22T01:47:04Z","closedAt":"2026-08-22T01:47:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88790"},"data":{"additions":92,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-22T01:47:04Z","createdAt":"2026-08-18T00:42:15Z","deletions":24,"headRefName":"fix/threat-scan-head-tail","isDraft":false,"merged":false,"mergedAt":null,"number":88790,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(security): scan the tail of oversized input for threats","updatedAt":"2026-08-22T01:47:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/88790","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAfN0yw","kind":"pull-request","label":"feat(proxy): add loopback OpenAI Codex OAuth adapter","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T00:47:22Z","updatedAt":"2026-08-23T05:53:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91199"},"data":{"createdAt":"2026-08-21T00:47:22Z","mergedAt":null,"number":91199,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(proxy): add loopback OpenAI Codex OAuth adapter","updatedAt":"2026-08-23T05:53:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/91199"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAfNIiA","kind":"pull-request","label":"fix(install): fail clearly before PowerShell ConstrainedLanguage mutates anything","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-21T00:44:55Z","updatedAt":"2026-08-21T01:56:52Z","closedAt":"2026-08-21T01:56:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91196"},"data":{"additions":235,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-21T01:56:52Z","createdAt":"2026-08-21T00:44:55Z","deletions":0,"headRefName":"fix/windows-clm-preflight","isDraft":false,"merged":false,"mergedAt":null,"number":91196,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(install): fail clearly before PowerShell ConstrainedLanguage mutates anything","updatedAt":"2026-08-21T01:56:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/91196","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAFPZlw","kind":"pull-request","label":"fix(security): memory prefetch quarantine/finalization — rebuild required","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-18T00:52:54Z","updatedAt":"2026-08-26T19:02:15Z","closedAt":"2026-08-26T19:02:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88796"},"data":{"additions":0,"baseRefName":"main","changedFiles":0,"closedAt":"2026-08-26T19:02:15Z","createdAt":"2026-08-18T00:52:54Z","deletions":0,"headRefName":"fix/memory-prefetch-cancel","isDraft":true,"merged":false,"mergedAt":null,"number":88796,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(security): memory prefetch quarantine/finalization — rebuild required","updatedAt":"2026-08-26T19:02:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/88796","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAFRRDA","kind":"pull-request","label":"fix(gateway): persist session routing identity and recover transcripts when state.db is unavailable","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-18T00:59:15Z","updatedAt":"2026-08-20T13:52:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88804"},"data":{"createdAt":"2026-08-18T00:59:15Z","mergedAt":null,"number":88804,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): persist session routing identity and recover transcripts when state.db is unavailable","updatedAt":"2026-08-20T13:52:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/88804"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAfsZ1Q","kind":"pull-request","label":"feat(delegation): subagents can fork the parent conversation (port of kimi-code#3007)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T02:35:08Z","updatedAt":"2026-08-22T19:49:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91252"},"data":{"createdAt":"2026-08-21T02:35:08Z","mergedAt":null,"number":91252,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(delegation): subagents can fork the parent conversation (port of kimi-code#3007)","updatedAt":"2026-08-22T19:49:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/91252"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAFTYbw","kind":"pull-request","label":"fix(security): treat explicit empty execute_code grant as deny-all","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-18T01:06:17Z","updatedAt":"2026-08-18T02:48:05Z","closedAt":"2026-08-18T02:48:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88814"},"data":{"additions":68,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-18T02:48:05Z","createdAt":"2026-08-18T01:06:17Z","deletions":14,"headRefName":"fix/execute-code-empty-deny","isDraft":false,"merged":false,"mergedAt":null,"number":88814,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(security): treat explicit empty execute_code grant as deny-all","updatedAt":"2026-08-18T02:48:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/88814","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAFxqgA","kind":"pull-request","label":"fix(agent): roll back both iteration gates on empty-response fallback (#77305)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-18T02:54:38Z","updatedAt":"2026-08-21T04:20:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88867"},"data":{"additions":215,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-18T02:54:38Z","deletions":0,"headRefName":"fix/77305-empty-response-boundary","isDraft":false,"merged":false,"mergedAt":null,"number":88867,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(agent): roll back both iteration gates on empty-response fallback (#77305)","updatedAt":"2026-08-21T04:20:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/88867","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAGBMXQ","kind":"pull-request","label":"feat(state): add optional PostgreSQL session/state backend","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-18T03:48:14Z","updatedAt":"2026-08-21T14:40:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88889"},"data":{"createdAt":"2026-08-18T03:48:14Z","mergedAt":null,"number":88889,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(state): add optional PostgreSQL session/state backend","updatedAt":"2026-08-21T14:40:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/88889"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAgbOjg","kind":"pull-request","label":"feat(update): add deployment-plan admission with fail-closed legacy guard","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-21T05:19:58Z","updatedAt":"2026-08-22T19:59:37Z","closedAt":"2026-08-22T18:17:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91316"},"data":{"additions":1071,"baseRefName":"main","changedFiles":5,"closedAt":"2026-08-22T18:17:08Z","createdAt":"2026-08-21T05:19:58Z","deletions":1,"headRefName":"architecture/deployment-plan-admission","isDraft":false,"merged":false,"mergedAt":null,"number":91316,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(update): add deployment-plan admission with fail-closed legacy guard","updatedAt":"2026-08-22T19:59:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/91316","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAgEHMw","kind":"pull-request","label":"feat(update): hermes update now proves its outcome — receipts + fleet version verification (#91277 Phase 1)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-21T03:51:20Z","updatedAt":"2026-08-21T04:54:28Z","mergedAt":"2026-08-21T04:54:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91283"},"data":{"createdAt":"2026-08-21T03:51:20Z","mergedAt":"2026-08-21T04:54:26Z","number":91283,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(update): hermes update now proves its outcome — receipts + fleet version verification (#91277 Phase 1)","updatedAt":"2026-08-21T04:54:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/91283"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAgi0vg","kind":"pull-request","label":"ci: verify and export the Windows generation-barrier source","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-21T05:46:55Z","updatedAt":"2026-08-21T18:29:46Z","closedAt":"2026-08-21T17:21:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91327"},"data":{"additions":2067,"baseRefName":"main","changedFiles":1,"closedAt":"2026-08-21T17:21:59Z","createdAt":"2026-08-21T05:46:55Z","deletions":0,"headRefName":"ci/windows-generation-source-artifact","isDraft":false,"merged":false,"mergedAt":null,"number":91327,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"ci: verify and export the Windows generation-barrier source","updatedAt":"2026-08-21T18:29:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/91327","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAGiuJQ","kind":"pull-request","label":"fix(desktop): prevent remote config overwrite & preserve basic auth credentials (#88913)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-18T05:45:55Z","updatedAt":"2026-08-22T01:52:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88947"},"data":{"createdAt":"2026-08-18T05:45:55Z","mergedAt":null,"number":88947,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): prevent remote config overwrite & preserve basic auth credentials (#88913)","updatedAt":"2026-08-22T01:52:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/88947"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAgJZmg","kind":"pull-request","label":"fix(security): enforce provenance-based profile subprocess isolation","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T04:09:18Z","updatedAt":"2026-08-30T05:53:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91293"},"data":{"createdAt":"2026-08-21T04:09:18Z","mergedAt":null,"number":91293,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): enforce provenance-based profile subprocess isolation","updatedAt":"2026-08-30T05:53:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/91293"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAgwweA","kind":"pull-request","label":"fix(profiles): stop isolated dashboards from enabling cross-profile prompt injection","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T06:24:55Z","updatedAt":"2026-08-21T07:45:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91345"},"data":{"createdAt":"2026-08-21T06:24:55Z","mergedAt":null,"number":91345,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(profiles): stop isolated dashboards from enabling cross-profile prompt injection","updatedAt":"2026-08-21T07:45:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/91345"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAhnzog","kind":"pull-request","label":"fix: classify provider empty worker exits","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T08:42:57Z","updatedAt":"2026-08-22T19:45:22Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91403"},"data":{"createdAt":"2026-08-21T08:42:57Z","mergedAt":null,"number":91403,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix: classify provider empty worker exits","updatedAt":"2026-08-22T19:45:22Z","url":"https://github.com/NousResearch/hermes-agent/pull/91403"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAhP5NQ","kind":"pull-request","label":"fix(profiles): scope profile endpoints to an isolated dashboard's profile","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T07:45:13Z","updatedAt":"2026-08-31T05:48:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91381"},"data":{"createdAt":"2026-08-21T07:45:13Z","mergedAt":null,"number":91381,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(profiles): scope profile endpoints to an isolated dashboard's profile","updatedAt":"2026-08-31T05:48:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/91381"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAhzpjw","kind":"pull-request","label":"feat(webhook): support ${VAR} env expansion for route HMAC secrets","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T09:10:10Z","updatedAt":"2026-08-21T10:08:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91409"},"data":{"createdAt":"2026-08-21T09:10:10Z","mergedAt":null,"number":91409,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(webhook): support ${VAR} env expansion for route HMAC secrets","updatedAt":"2026-08-21T10:08:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/91409"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAiLS5w","kind":"pull-request","label":"feat(tools): pass gateway session user id on MCP tools/call","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T10:00:09Z","updatedAt":"2026-08-21T15:57:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91427"},"data":{"createdAt":"2026-08-21T10:00:09Z","mergedAt":null,"number":91427,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(tools): pass gateway session user id on MCP tools/call","updatedAt":"2026-08-21T15:57:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/91427"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAirW1w","kind":"pull-request","label":"fix(protocol): let clients recover turn outcomes after reconnects","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T11:21:06Z","updatedAt":"2026-08-22T19:45:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91475"},"data":{"createdAt":"2026-08-21T11:21:06Z","mergedAt":null,"number":91475,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(protocol): let clients recover turn outcomes after reconnects","updatedAt":"2026-08-22T19:45:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/91475"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAj0pPg","kind":"pull-request","label":"fix(kanban): split worker liveness and progress leases","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T14:11:05Z","updatedAt":"2026-08-24T12:36:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91554"},"data":{"createdAt":"2026-08-21T14:11:05Z","mergedAt":null,"number":91554,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(kanban): split worker liveness and progress leases","updatedAt":"2026-08-24T12:36:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/91554"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAj1i0Q","kind":"pull-request","label":"fix(native-compaction): retain image-only user content","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-21T14:12:56Z","updatedAt":"2026-08-30T12:17:07Z","closedAt":"2026-08-30T12:17:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91557"},"data":{"additions":117,"baseRefName":"main","changedFiles":2,"closedAt":"2026-08-30T12:17:07Z","createdAt":"2026-08-21T14:12:56Z","deletions":11,"headRefName":"fix/native-compaction-image-only-retention","isDraft":false,"merged":false,"mergedAt":null,"number":91557,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(native-compaction): retain image-only user content","updatedAt":"2026-08-30T12:17:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/91557","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAj2AFw","kind":"pull-request","label":"[WIP] fix(update): bind fleet proof to process incarnation","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-21T14:13:54Z","updatedAt":"2026-08-24T19:36:44Z","closedAt":"2026-08-24T19:36:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91559"},"data":{"additions":390,"baseRefName":"main","changedFiles":4,"closedAt":"2026-08-24T19:36:44Z","createdAt":"2026-08-21T14:13:54Z","deletions":5,"headRefName":"fix/update-fleet-pid-incarnation","isDraft":true,"merged":false,"mergedAt":null,"number":91559,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"[WIP] fix(update): bind fleet proof to process incarnation","updatedAt":"2026-08-24T19:36:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/91559","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAjho4Q","kind":"pull-request","label":"feat(browser): authenticated extension controller (salvage #85351)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-21T13:33:51Z","updatedAt":"2026-08-22T07:18:57Z","mergedAt":"2026-08-21T17:03:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91535"},"data":{"createdAt":"2026-08-21T13:33:51Z","mergedAt":"2026-08-21T17:03:46Z","number":91535,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(browser): authenticated extension controller (salvage #85351)","updatedAt":"2026-08-22T07:18:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/91535"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAjJicQ","kind":"pull-request","label":"fix(background-review): preserve profile-scoped credentials","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T12:37:13Z","updatedAt":"2026-08-22T19:44:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91509"},"data":{"createdAt":"2026-08-21T12:37:13Z","mergedAt":null,"number":91509,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(background-review): preserve profile-scoped credentials","updatedAt":"2026-08-22T19:44:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/91509"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAjQ9BQ","kind":"pull-request","label":"fix(agent): guard merged assistant compaction handoffs (salvage #85394)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-21T12:55:24Z","updatedAt":"2026-08-21T16:22:56Z","mergedAt":"2026-08-21T16:22:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91516"},"data":{"createdAt":"2026-08-21T12:55:24Z","mergedAt":"2026-08-21T16:22:56Z","number":91516,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(agent): guard merged assistant compaction handoffs (salvage #85394)","updatedAt":"2026-08-21T16:22:56Z","url":"https://github.com/NousResearch/hermes-agent/pull/91516"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAJuoMw","kind":"pull-request","label":"feat(delegation): enforce per-child tool allowlists","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-18T13:43:08Z","updatedAt":"2026-08-18T13:53:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89193"},"data":{"createdAt":"2026-08-18T13:43:08Z","mergedAt":null,"number":89193,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(delegation): enforce per-child tool allowlists","updatedAt":"2026-08-18T13:53:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/89193"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAk8QKw","kind":"pull-request","label":"fix(gateway): close Host in the Shell RCE vulnerability","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T16:56:09Z","updatedAt":"2026-08-21T17:51:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91677"},"data":{"createdAt":"2026-08-21T16:56:09Z","mergedAt":null,"number":91677,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): close Host in the Shell RCE vulnerability","updatedAt":"2026-08-21T17:51:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/91677"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAkcvQw","kind":"pull-request","label":"fix(serve): skip eager MCP at dashboard when a live gateway exists (#91564)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-21T15:38:29Z","updatedAt":"2026-08-23T14:29:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91628"},"data":{"createdAt":"2026-08-21T15:38:29Z","mergedAt":null,"number":91628,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(serve): skip eager MCP at dashboard when a live gateway exists (#91564)","updatedAt":"2026-08-23T14:29:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/91628"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAKeLXw","kind":"pull-request","label":"fix(gateway): canonical routing identity — claimant-generation object not published","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-18T15:16:25Z","updatedAt":"2026-08-27T19:33:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89252"},"data":{"additions":4455,"baseRefName":"main","changedFiles":16,"closedAt":null,"createdAt":"2026-08-18T15:16:25Z","deletions":21,"headRefName":"fix/88715-canonical-multiplex-identity","isDraft":true,"merged":false,"mergedAt":null,"number":89252,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): canonical routing identity — claimant-generation object not published","updatedAt":"2026-08-27T19:33:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/89252","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAkF8sw","kind":"pull-request","label":"fix(state): fail closed on unscoped SQLite corruption","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-21T14:48:17Z","updatedAt":"2026-08-24T09:37:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91585"},"data":{"createdAt":"2026-08-21T14:48:17Z","mergedAt":null,"number":91585,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(state): fail closed on unscoped SQLite corruption","updatedAt":"2026-08-24T09:37:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/91585"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAKMiAw","kind":"pull-request","label":"fix(desktop): keep the session tab strip visible","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-18T14:41:18Z","updatedAt":"2026-08-21T17:57:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89225"},"data":{"createdAt":"2026-08-18T14:41:18Z","mergedAt":null,"number":89225,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): keep the session tab strip visible","updatedAt":"2026-08-21T17:57:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/89225"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAkvA6A","kind":"pull-request","label":"test(stt): idle-timeout progress test no longer races process spawn (salvage #78221)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T16:23:03Z","updatedAt":"2026-08-21T16:33:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91652"},"data":{"createdAt":"2026-08-21T16:23:03Z","mergedAt":null,"number":91652,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"test(stt): idle-timeout progress test no longer races process spawn (salvage #78221)","updatedAt":"2026-08-21T16:33:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/91652"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAl6dfA","kind":"pull-request","label":"fix(agent): truncation continuation for responses-family api modes (codex/codex_responses/responses)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T19:37:51Z","updatedAt":"2026-08-24T05:58:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91779"},"data":{"createdAt":"2026-08-21T19:37:51Z","mergedAt":null,"number":91779,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(agent): truncation continuation for responses-family api modes (codex/codex_responses/responses)","updatedAt":"2026-08-24T05:58:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/91779"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABALbaEQ","kind":"pull-request","label":"feat(browser): drive Electron desktop apps over CDP — hermes browser attach + session registry + escalation nudge (#89270)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-18T17:35:50Z","updatedAt":"2026-08-18T18:31:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89340"},"data":{"createdAt":"2026-08-18T17:35:50Z","mergedAt":null,"number":89340,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(browser): drive Electron desktop apps over CDP — hermes browser attach + session registry + escalation nudge (#89270)","updatedAt":"2026-08-18T18:31:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/89340"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAlbV-w","kind":"pull-request","label":"fix(slack): honor native agent stop control","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T18:15:39Z","updatedAt":"2026-08-21T21:29:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91725"},"data":{"additions":469,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-21T18:15:39Z","deletions":1,"headRefName":"fix/slack-agent-session-stopped-90978","isDraft":false,"merged":false,"mergedAt":null,"number":91725,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(slack): honor native agent stop control","updatedAt":"2026-08-21T21:29:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/91725","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABALEY8g","kind":"pull-request","label":"feat(kanban): add semantic progress watchdog","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-18T16:41:06Z","updatedAt":"2026-08-18T18:05:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89310"},"data":{"createdAt":"2026-08-18T16:41:06Z","mergedAt":null,"number":89310,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(kanban): add semantic progress watchdog","updatedAt":"2026-08-18T18:05:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/89310"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAlkPIw","kind":"pull-request","label":"fix(approval): wire file_safety deny paths into shell write-guard (HA-D1)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T18:39:12Z","updatedAt":"2026-08-22T17:44:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91735"},"data":{"createdAt":"2026-08-21T18:39:12Z","mergedAt":null,"number":91735,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(approval): wire file_safety deny paths into shell write-guard (HA-D1)","updatedAt":"2026-08-22T17:44:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/91735"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAlN78A","kind":"pull-request","label":"fix(desktop): bind teardown to retained process authority (clean landing)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-21T17:41:56Z","updatedAt":"2026-08-21T17:47:44Z","closedAt":"2026-08-21T17:43:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91704"},"data":{"additions":3929,"baseRefName":"main","changedFiles":23,"closedAt":"2026-08-21T17:43:25Z","createdAt":"2026-08-21T17:41:56Z","deletions":312,"headRefName":"fix/89614-process-authority-clean","isDraft":false,"merged":false,"mergedAt":null,"number":91704,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): bind teardown to retained process authority (clean landing)","updatedAt":"2026-08-21T17:47:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/91704","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAlQ3zg","kind":"pull-request","label":"ci: exact-object certification for #90250 history","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-21T17:49:49Z","updatedAt":"2026-08-21T18:06:54Z","closedAt":"2026-08-21T18:06:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91709"},"data":{"additions":248,"baseRefName":"main","changedFiles":4,"closedAt":"2026-08-21T18:06:54Z","createdAt":"2026-08-21T17:49:49Z","deletions":259,"headRefName":"ci/90250-exact-commit-certification","isDraft":false,"merged":false,"mergedAt":null,"number":91709,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"ci: exact-object certification for #90250 history","updatedAt":"2026-08-21T18:06:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/91709","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAlwJ2Q","kind":"pull-request","label":"fix(state): fail closed on damaged state.db before gateway writes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T19:09:17Z","updatedAt":"2026-08-23T19:44:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91754"},"data":{"additions":1345,"baseRefName":"main","changedFiles":10,"closedAt":null,"createdAt":"2026-08-21T19:09:17Z","deletions":0,"headRefName":"salvage/90747-state-integrity","isDraft":false,"merged":false,"mergedAt":null,"number":91754,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(state): fail closed on damaged state.db before gateway writes","updatedAt":"2026-08-23T19:44:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/91754","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABALwqaA","kind":"pull-request","label":"fix(desktop): sync Bot Mode room previews through profiles","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-18T18:26:28Z","updatedAt":"2026-08-21T04:54:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89369"},"data":{"createdAt":"2026-08-18T18:26:28Z","mergedAt":null,"number":89369,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): sync Bot Mode room previews through profiles","updatedAt":"2026-08-21T04:54:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/89369"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAm_4vw","kind":"pull-request","label":"feat(update): enforce generation-fenced deployment transaction authority","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-21T23:19:59Z","updatedAt":"2026-08-22T18:17:10Z","closedAt":"2026-08-22T18:17:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91895"},"data":{"additions":1555,"baseRefName":"main","changedFiles":7,"closedAt":"2026-08-22T18:17:10Z","createdAt":"2026-08-21T23:19:59Z","deletions":1,"headRefName":"architecture/deployment-transaction-authority","isDraft":false,"merged":false,"mergedAt":null,"number":91895,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(update): enforce generation-fenced deployment transaction authority","updatedAt":"2026-08-22T18:17:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/91895","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAM2LCw","kind":"pull-request","label":"fix(deps): patch Node and Electron security advisories","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-18T21:08:25Z","updatedAt":"2026-08-27T20:21:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89479"},"data":{"createdAt":"2026-08-18T21:08:25Z","mergedAt":null,"number":89479,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(deps): patch Node and Electron security advisories","updatedAt":"2026-08-27T20:21:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/89479"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAm3A0A","kind":"pull-request","label":"fix(update): Windows venv-holder guard names holders correctly and can see the gateway it must pause (#90778, #87594 — proven live on windows-latest)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-21T22:43:42Z","updatedAt":"2026-08-22T02:11:58Z","mergedAt":"2026-08-22T02:11:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91869"},"data":{"createdAt":"2026-08-21T22:43:42Z","mergedAt":"2026-08-22T02:11:56Z","number":91869,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(update): Windows venv-holder guard names holders correctly and can see the gateway it must pause (#90778, #87594 — proven live on windows-latest)","updatedAt":"2026-08-22T02:11:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/91869"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAmiluA","kind":"pull-request","label":"fix(desktop): stop missing plugin entries from flooding IPC logs","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-21T21:32:42Z","updatedAt":"2026-08-23T09:14:39Z","closedAt":"2026-08-23T09:14:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91828"},"data":{"additions":123,"baseRefName":"main","changedFiles":2,"closedAt":"2026-08-23T09:14:39Z","createdAt":"2026-08-21T21:32:42Z","deletions":31,"headRefName":"fix/desktop-runtime-plugin-probe-noise","isDraft":false,"merged":false,"mergedAt":null,"number":91828,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): stop missing plugin entries from flooding IPC logs","updatedAt":"2026-08-23T09:14:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/91828","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAmKShQ","kind":"pull-request","label":"fix(desktop): stop simple-git custom-binary warning spam on Windows","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T20:21:12Z","updatedAt":"2026-08-22T02:07:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91798"},"data":{"additions":77,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-21T20:21:12Z","deletions":7,"headRefName":"fix/desktop-simple-git-warning-current-main","isDraft":false,"merged":false,"mergedAt":null,"number":91798,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): stop simple-git custom-binary warning spam on Windows","updatedAt":"2026-08-22T02:07:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/91798","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAMrNkQ","kind":"pull-request","label":"fix(security): enforce SSRF network boundary for browser_exec","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-18T20:41:23Z","updatedAt":"2026-08-23T12:44:29Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89461"},"data":{"additions":8151,"baseRefName":"main","changedFiles":15,"closedAt":null,"createdAt":"2026-08-18T20:41:23Z","deletions":556,"headRefName":"fix/browser-exec-network-boundary-class","isDraft":false,"merged":false,"mergedAt":null,"number":89461,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): enforce SSRF network boundary for browser_exec","updatedAt":"2026-08-23T12:44:29Z","url":"https://github.com/NousResearch/hermes-agent/pull/89461","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAMVkvA","kind":"pull-request","label":"fix(state-db): coordinate helper writes with BEGIN IMMEDIATE","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-18T19:50:34Z","updatedAt":"2026-08-29T12:14:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89420"},"data":{"createdAt":"2026-08-18T19:50:34Z","mergedAt":null,"number":89420,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(state-db): coordinate helper writes with BEGIN IMMEDIATE","updatedAt":"2026-08-29T12:14:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/89420"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAn2Cdw","kind":"pull-request","label":"ci: install one-shot PR 91906 dependency materializer","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-22T04:22:04Z","updatedAt":"2026-08-26T19:24:39Z","closedAt":"2026-08-26T11:45:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92046"},"data":{"additions":437,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-26T11:45:42Z","createdAt":"2026-08-22T04:22:04Z","deletions":0,"headRefName":"automation/install-pr91906-upstream-materializer","isDraft":false,"merged":false,"mergedAt":null,"number":92046,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"ci: install one-shot PR 91906 dependency materializer","updatedAt":"2026-08-26T19:24:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/92046","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAn3oAA","kind":"pull-request","label":"feat(kanban): hard-enforce forbidden_tools and require_summary on created tasks (#46582)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-22T04:32:39Z","updatedAt":"2026-08-23T05:37:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92051"},"data":{"createdAt":"2026-08-22T04:32:39Z","mergedAt":null,"number":92051,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(kanban): hard-enforce forbidden_tools and require_summary on created tasks (#46582)","updatedAt":"2026-08-23T05:37:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/92051"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAnAOCQ","kind":"pull-request","label":"fix(desktop): bind contribution visibility to live authority","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T23:21:29Z","updatedAt":"2026-08-31T17:01:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91897"},"data":{"additions":135,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-21T23:21:29Z","deletions":27,"headRefName":"architecture/desktop-authoritative-projections","isDraft":false,"merged":false,"mergedAt":null,"number":91897,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): bind contribution visibility to live authority","updatedAt":"2026-08-31T17:01:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/91897","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAnasrA","kind":"pull-request","label":"fix(kanban): make Docker worker workspaces task-scoped and host-backed","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T01:36:40Z","updatedAt":"2026-08-30T03:54:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91981"},"data":{"createdAt":"2026-08-22T01:36:40Z","mergedAt":null,"number":91981,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(kanban): make Docker worker workspaces task-scoped and host-backed","updatedAt":"2026-08-30T03:54:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/91981"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAnCSyg","kind":"pull-request","label":"fix(deps): close standalone Nano ID gap and Linux ARM64 package layout","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T23:30:40Z","updatedAt":"2026-08-28T12:45:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91906"},"data":{"additions":37,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-21T23:30:40Z","deletions":22,"headRefName":"restack/pr89479-current-main","isDraft":false,"merged":false,"mergedAt":null,"number":91906,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(deps): close standalone Nano ID gap and Linux ARM64 package layout","updatedAt":"2026-08-28T12:45:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/91906","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAnDxag","kind":"pull-request","label":"docs(architecture): define effective capability at consuming boundaries","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T23:37:35Z","updatedAt":"2026-08-22T21:30:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91909"},"data":{"additions":281,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-21T23:37:35Z","deletions":0,"headRefName":"architecture/effective-capability-proof","isDraft":false,"merged":false,"mergedAt":null,"number":91909,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(architecture): define effective capability at consuming boundaries","updatedAt":"2026-08-22T21:30:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/91909","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAnE7MQ","kind":"pull-request","label":"fix(server): move blocking credential-pool calls off the event loop (17-min freeze on network loss)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T23:43:07Z","updatedAt":"2026-08-27T21:02:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91912"},"data":{"createdAt":"2026-08-21T23:43:07Z","mergedAt":null,"number":91912,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(server): move blocking credential-pool calls off the event loop (17-min freeze on network loss)","updatedAt":"2026-08-27T21:02:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/91912"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAnFRuA","kind":"pull-request","label":"docs(architecture): install proof-carrying authority interlocks","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-21T23:44:31Z","updatedAt":"2026-08-22T18:17:12Z","closedAt":"2026-08-22T18:17:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91913"},"data":{"additions":689,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-22T18:17:12Z","createdAt":"2026-08-21T23:44:31Z","deletions":0,"headRefName":"architecture/proof-carrying-authority-interlocks","isDraft":false,"merged":false,"mergedAt":null,"number":91913,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"docs(architecture): install proof-carrying authority interlocks","updatedAt":"2026-08-22T18:17:12Z","url":"https://github.com/NousResearch/hermes-agent/pull/91913","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAnGb5g","kind":"pull-request","label":"refactor(bot-mode): add shadow control-plane contracts","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-21T23:49:58Z","updatedAt":"2026-08-23T11:34:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91917"},"data":{"additions":1374,"baseRefName":"main","changedFiles":5,"closedAt":null,"createdAt":"2026-08-21T23:49:58Z","deletions":0,"headRefName":"arch/bot-mode-control-plane-shadow-contracts","isDraft":false,"merged":false,"mergedAt":null,"number":91917,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(bot-mode): add shadow control-plane contracts","updatedAt":"2026-08-23T11:34:12Z","url":"https://github.com/NousResearch/hermes-agent/pull/91917","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAnI-7g","kind":"pull-request","label":"fix(camofox): recover on 410 as well as 404 for garbage-collected tabs","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T00:02:56Z","updatedAt":"2026-08-22T21:08:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91922"},"data":{"createdAt":"2026-08-22T00:02:56Z","mergedAt":null,"number":91922,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(camofox): recover on 410 as well as 404 for garbage-collected tabs","updatedAt":"2026-08-22T21:08:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/91922"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAnlmQA","kind":"pull-request","label":"fix(update): ZIP fallback no longer destroys user work or the desktop build (#87331, #91962, #87304, #70337 — salvage #87878 + #70477)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-22T02:42:02Z","updatedAt":"2026-08-22T05:08:19Z","mergedAt":"2026-08-22T05:08:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92013"},"data":{"createdAt":"2026-08-22T02:42:02Z","mergedAt":"2026-08-22T05:08:17Z","number":92013,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(update): ZIP fallback no longer destroys user work or the desktop build (#87331, #91962, #87304, #70337 — salvage #87878 + #70477)","updatedAt":"2026-08-22T05:08:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/92013"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAnnxZQ","kind":"pull-request","label":"feat(desktop): Send Diagnostics — error card uploads a redacted debug bundle with support handoff","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-22T02:55:17Z","updatedAt":"2026-08-22T06:02:59Z","mergedAt":"2026-08-22T06:01:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92020"},"data":{"createdAt":"2026-08-22T02:55:17Z","mergedAt":"2026-08-22T06:01:31Z","number":92020,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(desktop): Send Diagnostics — error card uploads a redacted debug bundle with support handoff","updatedAt":"2026-08-22T06:02:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/92020"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAnP3iQ","kind":"pull-request","label":"feat(kanban): per-task approval policy parking completed work for approver sign-off (#29457)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-22T00:38:43Z","updatedAt":"2026-08-23T05:38:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91948"},"data":{"createdAt":"2026-08-22T00:38:43Z","mergedAt":null,"number":91948,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(kanban): per-task approval policy parking completed work for approver sign-off (#29457)","updatedAt":"2026-08-23T05:38:11Z","url":"https://github.com/NousResearch/hermes-agent/pull/91948"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAnqi_A","kind":"pull-request","label":"feat(webhook): Standard Webhooks senders now authenticate (fixes #47451, salvage #47849)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T03:13:01Z","updatedAt":"2026-08-22T23:06:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92024"},"data":{"createdAt":"2026-08-22T03:13:01Z","mergedAt":null,"number":92024,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(webhook): Standard Webhooks senders now authenticate (fixes #47451, salvage #47849)","updatedAt":"2026-08-22T23:06:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/92024"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAnRbsg","kind":"pull-request","label":"fix(cron): gate adapter-less tickers on gateway liveness","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T00:47:30Z","updatedAt":"2026-08-26T14:29:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91953"},"data":{"createdAt":"2026-08-22T00:47:30Z","mergedAt":null,"number":91953,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cron): gate adapter-less tickers on gateway liveness","updatedAt":"2026-08-26T14:29:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/91953"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAnRFHQ","kind":"pull-request","label":"feat(runtime): Plan F 護欄 + Plan B runtime toolset + 軟警告 + 競爭 SOP","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-22T00:45:27Z","updatedAt":"2026-08-23T03:56:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91951"},"data":{"createdAt":"2026-08-22T00:45:27Z","mergedAt":null,"number":91951,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(runtime): Plan F 護欄 + Plan B runtime toolset + 軟警告 + 競爭 SOP","updatedAt":"2026-08-23T03:56:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/91951"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABANW6LA","kind":"pull-request","label":"fix(agent): stop re-heal loop for interrupted-turn hidden empty assistant placeholder","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-18T22:35:04Z","updatedAt":"2026-08-21T14:49:36Z","closedAt":"2026-08-18T23:27:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89525"},"data":{"additions":139,"baseRefName":"main","changedFiles":5,"closedAt":"2026-08-18T23:27:53Z","createdAt":"2026-08-18T22:35:04Z","deletions":4,"headRefName":"fix/bot-mode-empty-hidden-assistant-reheal","isDraft":false,"merged":false,"mergedAt":null,"number":89525,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(agent): stop re-heal loop for interrupted-turn hidden empty assistant placeholder","updatedAt":"2026-08-21T14:49:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/89525","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAO4KJA","kind":"pull-request","label":"feat(desktop): Sessions workspace gains a registered-gateway switcher (#88307, salvage #88325)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-19T04:21:37Z","updatedAt":"2026-08-20T16:05:07Z","mergedAt":"2026-08-19T05:03:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89719"},"data":{"createdAt":"2026-08-19T04:21:37Z","mergedAt":"2026-08-19T05:03:26Z","number":89719,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(desktop): Sessions workspace gains a registered-gateway switcher (#88307, salvage #88325)","updatedAt":"2026-08-20T16:05:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/89719"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAo5LuA","kind":"pull-request","label":"feat(gateway): add structured per-session runtime options","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T10:11:05Z","updatedAt":"2026-08-29T05:49:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92187"},"data":{"createdAt":"2026-08-22T10:11:05Z","mergedAt":null,"number":92187,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(gateway): add structured per-session runtime options","updatedAt":"2026-08-29T05:49:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/92187"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAo7CYw","kind":"pull-request","label":"feat(gateway): route live Telegram agents between foreground and background","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T10:22:46Z","updatedAt":"2026-08-22T16:18:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92197"},"data":{"createdAt":"2026-08-22T10:22:46Z","mergedAt":null,"number":92197,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(gateway): route live Telegram agents between foreground and background","updatedAt":"2026-08-22T16:18:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/92197"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAo9e8Q","kind":"pull-request","label":"fix(kanban): auto-decomposed subtrees are dispatchable and the orchestrator worker can see the board","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T10:38:30Z","updatedAt":"2026-08-22T17:41:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92206"},"data":{"createdAt":"2026-08-22T10:38:30Z","mergedAt":null,"number":92206,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(kanban): auto-decomposed subtrees are dispatchable and the orchestrator worker can see the board","updatedAt":"2026-08-22T17:41:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/92206"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAodlrg","kind":"pull-request","label":"fix(auxiliary): fail closed when a declared key_env resolves empty","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T07:47:26Z","updatedAt":"2026-08-22T16:59:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92125"},"data":{"createdAt":"2026-08-22T07:47:26Z","mergedAt":null,"number":92125,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(auxiliary): fail closed when a declared key_env resolves empty","updatedAt":"2026-08-22T16:59:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/92125"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAoEhEg","kind":"pull-request","label":"feat: add native Fly Sprites terminal backend","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-22T05:32:05Z","updatedAt":"2026-08-22T05:46:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92075"},"data":{"createdAt":"2026-08-22T05:32:05Z","mergedAt":null,"number":92075,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat: add native Fly Sprites terminal backend","updatedAt":"2026-08-22T05:46:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/92075"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAOfd1g","kind":"pull-request","label":"fix(approval): collapse redundant path separators before sensitive-path detection","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T02:47:49Z","updatedAt":"2026-08-19T03:13:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89657"},"data":{"createdAt":"2026-08-19T02:47:49Z","mergedAt":null,"number":89657,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(approval): collapse redundant path separators before sensitive-path detection","updatedAt":"2026-08-19T03:13:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/89657"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAOib_w","kind":"pull-request","label":"feat(desktop): session-scoped composer append + pane reveal host doors","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T02:58:57Z","updatedAt":"2026-08-28T02:45:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89672"},"data":{"createdAt":"2026-08-19T02:58:57Z","mergedAt":null,"number":89672,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(desktop): session-scoped composer append + pane reveal host doors","updatedAt":"2026-08-28T02:45:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/89672"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAOiqvA","kind":"pull-request","label":"fix(gemini): never emit a typeless Schema node, and translate oneOf/allOf","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T02:59:49Z","updatedAt":"2026-08-19T03:10:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89673"},"data":{"createdAt":"2026-08-19T02:59:49Z","mergedAt":null,"number":89673,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gemini): never emit a typeless Schema node, and translate oneOf/allOf","updatedAt":"2026-08-19T03:10:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/89673"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAOqCAA","kind":"pull-request","label":"fix(desktop): tear down backends through the retained handle, never by pid","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-19T03:28:43Z","updatedAt":"2026-08-21T08:17:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89689"},"data":{"createdAt":"2026-08-19T03:28:43Z","mergedAt":null,"number":89689,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): tear down backends through the retained handle, never by pid","updatedAt":"2026-08-21T08:17:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/89689"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAOxm9g","kind":"pull-request","label":"feat(plugins): add --no-scan to plugins install for verified channels","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T03:56:59Z","updatedAt":"2026-08-25T12:59:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89704"},"data":{"createdAt":"2026-08-19T03:56:59Z","mergedAt":null,"number":89704,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(plugins): add --no-scan to plugins install for verified channels","updatedAt":"2026-08-25T12:59:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/89704"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAoyGpA","kind":"pull-request","label":"fix(file-tools): stop active-profile instruction persistence from bypassing approval","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T09:29:10Z","updatedAt":"2026-08-22T16:34:38Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92155"},"data":{"createdAt":"2026-08-22T09:29:10Z","mergedAt":null,"number":92155,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(file-tools): stop active-profile instruction persistence from bypassing approval","updatedAt":"2026-08-22T16:34:38Z","url":"https://github.com/NousResearch/hermes-agent/pull/92155"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAOYXWw","kind":"pull-request","label":"🤖 Fast-track merge for green tabjoy-fleet PRs (SLA)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-19T02:21:29Z","updatedAt":"2026-08-30T22:16:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89644"},"data":{"createdAt":"2026-08-19T02:21:29Z","mergedAt":null,"number":89644,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"🤖 Fast-track merge for green tabjoy-fleet PRs (SLA)","updatedAt":"2026-08-30T22:16:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/89644"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAp30bA","kind":"pull-request","label":"feat: add secure browser human handoff","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T16:00:44Z","updatedAt":"2026-08-22T20:36:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92350"},"data":{"createdAt":"2026-08-22T16:00:44Z","mergedAt":null,"number":92350,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat: add secure browser human handoff","updatedAt":"2026-08-22T20:36:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/92350"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAPAtjA","kind":"pull-request","label":"fix(gateway): startup-liveness watchdog for pre-event-loop deadlocks (OOF-298)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-19T04:52:41Z","updatedAt":"2026-08-22T15:09:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89750"},"data":{"createdAt":"2026-08-19T04:52:41Z","mergedAt":null,"number":89750,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): startup-liveness watchdog for pre-event-loop deadlocks (OOF-298)","updatedAt":"2026-08-22T15:09:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/89750"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAPDsmw","kind":"pull-request","label":"fix(api): prevent duplicate run/approval processing on client retries","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T05:03:36Z","updatedAt":"2026-08-19T05:55:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89754"},"data":{"createdAt":"2026-08-19T05:03:36Z","mergedAt":null,"number":89754,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(api): prevent duplicate run/approval processing on client retries","updatedAt":"2026-08-19T05:55:24Z","url":"https://github.com/NousResearch/hermes-agent/pull/89754"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAPGdOw","kind":"pull-request","label":"fix(web): restore keyed Parallel v1 API","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T05:13:03Z","updatedAt":"2026-08-31T11:41:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89766"},"data":{"createdAt":"2026-08-19T05:13:03Z","mergedAt":null,"number":89766,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(web): restore keyed Parallel v1 API","updatedAt":"2026-08-31T11:41:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/89766"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABApGv5g","kind":"pull-request","label":"fix(memory): prevent silent loss of external provider writes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T11:36:44Z","updatedAt":"2026-08-22T17:27:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92235"},"data":{"createdAt":"2026-08-22T11:36:44Z","mergedAt":null,"number":92235,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(memory): prevent silent loss of external provider writes","updatedAt":"2026-08-22T17:27:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/92235"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAPJEWQ","kind":"pull-request","label":"fix(desktop): prefer same-host remote for Bot Mode over SSH","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T05:22:39Z","updatedAt":"2026-08-24T22:09:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89769"},"data":{"createdAt":"2026-08-19T05:22:39Z","mergedAt":null,"number":89769,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): prefer same-host remote for Bot Mode over SSH","updatedAt":"2026-08-24T22:09:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/89769"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAPl3Kg","kind":"pull-request","label":"fix(gateway): make Windows Scheduled Task install work on workgroup machines","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T06:47:39Z","updatedAt":"2026-08-30T22:07:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89824"},"data":{"createdAt":"2026-08-19T06:47:39Z","mergedAt":null,"number":89824,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): make Windows Scheduled Task install work on workgroup machines","updatedAt":"2026-08-30T22:07:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/89824"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABApNr5g","kind":"pull-request","label":"fix(gateway): keep the reconnect attention clock across a flapping platform","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T12:12:58Z","updatedAt":"2026-08-23T01:46:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92247"},"data":{"createdAt":"2026-08-22T12:12:58Z","mergedAt":null,"number":92247,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): keep the reconnect attention clock across a flapping platform","updatedAt":"2026-08-23T01:46:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/92247"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAPpqIg","kind":"pull-request","label":"[DX-2480] feat: share MCP OAuth pools across profiles","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T06:57:58Z","updatedAt":"2026-08-19T07:56:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89830"},"data":{"createdAt":"2026-08-19T06:57:58Z","mergedAt":null,"number":89830,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[DX-2480] feat: share MCP OAuth pools across profiles","updatedAt":"2026-08-19T07:56:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/89830"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABApTFWg","kind":"pull-request","label":"feat(agent): let backend plugins resolve exact live prompts","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-22T12:44:53Z","updatedAt":"2026-08-22T13:34:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92257"},"data":{"createdAt":"2026-08-22T12:44:53Z","mergedAt":null,"number":92257,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(agent): let backend plugins resolve exact live prompts","updatedAt":"2026-08-22T13:34:24Z","url":"https://github.com/NousResearch/hermes-agent/pull/92257"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABApxZZA","kind":"pull-request","label":"fix(desktop): publish a secondary gateway route only once its WebSocket is open","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-22T15:27:06Z","updatedAt":"2026-08-29T09:03:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92333"},"data":{"createdAt":"2026-08-22T15:27:06Z","mergedAt":null,"number":92333,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): publish a secondary gateway route only once its WebSocket is open","updatedAt":"2026-08-29T09:03:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/92333"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAq--Gw","kind":"pull-request","label":"feat(update): refuse in-place mutation for image-managed deployments (#91277 Phase 3)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-22T22:32:51Z","updatedAt":"2026-08-26T19:18:04Z","closedAt":"2026-08-26T18:43:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92545"},"data":{"additions":6961,"baseRefName":"main","changedFiles":39,"closedAt":"2026-08-26T18:43:15Z","createdAt":"2026-08-22T22:32:51Z","deletions":253,"headRefName":"phase3/baked-image-refusal-contract","isDraft":false,"merged":false,"mergedAt":null,"number":92545,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(update): refuse in-place mutation for image-managed deployments (#91277 Phase 3)","updatedAt":"2026-08-26T19:18:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/92545","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAQ1oDA","kind":"pull-request","label":"feat(desktop): true separation by gateway in the sidebar, profile rail and Manage Profiles","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T09:53:00Z","updatedAt":"2026-08-20T14:08:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89915"},"data":{"createdAt":"2026-08-19T09:53:00Z","mergedAt":null,"number":89915,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(desktop): true separation by gateway in the sidebar, profile rail and Manage Profiles","updatedAt":"2026-08-20T14:08:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/89915"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAq2_Hw","kind":"pull-request","label":"feat(update): enforce image-managed update refusal contract","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-22T21:43:39Z","updatedAt":"2026-08-22T22:05:52Z","closedAt":"2026-08-22T22:05:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92536"},"data":{"additions":0,"baseRefName":"main","changedFiles":0,"closedAt":"2026-08-22T22:05:51Z","createdAt":"2026-08-22T21:43:39Z","deletions":0,"headRefName":"phase3/baked-image-refusal-contract","isDraft":true,"merged":false,"mergedAt":null,"number":92536,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(update): enforce image-managed update refusal contract","updatedAt":"2026-08-22T22:05:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/92536","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAQ4zrg","kind":"pull-request","label":"fix(desktop): route remote file requests by connection","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-19T09:59:20Z","updatedAt":"2026-08-24T06:33:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89918"},"data":{"createdAt":"2026-08-19T09:59:20Z","mergedAt":null,"number":89918,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): route remote file requests by connection","updatedAt":"2026-08-24T06:33:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/89918"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAQ7auA","kind":"pull-request","label":"fix(desktop): ack quick entry submit and create the session atomically (#85590)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T10:05:21Z","updatedAt":"2026-08-19T16:52:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89920"},"data":{"createdAt":"2026-08-19T10:05:21Z","mergedAt":null,"number":89920,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): ack quick entry submit and create the session atomically (#85590)","updatedAt":"2026-08-19T16:52:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/89920"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAQ9-fQ","kind":"pull-request","label":"fix(prompt-caching): tool-using sessions no longer 400 behind LiteLLM Anthropic proxies (#89886)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-19T10:11:26Z","updatedAt":"2026-08-29T06:39:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89931"},"data":{"createdAt":"2026-08-19T10:11:26Z","mergedAt":null,"number":89931,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(prompt-caching): tool-using sessions no longer 400 behind LiteLLM Anthropic proxies (#89886)","updatedAt":"2026-08-29T06:39:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/89931"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAQ91Ig","kind":"pull-request","label":"fix(deps): bump nested nanoid to 3.3.18 for GHSA-2v37-7h3g-55p8","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T10:11:06Z","updatedAt":"2026-08-24T05:08:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89930"},"data":{"createdAt":"2026-08-19T10:11:06Z","mergedAt":null,"number":89930,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(deps): bump nested nanoid to 3.3.18 for GHSA-2v37-7h3g-55p8","updatedAt":"2026-08-24T05:08:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/89930"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAq9EgA","kind":"pull-request","label":"fix: bump Electron to 43.4.1 and nanoid to 3.3.18","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T22:20:51Z","updatedAt":"2026-08-22T23:57:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92543"},"data":{"createdAt":"2026-08-22T22:20:51Z","mergedAt":null,"number":92543,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix: bump Electron to 43.4.1 and nanoid to 3.3.18","updatedAt":"2026-08-22T23:57:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/92543"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAqFqFw","kind":"pull-request","label":"fix(gateway): warn once per flapping episode, not once per bind","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T17:12:17Z","updatedAt":"2026-08-23T01:47:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92381"},"data":{"createdAt":"2026-08-22T17:12:17Z","mergedAt":null,"number":92381,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): warn once per flapping episode, not once per bind","updatedAt":"2026-08-23T01:47:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/92381"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAqhLYg","kind":"pull-request","label":"feat(dashboard): add policy-pinned embedded chat","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T19:38:47Z","updatedAt":"2026-08-27T15:28:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92477"},"data":{"createdAt":"2026-08-22T19:38:47Z","mergedAt":null,"number":92477,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(dashboard): add policy-pinned embedded chat","updatedAt":"2026-08-27T15:28:41Z","url":"https://github.com/NousResearch/hermes-agent/pull/92477"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAqkMvQ","kind":"pull-request","label":"fix(timezone): isolate cache by active profile","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T19:56:08Z","updatedAt":"2026-08-31T15:34:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92489"},"data":{"createdAt":"2026-08-22T19:56:08Z","mergedAt":null,"number":92489,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(timezone): isolate cache by active profile","updatedAt":"2026-08-31T15:34:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/92489"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAql8gg","kind":"pull-request","label":"fix(backup): bound non-advancing SQLite snapshots","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T20:05:53Z","updatedAt":"2026-08-23T02:00:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92495"},"data":{"createdAt":"2026-08-22T20:05:53Z","mergedAt":null,"number":92495,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(backup): bound non-advancing SQLite snapshots","updatedAt":"2026-08-23T02:00:20Z","url":"https://github.com/NousResearch/hermes-agent/pull/92495"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAqleZQ","kind":"pull-request","label":"fix(a2a): preserve delivery round trips and route confirmations to origin sessions","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T20:03:23Z","updatedAt":"2026-08-31T02:18:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92494"},"data":{"createdAt":"2026-08-22T20:03:23Z","mergedAt":null,"number":92494,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(a2a): preserve delivery round trips and route confirmations to origin sessions","updatedAt":"2026-08-31T02:18:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/92494"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAqMWBQ","kind":"pull-request","label":"feat(proxy): add OpenAI Codex subscription adapter","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T17:47:14Z","updatedAt":"2026-08-22T20:26:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92409"},"data":{"createdAt":"2026-08-22T17:47:14Z","mergedAt":null,"number":92409,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(proxy): add OpenAI Codex subscription adapter","updatedAt":"2026-08-22T20:26:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/92409"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAqrzaA","kind":"pull-request","label":"feat(webhook): let trusted relays hand off to bounded profiles","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T20:38:26Z","updatedAt":"2026-08-22T22:08:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92511"},"data":{"createdAt":"2026-08-22T20:38:26Z","mergedAt":null,"number":92511,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(webhook): let trusted relays hand off to bounded profiles","updatedAt":"2026-08-22T22:08:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/92511"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAQUF8A","kind":"pull-request","label":"feat(api-server): bind clarify responses on /v1/runs","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T08:35:46Z","updatedAt":"2026-08-24T00:35:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89880"},"data":{"createdAt":"2026-08-19T08:35:46Z","mergedAt":null,"number":89880,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(api-server): bind clarify responses on /v1/runs","updatedAt":"2026-08-24T00:35:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/89880"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAqUlLA","kind":"pull-request","label":"feat(approvals): user-defined ask rules — Claude Code-style ask/allow/deny trio","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T18:30:38Z","updatedAt":"2026-08-25T12:30:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92437"},"data":{"createdAt":"2026-08-22T18:30:38Z","mergedAt":null,"number":92437,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(approvals): user-defined ask rules — Claude Code-style ask/allow/deny trio","updatedAt":"2026-08-25T12:30:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/92437"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAQwEDA","kind":"pull-request","label":"fix(slack): drop message_changed re-emits whose body is unchanged","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T09:40:48Z","updatedAt":"2026-08-20T07:26:16Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89908"},"data":{"createdAt":"2026-08-19T09:40:48Z","mergedAt":null,"number":89908,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(slack): drop message_changed re-emits whose body is unchanged","updatedAt":"2026-08-20T07:26:16Z","url":"https://github.com/NousResearch/hermes-agent/pull/89908"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAqyNkw","kind":"pull-request","label":"fix(tui): recover model switches after failed session resume","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-22T21:15:18Z","updatedAt":"2026-08-28T11:58:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92528"},"data":{"createdAt":"2026-08-22T21:15:18Z","mergedAt":null,"number":92528,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(tui): recover model switches after failed session resume","updatedAt":"2026-08-28T11:58:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/92528"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAr5c7w","kind":"pull-request","label":"fix(desktop): hydrate transcript after reconnect attach","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-23T05:33:25Z","updatedAt":"2026-08-26T07:44:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92733"},"data":{"createdAt":"2026-08-23T05:33:25Z","mergedAt":null,"number":92733,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): hydrate transcript after reconnect attach","updatedAt":"2026-08-26T07:44:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/92733"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAr6JgQ","kind":"pull-request","label":"fix: enforce Forge publication before Kanban completion","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-23T05:38:38Z","updatedAt":"2026-08-23T14:03:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92736"},"data":{"createdAt":"2026-08-23T05:38:38Z","mergedAt":null,"number":92736,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix: enforce Forge publication before Kanban completion","updatedAt":"2026-08-23T14:03:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/92736"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAR7R7g","kind":"pull-request","label":"feat(desktop): route remote bot actions by connection","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-19T12:34:46Z","updatedAt":"2026-08-23T06:25:38Z","mergedAt":"2026-08-23T06:25:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90006"},"data":{"createdAt":"2026-08-19T12:34:46Z","mergedAt":"2026-08-23T06:25:24Z","number":90006,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(desktop): route remote bot actions by connection","updatedAt":"2026-08-23T06:25:38Z","url":"https://github.com/NousResearch/hermes-agent/pull/90006"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABArbAHg","kind":"pull-request","label":"fix(auth): keep Anthropic OAuth sessions valid after token rotation","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-23T01:47:42Z","updatedAt":"2026-08-30T01:38:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92619"},"data":{"createdAt":"2026-08-23T01:47:42Z","mergedAt":null,"number":92619,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(auth): keep Anthropic OAuth sessions valid after token rotation","updatedAt":"2026-08-30T01:38:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/92619"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABARcPWw","kind":"pull-request","label":"fix(agent): bound historical image payloads per request","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-19T11:21:25Z","updatedAt":"2026-08-28T13:33:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89965"},"data":{"createdAt":"2026-08-19T11:21:25Z","mergedAt":null,"number":89965,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(agent): bound historical image payloads per request","updatedAt":"2026-08-28T13:33:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/89965"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAREpxw","kind":"pull-request","label":"fix: gate dynamic shell words in approval checks","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T10:26:06Z","updatedAt":"2026-08-19T16:53:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89945"},"data":{"createdAt":"2026-08-19T10:26:06Z","mergedAt":null,"number":89945,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix: gate dynamic shell words in approval checks","updatedAt":"2026-08-19T16:53:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/89945"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABArG1lA","kind":"pull-request","label":"fix(hooks): stop shell hook approval requests from bypassing confirmation","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-22T23:25:00Z","updatedAt":"2026-08-23T00:30:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92562"},"data":{"createdAt":"2026-08-22T23:25:00Z","mergedAt":null,"number":92562,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(hooks): stop shell hook approval requests from bypassing confirmation","updatedAt":"2026-08-23T00:30:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/92562"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABArhJ5Q","kind":"pull-request","label":"fix(windows): stage hermes launchers in the managed binary dir, not the git checkout","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-23T02:32:52Z","updatedAt":"2026-08-23T03:58:03Z","mergedAt":"2026-08-23T03:58:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92636"},"data":{"createdAt":"2026-08-23T02:32:52Z","mergedAt":"2026-08-23T03:58:00Z","number":92636,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(windows): stage hermes launchers in the managed binary dir, not the git checkout","updatedAt":"2026-08-23T03:58:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/92636"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABARI-1g","kind":"pull-request","label":"feat(kanban): direct-command workers via profile-level worker.command","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T10:36:55Z","updatedAt":"2026-08-19T10:53:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89947"},"data":{"createdAt":"2026-08-19T10:36:55Z","mergedAt":null,"number":89947,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(kanban): direct-command workers via profile-level worker.command","updatedAt":"2026-08-19T10:53:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/89947"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABArkqrg","kind":"pull-request","label":"feat(delegation): add bounded live subagent inspect","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-23T02:58:43Z","updatedAt":"2026-08-30T04:08:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92649"},"data":{"createdAt":"2026-08-23T02:58:43Z","mergedAt":null,"number":92649,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(delegation): add bounded live subagent inspect","updatedAt":"2026-08-30T04:08:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/92649"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABArquVg","kind":"pull-request","label":"fix(gateway): register secondary profiles' shell hooks and outbound webhooks","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-23T03:43:49Z","updatedAt":"2026-08-23T16:36:37Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92682"},"data":{"createdAt":"2026-08-23T03:43:49Z","mergedAt":null,"number":92682,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): register secondary profiles' shell hooks and outbound webhooks","updatedAt":"2026-08-23T16:36:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/92682"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABArt-1A","kind":"pull-request","label":"fix(security): prevent profile export archives from reaching source and images","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-23T04:08:15Z","updatedAt":"2026-08-23T07:55:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92689"},"data":{"createdAt":"2026-08-23T04:08:15Z","mergedAt":null,"number":92689,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(security): prevent profile export archives from reaching source and images","updatedAt":"2026-08-23T07:55:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/92689"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAS4neg","kind":"pull-request","label":"fix(tools): grok-imagine must not default upscale on (Aug 2026 policy)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-19T14:38:30Z","updatedAt":"2026-08-19T15:53:04Z","closedAt":"2026-08-19T15:53:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90067"},"data":{"additions":1,"baseRefName":"main","changedFiles":1,"closedAt":"2026-08-19T15:53:04Z","createdAt":"2026-08-19T14:38:30Z","deletions":1,"headRefName":"fix/image-upscale-optin","isDraft":false,"merged":false,"mergedAt":null,"number":90067,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(tools): grok-imagine must not default upscale on (Aug 2026 policy)","updatedAt":"2026-08-19T15:53:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/90067","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAs7vug","kind":"pull-request","label":"feat(bot-mode): make cross-connection relay lease-backed and idempotent","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-23T12:38:09Z","updatedAt":"2026-08-28T16:14:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92931"},"data":{"additions":7644,"baseRefName":"main","changedFiles":34,"closedAt":null,"createdAt":"2026-08-23T12:38:09Z","deletions":950,"headRefName":"feat/bot-relay-durable-delivery","isDraft":true,"merged":false,"mergedAt":null,"number":92931,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(bot-mode): make cross-connection relay lease-backed and idempotent","updatedAt":"2026-08-28T16:14:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/92931","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAsAHag","kind":"pull-request","label":"feat(proxy): add authenticated loopback Codex OAuth adapter","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-23T06:21:26Z","updatedAt":"2026-08-23T09:07:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92750"},"data":{"createdAt":"2026-08-23T06:21:26Z","mergedAt":null,"number":92750,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(proxy): add authenticated loopback Codex OAuth adapter","updatedAt":"2026-08-23T09:07:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/92750"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAScK7w","kind":"pull-request","label":"fix(kanban): canonical fan-in, authenticated review receipts, budget keep-alive [LS-2776][LS-2777]","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-19T13:41:55Z","updatedAt":"2026-08-20T12:35:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90033"},"data":{"createdAt":"2026-08-19T13:41:55Z","mergedAt":null,"number":90033,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(kanban): canonical fan-in, authenticated review receipts, budget keep-alive [LS-2776][LS-2777]","updatedAt":"2026-08-20T12:35:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/90033"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAsGrYQ","kind":"pull-request","label":"fix(codex): settle pending Responses tool calls when output_item.done is omitted","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-23T07:07:27Z","updatedAt":"2026-08-24T02:04:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92767"},"data":{"createdAt":"2026-08-23T07:07:27Z","mergedAt":null,"number":92767,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(codex): settle pending Responses tool calls when output_item.done is omitted","updatedAt":"2026-08-24T02:04:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/92767"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAsIg4Q","kind":"pull-request","label":"fix(security): profile exports never land in source checkouts; CI rejects archive artifacts (salvage #92689)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-23T07:19:58Z","updatedAt":"2026-08-23T08:50:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92771"},"data":{"createdAt":"2026-08-23T07:19:58Z","mergedAt":null,"number":92771,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): profile exports never land in source checkouts; CI rejects archive artifacts (salvage #92689)","updatedAt":"2026-08-23T08:50:41Z","url":"https://github.com/NousResearch/hermes-agent/pull/92771"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAsnkDw","kind":"pull-request","label":"fix(gateway): prevent delegated children from stealing parent routes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-23T10:38:09Z","updatedAt":"2026-08-23T11:43:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92872"},"data":{"createdAt":"2026-08-23T10:38:09Z","mergedAt":null,"number":92872,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): prevent delegated children from stealing parent routes","updatedAt":"2026-08-23T11:43:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/92872"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABASUd3Q","kind":"pull-request","label":"fix(mcp): scope MCP registration and discovery per profile home","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T13:26:17Z","updatedAt":"2026-08-30T23:03:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90027"},"data":{"createdAt":"2026-08-19T13:26:17Z","mergedAt":null,"number":90027,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(mcp): scope MCP registration and discovery per profile home","updatedAt":"2026-08-30T23:03:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/90027"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAsxvzg","kind":"pull-request","label":"feat(model): enforce profile-wide hard context ceiling","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-23T11:40:19Z","updatedAt":"2026-08-31T07:34:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92905"},"data":{"createdAt":"2026-08-23T11:40:19Z","mergedAt":null,"number":92905,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(model): enforce profile-wide hard context ceiling","updatedAt":"2026-08-31T07:34:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/92905"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAsxxOQ","kind":"pull-request","label":"feat(mcp): make the stateless client path production-authoritative","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-23T11:40:27Z","updatedAt":"2026-08-28T05:41:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92906"},"data":{"createdAt":"2026-08-23T11:40:27Z","mergedAt":null,"number":92906,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(mcp): make the stateless client path production-authoritative","updatedAt":"2026-08-28T05:41:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/92906"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAsyYGw","kind":"pull-request","label":"feat(desktop): materialize German (de) locale from #51762","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-23T11:43:54Z","updatedAt":"2026-08-28T11:02:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92909"},"data":{"additions":3759,"baseRefName":"main","changedFiles":8,"closedAt":null,"createdAt":"2026-08-23T11:43:54Z","deletions":10,"headRefName":"materialize/pr-51762-base-891ec3fb","isDraft":true,"merged":false,"mergedAt":null,"number":92909,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(desktop): materialize German (de) locale from #51762","updatedAt":"2026-08-28T11:02:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/92909","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAt49Ew","kind":"pull-request","label":"fix(gateway): refuse --replace when target ownership cannot be proven","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-23T17:37:20Z","updatedAt":"2026-08-24T10:06:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93084"},"data":{"createdAt":"2026-08-23T17:37:20Z","mergedAt":null,"number":93084,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): refuse --replace when target ownership cannot be proven","updatedAt":"2026-08-24T10:06:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/93084"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAtd8LQ","kind":"pull-request","label":"feat(cron): persist conservative transport receipts","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-23T15:31:24Z","updatedAt":"2026-08-30T12:04:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93009"},"data":{"createdAt":"2026-08-23T15:31:24Z","mergedAt":null,"number":93009,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(cron): persist conservative transport receipts","updatedAt":"2026-08-30T12:04:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/93009"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAtEGzA","kind":"pull-request","label":"[WIP transport] materialize typed process-edge authority object","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-23T13:23:27Z","updatedAt":"2026-08-26T19:27:14Z","closedAt":"2026-08-24T14:08:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92951"},"data":{"additions":1033,"baseRefName":"main","changedFiles":7,"closedAt":"2026-08-24T14:08:40Z","createdAt":"2026-08-23T13:23:27Z","deletions":0,"headRefName":"security/process-edge-authority-broker","isDraft":true,"merged":false,"mergedAt":null,"number":92951,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"[WIP transport] materialize typed process-edge authority object","updatedAt":"2026-08-26T19:27:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/92951","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAthHhw","kind":"pull-request","label":"fix(kanban): harden reliability and sensitive execution boundaries","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-23T15:47:12Z","updatedAt":"2026-08-24T17:28:22Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93021"},"data":{"createdAt":"2026-08-23T15:47:12Z","mergedAt":null,"number":93021,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(kanban): harden reliability and sensitive execution boundaries","updatedAt":"2026-08-24T17:28:22Z","url":"https://github.com/NousResearch/hermes-agent/pull/93021"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABATn0xw","kind":"pull-request","label":"feat(desktop): isolated Desktop instances for named SSH shells","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T16:14:17Z","updatedAt":"2026-08-31T16:12:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90118"},"data":{"createdAt":"2026-08-19T16:14:17Z","mergedAt":null,"number":90118,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(desktop): isolated Desktop instances for named SSH shells","updatedAt":"2026-08-31T16:12:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/90118"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAtq6yg","kind":"pull-request","label":"feat(update): complete Phase 4 fleet UX and canary rollouts (#91277)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-23T16:34:29Z","updatedAt":"2026-08-31T16:17:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93042"},"data":{"additions":52426,"baseRefName":"main","changedFiles":166,"closedAt":null,"createdAt":"2026-08-23T16:34:29Z","deletions":3332,"headRefName":"phase4-desktop-fleet","isDraft":true,"merged":false,"mergedAt":null,"number":93042,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(update): complete Phase 4 fleet UX and canary rollouts (#91277)","updatedAt":"2026-08-31T16:17:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/93042","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABATqQPQ","kind":"pull-request","label":"fix(cron): reclaim stale executions + preserve model pin across fallback (#90089)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-19T16:19:31Z","updatedAt":"2026-08-21T13:22:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90122"},"data":{"createdAt":"2026-08-19T16:19:31Z","mergedAt":null,"number":90122,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(cron): reclaim stale executions + preserve model pin across fallback (#90089)","updatedAt":"2026-08-21T13:22:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/90122"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABATRxDw","kind":"pull-request","label":"fix(agent): serialize background review Relay handoff","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-19T15:28:28Z","updatedAt":"2026-08-21T10:39:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90092"},"data":{"createdAt":"2026-08-19T15:28:28Z","mergedAt":null,"number":90092,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(agent): serialize background review Relay handoff","updatedAt":"2026-08-21T10:39:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/90092"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABATWhmg","kind":"pull-request","label":"fix(desktop): isolate review submit by composer surface","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-19T15:38:18Z","updatedAt":"2026-08-19T16:02:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90097"},"data":{"createdAt":"2026-08-19T15:38:18Z","mergedAt":null,"number":90097,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): isolate review submit by composer surface","updatedAt":"2026-08-19T16:02:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/90097"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAu13Jw","kind":"pull-request","label":"fix(state): repair malformed databases on isolated candidates","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-23T22:46:40Z","updatedAt":"2026-08-24T01:26:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93275"},"data":{"createdAt":"2026-08-23T22:46:40Z","mergedAt":null,"number":93275,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(state): repair malformed databases on isolated candidates","updatedAt":"2026-08-24T01:26:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/93275"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAuAUEQ","kind":"pull-request","label":"fix(state): keep malformed schemas from disabling session persistence","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-23T18:13:21Z","updatedAt":"2026-08-24T00:03:16Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93112"},"data":{"createdAt":"2026-08-23T18:13:21Z","mergedAt":null,"number":93112,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(state): keep malformed schemas from disabling session persistence","updatedAt":"2026-08-24T00:03:16Z","url":"https://github.com/NousResearch/hermes-agent/pull/93112"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAuBong","kind":"pull-request","label":"fix(gateway): restore session history after transient database failure","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-23T18:19:42Z","updatedAt":"2026-08-24T01:26:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93114"},"data":{"createdAt":"2026-08-23T18:19:42Z","mergedAt":null,"number":93114,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): restore session history after transient database failure","updatedAt":"2026-08-24T01:26:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/93114"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAuFJoA","kind":"pull-request","label":"feat(flight): automatic offline local-model continuity","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-23T18:37:04Z","updatedAt":"2026-08-23T18:48:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93124"},"data":{"createdAt":"2026-08-23T18:37:04Z","mergedAt":null,"number":93124,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(flight): automatic offline local-model continuity","updatedAt":"2026-08-23T18:48:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/93124"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAUkf0g","kind":"pull-request","label":"fix(desktop): preserve authoritative connectionId, fail-closed legacy fallbacks — #90048","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-19T18:33:55Z","updatedAt":"2026-08-23T12:07:37Z","closedAt":"2026-08-23T05:01:40Z","mergedAt":"2026-08-23T05:01:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90198"},"data":{"additions":579,"baseRefName":"main","changedFiles":5,"closedAt":"2026-08-23T05:01:40Z","createdAt":"2026-08-19T18:33:55Z","deletions":141,"headRefName":"fix/89719-authoritative-connection-id","isDraft":false,"merged":true,"mergedAt":"2026-08-23T05:01:40Z","number":90198,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(desktop): preserve authoritative connectionId, fail-closed legacy fallbacks — #90048","updatedAt":"2026-08-23T12:07:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/90198","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAukPfg","kind":"pull-request","label":"fix(tui): settle tmux clipboard load on direct child exit","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-23T21:12:51Z","updatedAt":"2026-08-24T01:26:43Z","closedAt":"2026-08-24T01:26:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93232"},"data":{"additions":4,"baseRefName":"main","changedFiles":1,"closedAt":"2026-08-24T01:26:43Z","createdAt":"2026-08-23T21:12:51Z","deletions":1,"headRefName":"fix/93134-tmux-resolve-on-exit","isDraft":false,"merged":false,"mergedAt":null,"number":93232,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(tui): settle tmux clipboard load on direct child exit","updatedAt":"2026-08-24T01:26:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/93232","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAuLwiA","kind":"pull-request","label":"fix(tui): settle execFileNoThrow on timeout even when a daemon holds stdio","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-23T19:08:44Z","updatedAt":"2026-08-24T01:26:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93148"},"data":{"createdAt":"2026-08-23T19:08:44Z","mergedAt":null,"number":93148,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(tui): settle execFileNoThrow on timeout even when a daemon holds stdio","updatedAt":"2026-08-24T01:26:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/93148"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAuoX9Q","kind":"pull-request","label":"fix(compression): bound large-session compaction","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-23T21:33:34Z","updatedAt":"2026-08-30T20:02:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93241"},"data":{"createdAt":"2026-08-23T21:33:34Z","mergedAt":null,"number":93241,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(compression): bound large-session compaction","updatedAt":"2026-08-30T20:02:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/93241"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAurbag","kind":"pull-request","label":"fix(browser): recover Camofox stale tabs on HTTP 410 Gone","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-23T21:50:14Z","updatedAt":"2026-08-24T02:20:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93249"},"data":{"additions":670,"baseRefName":"main","changedFiles":5,"closedAt":null,"createdAt":"2026-08-23T21:50:14Z","deletions":77,"headRefName":"fix/80276-camofox-stale-tab-410-landing","isDraft":false,"merged":false,"mergedAt":null,"number":93249,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(browser): recover Camofox stale tabs on HTTP 410 Gone","updatedAt":"2026-08-24T02:20:20Z","url":"https://github.com/NousResearch/hermes-agent/pull/93249","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAuSWZQ","kind":"pull-request","label":"feat(security): add sanitized remote worker boundary","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-23T19:42:15Z","updatedAt":"2026-08-28T08:10:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93182"},"data":{"createdAt":"2026-08-23T19:42:15Z","mergedAt":null,"number":93182,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(security): add sanitized remote worker boundary","updatedAt":"2026-08-28T08:10:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/93182"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAuVOag","kind":"pull-request","label":"fix(desktop): visible close for every preview pane surface","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-23T19:56:45Z","updatedAt":"2026-08-31T17:01:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93194"},"data":{"additions":211,"baseRefName":"main","changedFiles":11,"closedAt":null,"createdAt":"2026-08-23T19:56:45Z","deletions":60,"headRefName":"campaign/desktop-tab-close-affordance","isDraft":false,"merged":false,"mergedAt":null,"number":93194,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): visible close for every preview pane surface","updatedAt":"2026-08-31T17:01:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/93194","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAuwfeQ","kind":"pull-request","label":"fix: harden Matrix E2EE key delivery across reconnects","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-23T22:16:49Z","updatedAt":"2026-08-24T13:01:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93256"},"data":{"createdAt":"2026-08-23T22:16:49Z","mergedAt":null,"number":93256,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix: harden Matrix E2EE key delivery across reconnects","updatedAt":"2026-08-24T13:01:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/93256"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAuXZmQ","kind":"pull-request","label":"fix(state): serialize cross-process FTS rebuild with file lock (fixes recurring DB corruption)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-23T20:07:22Z","updatedAt":"2026-08-24T02:00:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93200"},"data":{"createdAt":"2026-08-23T20:07:22Z","mergedAt":null,"number":93200,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(state): serialize cross-process FTS rebuild with file lock (fixes recurring DB corruption)","updatedAt":"2026-08-24T02:00:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/93200"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAuzhGg","kind":"pull-request","label":"fix(state): make automatic repair non-destructive","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-23T22:33:31Z","updatedAt":"2026-08-24T01:09:27Z","closedAt":"2026-08-24T01:09:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93268"},"data":{"additions":1375,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-24T01:09:27Z","createdAt":"2026-08-23T22:33:31Z","deletions":79,"headRefName":"fix/state-db-repair-nondestructive-93064","isDraft":false,"merged":false,"mergedAt":null,"number":93268,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(state): make automatic repair non-destructive","updatedAt":"2026-08-24T01:09:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/93268","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAV_K7g","kind":"pull-request","label":"fix(tools): the provider selected in hermes tools is what runs — credential presence never reroutes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-19T22:28:14Z","updatedAt":"2026-08-19T23:12:10Z","mergedAt":"2026-08-19T23:10:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90317"},"data":{"createdAt":"2026-08-19T22:28:14Z","mergedAt":"2026-08-19T23:10:01Z","number":90317,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(tools): the provider selected in hermes tools is what runs — credential presence never reroutes","updatedAt":"2026-08-19T23:12:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/90317"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAv-irw","kind":"pull-request","label":"feat(tools): add Sprites stateful sandbox backend (salvage of #30112)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-24T04:05:55Z","updatedAt":"2026-08-25T03:25:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93523"},"data":{"createdAt":"2026-08-24T04:05:55Z","mergedAt":null,"number":93523,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(tools): add Sprites stateful sandbox backend (salvage of #30112)","updatedAt":"2026-08-25T03:25:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/93523"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAV3RaA","kind":"pull-request","label":"feat(webhook): define profile-scoped session and unattended interaction policy (Task 12)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-19T22:02:36Z","updatedAt":"2026-08-28T11:40:04Z","closedAt":"2026-08-28T11:40:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90304"},"data":{"additions":824,"baseRefName":"main","changedFiles":8,"closedAt":"2026-08-28T11:40:04Z","createdAt":"2026-08-19T22:02:36Z","deletions":9,"headRefName":"campaign/webhook-sessions-interactions","isDraft":false,"merged":false,"mergedAt":null,"number":90304,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(webhook): define profile-scoped session and unattended interaction policy (Task 12)","updatedAt":"2026-08-28T11:40:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/90304","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAv550Q","kind":"pull-request","label":"feat(webapp): serve Desktop renderer in browsers","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-24T03:46:29Z","updatedAt":"2026-08-31T16:11:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93508"},"data":{"createdAt":"2026-08-24T03:46:29Z","mergedAt":null,"number":93508,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(webapp): serve Desktop renderer in browsers","updatedAt":"2026-08-31T16:11:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/93508"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAV6ikg","kind":"pull-request","label":"fix(campaigns): harden executable parity contracts","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T22:12:37Z","updatedAt":"2026-08-21T23:45:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90307"},"data":{"additions":2556,"baseRefName":"main","changedFiles":19,"closedAt":null,"createdAt":"2026-08-19T22:12:37Z","deletions":0,"headRefName":"campaign/feature-parity-contract-v2","isDraft":false,"merged":false,"mergedAt":null,"number":90307,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(campaigns): harden executable parity contracts","updatedAt":"2026-08-21T23:45:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/90307","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAV8R7Q","kind":"pull-request","label":"feat: web search works keyless on fresh installs (Parallel + Exa free tiers)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-19T22:18:09Z","updatedAt":"2026-08-20T02:47:19Z","mergedAt":"2026-08-20T02:47:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90313"},"data":{"createdAt":"2026-08-19T22:18:09Z","mergedAt":"2026-08-20T02:47:13Z","number":90313,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat: web search works keyless on fresh installs (Parallel + Exa free tiers)","updatedAt":"2026-08-20T02:47:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/90313"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAvbmOQ","kind":"pull-request","label":"fix(sessions): gateway restarts no longer strand rows, and closing sockets can't unbind live sessions (ring 2, 5 salvages)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-24T01:46:39Z","updatedAt":"2026-08-24T01:58:44Z","mergedAt":"2026-08-24T01:58:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93430"},"data":{"createdAt":"2026-08-24T01:46:39Z","mergedAt":"2026-08-24T01:58:41Z","number":93430,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(sessions): gateway restarts no longer strand rows, and closing sockets can't unbind live sessions (ring 2, 5 salvages)","updatedAt":"2026-08-24T01:58:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/93430"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAVcrzA","kind":"pull-request","label":"chore(contributors): remove Mac-mini hostname email mappings","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T20:49:59Z","updatedAt":"2026-08-31T17:01:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90264"},"data":{"additions":0,"baseRefName":"main","changedFiles":10,"closedAt":null,"createdAt":"2026-08-19T20:49:59Z","deletions":12,"headRefName":"fix/remove-mac-mini-email-mappings","isDraft":false,"merged":false,"mergedAt":null,"number":90264,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"chore(contributors): remove Mac-mini hostname email mappings","updatedAt":"2026-08-31T17:01:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/90264","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAVFn9w","kind":"pull-request","label":"fix(webhook): close Task 10 intake identity and raw-bound contracts","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-19T19:53:03Z","updatedAt":"2026-08-28T11:39:50Z","closedAt":"2026-08-28T11:39:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90236"},"data":{"additions":640,"baseRefName":"main","changedFiles":3,"closedAt":"2026-08-28T11:39:50Z","createdAt":"2026-08-19T19:53:03Z","deletions":81,"headRefName":"task10-current-main-closure","isDraft":false,"merged":false,"mergedAt":null,"number":90236,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(webhook): close Task 10 intake identity and raw-bound contracts","updatedAt":"2026-08-28T11:39:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/90236","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAvHdMw","kind":"pull-request","label":"fix(state): failed state.db repair no longer destroys canonical data; gateway retries failed SessionDB opens (#93064, #93088)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-24T00:16:05Z","updatedAt":"2026-08-24T01:25:15Z","mergedAt":"2026-08-24T01:25:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93353"},"data":{"createdAt":"2026-08-24T00:16:05Z","mergedAt":"2026-08-24T01:25:12Z","number":93353,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(state): failed state.db repair no longer destroys canonical data; gateway retries failed SessionDB opens (#93064, #93088)","updatedAt":"2026-08-24T01:25:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/93353"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAVKxAA","kind":"pull-request","label":"fix(codex): strip unsupported cache retention at the consumer Codex wire (salvages #89969)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-19T20:05:31Z","updatedAt":"2026-08-19T21:54:09Z","mergedAt":"2026-08-19T21:45:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90243"},"data":{"createdAt":"2026-08-19T20:05:31Z","mergedAt":"2026-08-19T21:45:15Z","number":90243,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(codex): strip unsupported cache retention at the consumer Codex wire (salvages #89969)","updatedAt":"2026-08-19T21:54:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/90243"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAvkXwg","kind":"pull-request","label":"fix(gateway): multiplex profiles no longer inherit another profile's allowlist; bot_relay stops running roster fields as code (#93157)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-24T02:22:51Z","updatedAt":"2026-08-24T03:00:33Z","mergedAt":"2026-08-24T03:00:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93446"},"data":{"createdAt":"2026-08-24T02:22:51Z","mergedAt":"2026-08-24T03:00:31Z","number":93446,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(gateway): multiplex profiles no longer inherit another profile's allowlist; bot_relay stops running roster fields as code (#93157)","updatedAt":"2026-08-24T03:00:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/93446"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAvLjdA","kind":"pull-request","label":"fix(checkpoints): atomic store activation via generation selector","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-24T00:34:43Z","updatedAt":"2026-08-25T02:23:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93376"},"data":{"createdAt":"2026-08-24T00:34:43Z","mergedAt":null,"number":93376,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(checkpoints): atomic store activation via generation selector","updatedAt":"2026-08-25T02:23:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/93376"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAvMcRg","kind":"pull-request","label":"feat(reasoning): per-skill reasoning effort — skills suggest, config controls","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-24T00:38:35Z","updatedAt":"2026-08-26T14:16:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93378"},"data":{"createdAt":"2026-08-24T00:38:35Z","mergedAt":null,"number":93378,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(reasoning): per-skill reasoning effort — skills suggest, config controls","updatedAt":"2026-08-26T14:16:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/93378"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAVtQ8w","kind":"pull-request","label":"fix(cron): keep fallback routing atomic and preserve unknown outcomes (#90089)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T21:34:40Z","updatedAt":"2026-08-31T17:01:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90293"},"data":{"additions":762,"baseRefName":"main","changedFiles":7,"closedAt":null,"createdAt":"2026-08-19T21:34:40Z","deletions":5,"headRefName":"fix/pr-90122-review-blockers","isDraft":false,"merged":false,"mergedAt":null,"number":90293,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cron): keep fallback routing atomic and preserve unknown outcomes (#90089)","updatedAt":"2026-08-31T17:01:41Z","url":"https://github.com/NousResearch/hermes-agent/pull/90293","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAVV-Uw","kind":"pull-request","label":"WIP(mcp): dual-era hardening — bounded -32602 proof probe (#88875)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-19T20:32:08Z","updatedAt":"2026-08-19T21:15:09Z","closedAt":"2026-08-19T21:15:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90252"},"data":{"additions":0,"baseRefName":"main","changedFiles":0,"closedAt":"2026-08-19T21:15:08Z","createdAt":"2026-08-19T20:32:08Z","deletions":0,"headRefName":"fix/mcp-dual-era-conformance-first","isDraft":true,"merged":false,"mergedAt":null,"number":90252,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"WIP(mcp): dual-era hardening — bounded -32602 proof probe (#88875)","updatedAt":"2026-08-19T21:15:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/90252","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAVVbEw","kind":"pull-request","label":"fix(desktop): bind backend teardown to retained process authority (#89614)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T20:30:40Z","updatedAt":"2026-08-21T18:29:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90250"},"data":{"additions":4033,"baseRefName":"main","changedFiles":25,"closedAt":null,"createdAt":"2026-08-19T20:30:40Z","deletions":308,"headRefName":"fix/89614-process-authority-fail-closed","isDraft":false,"merged":false,"mergedAt":null,"number":90250,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): bind backend teardown to retained process authority (#89614)","updatedAt":"2026-08-21T18:29:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/90250","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAvzQtA","kind":"pull-request","label":"feat(agent): add request context budget window","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-24T03:19:52Z","updatedAt":"2026-08-24T03:49:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93489"},"data":{"createdAt":"2026-08-24T03:19:52Z","mergedAt":null,"number":93489,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(agent): add request context budget window","updatedAt":"2026-08-24T03:49:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/93489"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAw8k-g","kind":"pull-request","label":"fix(gateway): secondary-profile allowlists work and allow-all no longer leaks across profiles (#93522, salvage #93545 + #93605)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-24T07:28:13Z","updatedAt":"2026-08-24T10:20:09Z","mergedAt":"2026-08-24T10:20:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93639"},"data":{"createdAt":"2026-08-24T07:28:13Z","mergedAt":"2026-08-24T10:20:07Z","number":93639,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(gateway): secondary-profile allowlists work and allow-all no longer leaks across profiles (#93522, salvage #93545 + #93605)","updatedAt":"2026-08-24T10:20:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/93639"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAWAMzw","kind":"pull-request","label":"docs(discord): install canonical 42-row parity ledger","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-19T22:31:26Z","updatedAt":"2026-08-21T23:46:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90321"},"data":{"additions":1010,"baseRefName":"main","changedFiles":7,"closedAt":null,"createdAt":"2026-08-19T22:31:26Z","deletions":0,"headRefName":"campaign/discord-parity-ledger","isDraft":false,"merged":false,"mergedAt":null,"number":90321,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(discord): install canonical 42-row parity ledger","updatedAt":"2026-08-21T23:46:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/90321","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAWDo8g","kind":"pull-request","label":"fix: reasoning effort 'ultra' no longer 400s on non-Anthropic wires (#89503 class, salvage #89509)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-19T22:41:48Z","updatedAt":"2026-08-19T23:32:04Z","mergedAt":"2026-08-19T23:04:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90330"},"data":{"createdAt":"2026-08-19T22:41:48Z","mergedAt":"2026-08-19T23:04:23Z","number":90330,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix: reasoning effort 'ultra' no longer 400s on non-Anthropic wires (#89503 class, salvage #89509)","updatedAt":"2026-08-19T23:32:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/90330"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAwEVIA","kind":"pull-request","label":"fix(gateway): scope multiplex-profile authorization reads (weixin/yuanbao/wecom)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-24T04:25:41Z","updatedAt":"2026-08-24T10:34:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93545"},"data":{"createdAt":"2026-08-24T04:25:41Z","mergedAt":null,"number":93545,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): scope multiplex-profile authorization reads (weixin/yuanbao/wecom)","updatedAt":"2026-08-24T10:34:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/93545"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAWS7EQ","kind":"pull-request","label":"refactor: reasoning-effort clamps can no longer drift per vendor — one canonical ladder + declared wire vocabularies","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-19T23:31:27Z","updatedAt":"2026-08-20T02:29:23Z","mergedAt":"2026-08-20T02:29:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90350"},"data":{"createdAt":"2026-08-19T23:31:27Z","mergedAt":"2026-08-20T02:29:13Z","number":90350,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"refactor: reasoning-effort clamps can no longer drift per vendor — one canonical ladder + declared wire vocabularies","updatedAt":"2026-08-20T02:29:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/90350"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAx1ZVg","kind":"pull-request","label":"fix(gateway): scope run-scoped API routes to the calling profile","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-24T09:41:59Z","updatedAt":"2026-08-25T13:49:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93747"},"data":{"createdAt":"2026-08-24T09:41:59Z","mergedAt":null,"number":93747,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): scope run-scoped API routes to the calling profile","updatedAt":"2026-08-25T13:49:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/93747"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAX6Scg","kind":"pull-request","label":"fix(update): reload config's import surface before config in the in-place updater","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-20T05:45:15Z","updatedAt":"2026-08-20T15:47:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90554"},"data":{"createdAt":"2026-08-20T05:45:15Z","mergedAt":null,"number":90554,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(update): reload config's import surface before config in the in-place updater","updatedAt":"2026-08-20T15:47:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/90554"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAXHijA","kind":"pull-request","label":"fix(gateway): heal a dead reconnect watcher when the platform is already queued","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-20T02:47:17Z","updatedAt":"2026-08-22T11:26:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90448"},"data":{"createdAt":"2026-08-20T02:47:17Z","mergedAt":null,"number":90448,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): heal a dead reconnect watcher when the platform is already queued","updatedAt":"2026-08-22T11:26:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/90448"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAXiGLA","kind":"pull-request","label":"fix(gateway): the loop watchdog's own heartbeat can freeze the loop it watches","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-20T04:23:04Z","updatedAt":"2026-08-27T16:38:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90502"},"data":{"createdAt":"2026-08-20T04:23:04Z","mergedAt":null,"number":90502,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): the loop watchdog's own heartbeat can freeze the loop it watches","updatedAt":"2026-08-27T16:38:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/90502"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAXTiVg","kind":"pull-request","label":"fix(desktop): stop Bot Chat click-spam reminting into the launch store","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-20T03:26:00Z","updatedAt":"2026-08-22T08:27:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90467"},"data":{"createdAt":"2026-08-20T03:26:00Z","mergedAt":null,"number":90467,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): stop Bot Chat click-spam reminting into the launch store","updatedAt":"2026-08-22T08:27:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/90467"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAXxJfg","kind":"pull-request","label":"fix(desktop): config autosave sends only session-edited keys — stale drafts stop reverting newer changes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-20T05:15:17Z","updatedAt":"2026-08-31T17:07:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90537"},"data":{"createdAt":"2026-08-20T05:15:17Z","mergedAt":null,"number":90537,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): config autosave sends only session-edited keys — stale drafts stop reverting newer changes","updatedAt":"2026-08-31T17:07:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/90537"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAY9OWg","kind":"pull-request","label":"fix(tools): stop visible tools from failing mid-session","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-20T08:39:59Z","updatedAt":"2026-08-20T13:58:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90675"},"data":{"createdAt":"2026-08-20T08:39:59Z","mergedAt":null,"number":90675,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tools): stop visible tools from failing mid-session","updatedAt":"2026-08-20T13:58:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/90675"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAYbmMg","kind":"pull-request","label":"fix(desktop): route remote file APIs to registered gateway","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-20T07:18:30Z","updatedAt":"2026-08-20T10:42:29Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90629"},"data":{"createdAt":"2026-08-20T07:18:30Z","mergedAt":null,"number":90629,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): route remote file APIs to registered gateway","updatedAt":"2026-08-20T10:42:29Z","url":"https://github.com/NousResearch/hermes-agent/pull/90629"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAybxbw","kind":"pull-request","label":"fix(agent): preserve Bedrock redacted reasoning for replay","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-24T11:10:44Z","updatedAt":"2026-08-31T12:41:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93815"},"data":{"createdAt":"2026-08-24T11:10:44Z","mergedAt":null,"number":93815,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(agent): preserve Bedrock redacted reasoning for replay","updatedAt":"2026-08-31T12:41:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/93815"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAyJ6fA","kind":"pull-request","label":"fix(gateway): silent socket drops heal themselves on every surface (salvage #89958, #90012, #89984)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-24T10:29:10Z","updatedAt":"2026-08-24T11:01:56Z","mergedAt":"2026-08-24T11:01:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93792"},"data":{"createdAt":"2026-08-24T10:29:10Z","mergedAt":"2026-08-24T11:01:54Z","number":93792,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(gateway): silent socket drops heal themselves on every surface (salvage #89958, #90012, #89984)","updatedAt":"2026-08-24T11:01:56Z","url":"https://github.com/NousResearch/hermes-agent/pull/93792"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAyoAZw","kind":"pull-request","label":"fix(cron): verify a persisted final assistant message before booking complete","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-24T11:40:14Z","updatedAt":"2026-08-27T14:53:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93829"},"data":{"createdAt":"2026-08-24T11:40:14Z","mergedAt":null,"number":93829,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(cron): verify a persisted final assistant message before booking complete","updatedAt":"2026-08-27T14:53:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/93829"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAyOieA","kind":"pull-request","label":"fix(sessions): finalize abandoned session rows","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-24T10:40:17Z","updatedAt":"2026-08-24T11:07:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93803"},"data":{"createdAt":"2026-08-24T10:40:17Z","mergedAt":null,"number":93803,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(sessions): finalize abandoned session rows","updatedAt":"2026-08-24T11:07:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/93803"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAz-7fA","kind":"pull-request","label":"fix(cron): require persisted terminal result before completion","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-24T14:38:30Z","updatedAt":"2026-08-27T14:14:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93946"},"data":{"createdAt":"2026-08-24T14:38:30Z","mergedAt":null,"number":93946,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(cron): require persisted terminal result before completion","updatedAt":"2026-08-27T14:14:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/93946"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAZ2ncA","kind":"pull-request","label":"fix(dashboard): stop leaking free-text platform error_message / gateway_exit_reason on public /api/status","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-20T10:47:26Z","updatedAt":"2026-08-20T15:32:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90750"},"data":{"createdAt":"2026-08-20T10:47:26Z","mergedAt":null,"number":90750,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(dashboard): stop leaking free-text platform error_message / gateway_exit_reason on public /api/status","updatedAt":"2026-08-20T15:32:12Z","url":"https://github.com/NousResearch/hermes-agent/pull/90750"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAzfkfQ","kind":"pull-request","label":"feat(mcp): bind tool arguments to authenticated sessions","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-24T13:38:26Z","updatedAt":"2026-08-24T20:22:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93898"},"data":{"createdAt":"2026-08-24T13:38:26Z","mergedAt":null,"number":93898,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(mcp): bind tool arguments to authenticated sessions","updatedAt":"2026-08-24T20:22:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/93898"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAZljsQ","kind":"pull-request","label":"fix: prevent gateway crash-loop on Telegram network outage","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-20T10:07:09Z","updatedAt":"2026-08-22T09:55:37Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90720"},"data":{"createdAt":"2026-08-20T10:07:09Z","mergedAt":null,"number":90720,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix: prevent gateway crash-loop on Telegram network outage","updatedAt":"2026-08-22T09:55:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/90720"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAzRy9g","kind":"pull-request","label":"fix(tools): kill Windows worker descendants with job objects","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-24T13:12:04Z","updatedAt":"2026-08-24T15:45:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93882"},"data":{"createdAt":"2026-08-24T13:12:04Z","mergedAt":null,"number":93882,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tools): kill Windows worker descendants with job objects","updatedAt":"2026-08-24T15:45:11Z","url":"https://github.com/NousResearch/hermes-agent/pull/93882"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAzufwA","kind":"pull-request","label":"[Phase G] Bind child processes to typed authority","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-24T14:08:23Z","updatedAt":"2026-08-27T23:58:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93925"},"data":{"additions":5239,"baseRefName":"main","changedFiles":36,"closedAt":null,"createdAt":"2026-08-24T14:08:23Z","deletions":175,"headRefName":"phase-g-capability-bound-process-creation","isDraft":true,"merged":false,"mergedAt":null,"number":93925,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Phase G] Bind child processes to typed authority","updatedAt":"2026-08-27T23:58:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/93925","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAZv_Nw","kind":"pull-request","label":"fix(state): unlocked reads on the shared SessionDB writer connection destroy turns as session_persistence_failed","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-20T10:31:36Z","updatedAt":"2026-08-31T15:39:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90734"},"data":{"createdAt":"2026-08-20T10:31:36Z","mergedAt":null,"number":90734,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(state): unlocked reads on the shared SessionDB writer connection destroy turns as session_persistence_failed","updatedAt":"2026-08-31T15:39:20Z","url":"https://github.com/NousResearch/hermes-agent/pull/90734"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAZxdrA","kind":"pull-request","label":"fix(mcp): bind stored OAuth tokens to their server URL and clean on remove","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-20T10:35:19Z","updatedAt":"2026-08-20T15:23:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90737"},"data":{"createdAt":"2026-08-20T10:35:19Z","mergedAt":null,"number":90737,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(mcp): bind stored OAuth tokens to their server URL and clean on remove","updatedAt":"2026-08-20T15:23:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/90737"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAZxGFw","kind":"pull-request","label":"fix(dashboard-auth): stop trusting client-controlled X-Forwarded-For for rate-limiting/attribution","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-20T10:34:26Z","updatedAt":"2026-08-20T15:31:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90736"},"data":{"createdAt":"2026-08-20T10:34:26Z","mergedAt":null,"number":90736,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(dashboard-auth): stop trusting client-controlled X-Forwarded-For for rate-limiting/attribution","updatedAt":"2026-08-20T15:31:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/90736"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABAZzxbQ","kind":"pull-request","label":"fix(state): apply macOS write barriers on every state.db repair connection","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-20T10:41:15Z","updatedAt":"2026-08-23T16:36:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90747"},"data":{"createdAt":"2026-08-20T10:41:15Z","mergedAt":null,"number":90747,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(state): apply macOS write barriers on every state.db repair connection","updatedAt":"2026-08-23T16:36:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/90747"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBa-_JQ","kind":"pull-request","label":"fix(computer-use): fail closed when no approval prompt surface is wired","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-29T06:19:02Z","updatedAt":"2026-08-29T18:10:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97724"},"data":{"createdAt":"2026-08-29T06:19:02Z","mergedAt":null,"number":97724,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(computer-use): fail closed when no approval prompt surface is wired","updatedAt":"2026-08-29T18:10:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/97724"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBA2F2Q","kind":"pull-request","label":"fix(api-server): match the turn-start prefix on normalized message identity","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-26T00:39:23Z","updatedAt":"2026-08-27T18:13:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95138"},"data":{"createdAt":"2026-08-26T00:39:23Z","mergedAt":null,"number":95138,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(api-server): match the turn-start prefix on normalized message identity","updatedAt":"2026-08-27T18:13:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/95138"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBa8XcA","kind":"pull-request","label":"feat(bot-mode): add durable Group Chat authority and replay","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-29T06:03:44Z","updatedAt":"2026-08-31T02:46:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97712"},"data":{"createdAt":"2026-08-29T06:03:44Z","mergedAt":null,"number":97712,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(bot-mode): add durable Group Chat authority and replay","updatedAt":"2026-08-31T02:46:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/97712"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBAAepA","kind":"pull-request","label":"feat(gateway): route-configurable webhook signature schemes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-25T21:52:19Z","updatedAt":"2026-08-26T08:03:02Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95068"},"data":{"createdAt":"2026-08-25T21:52:19Z","mergedAt":null,"number":95068,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(gateway): route-configurable webhook signature schemes","updatedAt":"2026-08-26T08:03:02Z","url":"https://github.com/NousResearch/hermes-agent/pull/95068"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBAb8AQ","kind":"pull-request","label":"feat(authority): manifest schema + compiler + conformance harness","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-25T23:08:18Z","updatedAt":"2026-08-31T16:26:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95101"},"data":{"additions":3110,"baseRefName":"main","changedFiles":10,"closedAt":null,"createdAt":"2026-08-25T23:08:18Z","deletions":1,"headRefName":"authority-manifest-s1-20260825","isDraft":false,"merged":false,"mergedAt":null,"number":95101,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(authority): manifest schema + compiler + conformance harness","updatedAt":"2026-08-31T16:26:11Z","url":"https://github.com/NousResearch/hermes-agent/pull/95101","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBabr2Q","kind":"pull-request","label":"fix(lifecycle): enforce parent disabled_toolsets in subagent launch validation","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T03:38:28Z","updatedAt":"2026-08-29T04:13:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97637"},"data":{"createdAt":"2026-08-29T03:38:28Z","mergedAt":null,"number":97637,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(lifecycle): enforce parent disabled_toolsets in subagent launch validation","updatedAt":"2026-08-29T04:13:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/97637"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBakWKA","kind":"pull-request","label":"security: require owner approval for package acquisition","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T04:07:27Z","updatedAt":"2026-08-30T01:56:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97657"},"data":{"createdAt":"2026-08-29T04:07:27Z","mergedAt":null,"number":97657,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"security: require owner approval for package acquisition","updatedAt":"2026-08-30T01:56:24Z","url":"https://github.com/NousResearch/hermes-agent/pull/97657"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBaLWoQ","kind":"pull-request","label":"fix(curator): prevent terminal archive bypass","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T02:38:12Z","updatedAt":"2026-08-29T16:15:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97609"},"data":{"createdAt":"2026-08-29T02:38:12Z","mergedAt":null,"number":97609,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(curator): prevent terminal archive bypass","updatedAt":"2026-08-29T16:15:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/97609"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBaYYVw","kind":"pull-request","label":"refactor(update): decompose command by responsibility","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T03:26:25Z","updatedAt":"2026-08-29T17:58:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97634"},"data":{"createdAt":"2026-08-29T03:26:25Z","mergedAt":null,"number":97634,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(update): decompose command by responsibility","updatedAt":"2026-08-29T17:58:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/97634"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBb_Gtg","kind":"pull-request","label":"fix(kanban): complete durable orchestration lifecycle","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T11:51:40Z","updatedAt":"2026-08-30T08:00:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97864"},"data":{"createdAt":"2026-08-29T11:51:40Z","mergedAt":null,"number":97864,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(kanban): complete durable orchestration lifecycle","updatedAt":"2026-08-30T08:00:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/97864"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBB7Rbg","kind":"pull-request","label":"feat(approvals): per-tool allow/ask/deny policy — non-shell tools finally gated (Perplexity Computer-inspired, #35357)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-26T04:57:53Z","updatedAt":"2026-08-26T05:50:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95247"},"data":{"createdAt":"2026-08-26T04:57:53Z","mergedAt":null,"number":95247,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(approvals): per-tool allow/ask/deny policy — non-shell tools finally gated (Perplexity Computer-inspired, #35357)","updatedAt":"2026-08-26T05:50:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/95247"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBbCu8w","kind":"pull-request","label":"feat(gateway): isolate workers and queue under resource pressure","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T06:41:02Z","updatedAt":"2026-08-29T11:53:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97739"},"data":{"createdAt":"2026-08-29T06:41:02Z","mergedAt":null,"number":97739,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(gateway): isolate workers and queue under resource pressure","updatedAt":"2026-08-29T11:53:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/97739"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBbdczQ","kind":"pull-request","label":"feat(bot-mode): add scoped cross-gateway Group Chat transport","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-29T09:10:36Z","updatedAt":"2026-08-31T08:05:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97797"},"data":{"createdAt":"2026-08-29T09:10:36Z","mergedAt":null,"number":97797,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(bot-mode): add scoped cross-gateway Group Chat transport","updatedAt":"2026-08-31T08:05:11Z","url":"https://github.com/NousResearch/hermes-agent/pull/97797"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBbEvQQ","kind":"pull-request","label":"feat(bot-mode): add same-gateway Group Chat runner","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-29T06:53:04Z","updatedAt":"2026-08-31T05:20:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97744"},"data":{"createdAt":"2026-08-29T06:53:04Z","mergedAt":null,"number":97744,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(bot-mode): add same-gateway Group Chat runner","updatedAt":"2026-08-31T05:20:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/97744"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBBOXMA","kind":"pull-request","label":"feat(desktop): projects own their gateway; sessions inherit","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-26T02:11:15Z","updatedAt":"2026-08-26T05:07:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95179"},"data":{"createdAt":"2026-08-26T02:11:15Z","mergedAt":null,"number":95179,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(desktop): projects own their gateway; sessions inherit","updatedAt":"2026-08-26T05:07:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/95179"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBBSWLA","kind":"pull-request","label":"Fail closed when required LLM privacy middleware is unavailable","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-26T02:26:55Z","updatedAt":"2026-08-29T01:50:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95186"},"data":{"createdAt":"2026-08-26T02:26:55Z","mergedAt":null,"number":95186,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Fail closed when required LLM privacy middleware is unavailable","updatedAt":"2026-08-29T01:50:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/95186"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBbUt4w","kind":"pull-request","label":"feat(runtime): immutable ResolvedRuntime + central client factory; fixes extra_headers loss in fallback paths","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T08:26:46Z","updatedAt":"2026-08-29T09:52:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97780"},"data":{"createdAt":"2026-08-29T08:26:46Z","mergedAt":null,"number":97780,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(runtime): immutable ResolvedRuntime + central client factory; fixes extra_headers loss in fallback paths","updatedAt":"2026-08-29T09:52:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/97780"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBbvszg","kind":"pull-request","label":"feat(bot-mode): add automatic Group Chat continuity","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T10:40:04Z","updatedAt":"2026-08-31T10:43:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97846"},"data":{"createdAt":"2026-08-29T10:40:04Z","mergedAt":null,"number":97846,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(bot-mode): add automatic Group Chat continuity","updatedAt":"2026-08-31T10:43:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/97846"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBbvVPw","kind":"pull-request","label":"fix(state): fail open on FTS5-index-only corruption instead of killing turns","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T10:38:20Z","updatedAt":"2026-08-29T10:55:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97843"},"data":{"createdAt":"2026-08-29T10:38:20Z","mergedAt":null,"number":97843,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(state): fail open on FTS5-index-only corruption instead of killing turns","updatedAt":"2026-08-29T10:55:20Z","url":"https://github.com/NousResearch/hermes-agent/pull/97843"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBbX_zg","kind":"pull-request","label":"security: harden session write and self-improvement enforcement","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T08:42:20Z","updatedAt":"2026-08-29T08:47:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97786"},"data":{"createdAt":"2026-08-29T08:42:20Z","mergedAt":null,"number":97786,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"security: harden session write and self-improvement enforcement","updatedAt":"2026-08-29T08:47:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/97786"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBc0POQ","kind":"pull-request","label":"fix(cli): don't resolve venv python into Linux desktop Exec=","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T15:53:31Z","updatedAt":"2026-08-29T16:12:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97992"},"data":{"createdAt":"2026-08-29T15:53:31Z","mergedAt":null,"number":97992,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cli): don't resolve venv python into Linux desktop Exec=","updatedAt":"2026-08-29T16:12:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/97992"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBcEXhw","kind":"pull-request","label":"fix: proxy platform webhooks past the dashboard OAuth gate","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T12:21:14Z","updatedAt":"2026-08-29T12:49:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97878"},"data":{"createdAt":"2026-08-29T12:21:14Z","mergedAt":null,"number":97878,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix: proxy platform webhooks past the dashboard OAuth gate","updatedAt":"2026-08-29T12:49:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/97878"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBCLH1Q","kind":"pull-request","label":"feat(telemetry): opt-in shared-metrics exporter","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-26T05:56:26Z","updatedAt":"2026-08-28T07:41:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95278"},"data":{"createdAt":"2026-08-26T05:56:26Z","mergedAt":null,"number":95278,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telemetry): opt-in shared-metrics exporter","updatedAt":"2026-08-28T07:41:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/95278"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBclTBA","kind":"pull-request","label":"fix(mem0): scope OSS history db to the active Hermes profile","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T14:43:10Z","updatedAt":"2026-08-29T14:48:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97953"},"data":{"createdAt":"2026-08-29T14:43:10Z","mergedAt":null,"number":97953,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(mem0): scope OSS history db to the active Hermes profile","updatedAt":"2026-08-29T14:48:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/97953"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBCMlaQ","kind":"pull-request","label":"pm: unified package manager","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-26T06:01:29Z","updatedAt":"2026-08-31T14:03:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95281"},"data":{"createdAt":"2026-08-26T06:01:29Z","mergedAt":null,"number":95281,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"pm: unified package manager","updatedAt":"2026-08-31T14:03:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/95281"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBcoUUg","kind":"pull-request","label":"fix(cron): re-resolve hermes_time per profile in multiplex ticker","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-29T14:57:29Z","updatedAt":"2026-08-29T16:50:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97961"},"data":{"createdAt":"2026-08-29T14:57:29Z","mergedAt":null,"number":97961,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(cron): re-resolve hermes_time per profile in multiplex ticker","updatedAt":"2026-08-29T16:50:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/97961"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBcuamQ","kind":"pull-request","label":"feat(tool-search): core-tool deferral — curated event-triggered set behind the bridge (−6.5K tok/call desktop, −49% schemas)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T15:26:28Z","updatedAt":"2026-08-31T02:56:29Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97979"},"data":{"createdAt":"2026-08-29T15:26:28Z","mergedAt":null,"number":97979,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(tool-search): core-tool deferral — curated event-triggered set behind the bridge (−6.5K tok/call desktop, −49% schemas)","updatedAt":"2026-08-31T02:56:29Z","url":"https://github.com/NousResearch/hermes-agent/pull/97979"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBCVPdg","kind":"pull-request","label":"feat(bot-mode): add durable authority and replay for hosted rooms","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-26T06:28:35Z","updatedAt":"2026-08-29T05:25:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95314"},"data":{"createdAt":"2026-08-26T06:28:35Z","mergedAt":null,"number":95314,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(bot-mode): add durable authority and replay for hosted rooms","updatedAt":"2026-08-29T05:25:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/95314"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBcx-Vg","kind":"pull-request","label":"fix(agent): fence compression timeout recovery","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-29T15:42:41Z","updatedAt":"2026-08-30T01:59:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97989"},"data":{"createdAt":"2026-08-29T15:42:41Z","mergedAt":null,"number":97989,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(agent): fence compression timeout recovery","updatedAt":"2026-08-30T01:59:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/97989"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBcXe8Q","kind":"pull-request","label":"fix(state): disable sqlite statement cache on SessionDB connections","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-29T13:48:08Z","updatedAt":"2026-08-31T15:39:29Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97920"},"data":{"createdAt":"2026-08-29T13:48:08Z","mergedAt":null,"number":97920,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(state): disable sqlite statement cache on SessionDB connections","updatedAt":"2026-08-31T15:39:29Z","url":"https://github.com/NousResearch/hermes-agent/pull/97920"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBD-MyQ","kind":"pull-request","label":"fix(docker): do not leak the shared-container key across multiplex profiles","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-26T10:39:34Z","updatedAt":"2026-08-26T16:04:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95471"},"data":{"createdAt":"2026-08-26T10:39:34Z","mergedAt":null,"number":95471,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(docker): do not leak the shared-container key across multiplex profiles","updatedAt":"2026-08-26T16:04:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/95471"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBd6s2A","kind":"pull-request","label":"feat(gateway): add durable global AFK availability","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T21:46:35Z","updatedAt":"2026-08-30T06:46:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98162"},"data":{"createdAt":"2026-08-29T21:46:35Z","mergedAt":null,"number":98162,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(gateway): add durable global AFK availability","updatedAt":"2026-08-30T06:46:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/98162"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBdBLCg","kind":"pull-request","label":"feat(delegation): per-task model selection and profile identity for delegate_task","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T16:55:49Z","updatedAt":"2026-08-30T20:32:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98031"},"data":{"createdAt":"2026-08-29T16:55:49Z","mergedAt":null,"number":98031,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(delegation): per-task model selection and profile identity for delegate_task","updatedAt":"2026-08-30T20:32:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/98031"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBdce5g","kind":"pull-request","label":"fix(state): stop structurally corrupt databases from accepting writes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T19:12:17Z","updatedAt":"2026-08-31T17:02:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98090"},"data":{"createdAt":"2026-08-29T19:12:17Z","mergedAt":null,"number":98090,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(state): stop structurally corrupt databases from accepting writes","updatedAt":"2026-08-31T17:02:56Z","url":"https://github.com/NousResearch/hermes-agent/pull/98090"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBdNELw","kind":"pull-request","label":"fix(gateway): persist per-session cwd for messaging-gateway sessions","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T17:53:57Z","updatedAt":"2026-08-31T12:59:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98060"},"data":{"createdAt":"2026-08-29T17:53:57Z","mergedAt":null,"number":98060,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): persist per-session cwd for messaging-gateway sessions","updatedAt":"2026-08-31T12:59:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/98060"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBDOLOw","kind":"pull-request","label":"fix(streaming): require terminal evidence for tool calls","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-26T08:52:45Z","updatedAt":"2026-08-26T14:04:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95404"},"data":{"createdAt":"2026-08-26T08:52:45Z","mergedAt":null,"number":95404,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(streaming): require terminal evidence for tool calls","updatedAt":"2026-08-26T14:04:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/95404"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBdpaMw","kind":"pull-request","label":"feat(approvals): confirm gate for agent-initiated model-routing config writes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T20:13:31Z","updatedAt":"2026-08-29T22:37:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98127"},"data":{"createdAt":"2026-08-29T20:13:31Z","mergedAt":null,"number":98127,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(approvals): confirm gate for agent-initiated model-routing config writes","updatedAt":"2026-08-29T22:37:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/98127"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBdR0PA","kind":"pull-request","label":"feat(bot-mode): control Group Chats from messaging","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T18:17:51Z","updatedAt":"2026-08-31T15:58:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98073"},"data":{"createdAt":"2026-08-29T18:17:51Z","mergedAt":null,"number":98073,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(bot-mode): control Group Chats from messaging","updatedAt":"2026-08-31T15:58:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/98073"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBdr1Jw","kind":"pull-request","label":"fix(compression): harden lease refresh and failure backoff","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-29T20:25:50Z","updatedAt":"2026-08-31T06:33:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98137"},"data":{"createdAt":"2026-08-29T20:25:50Z","mergedAt":null,"number":98137,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(compression): harden lease refresh and failure backoff","updatedAt":"2026-08-31T06:33:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/98137"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBdRyJQ","kind":"pull-request","label":"feat(bot-mode): share Group Chat files across gateways","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T18:17:41Z","updatedAt":"2026-08-31T11:43:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98072"},"data":{"createdAt":"2026-08-29T18:17:41Z","mergedAt":null,"number":98072,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(bot-mode): share Group Chat files across gateways","updatedAt":"2026-08-31T11:43:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/98072"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBdsNvA","kind":"pull-request","label":"fix(terminal): guard interpreter-backed self-repo mutation effects","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T20:27:44Z","updatedAt":"2026-08-30T01:52:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98138"},"data":{"additions":1448,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-29T20:27:44Z","deletions":0,"headRefName":"security/interpreter-mutation-effects","isDraft":false,"merged":false,"mergedAt":null,"number":98138,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(terminal): guard interpreter-backed self-repo mutation effects","updatedAt":"2026-08-30T01:52:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/98138","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBDtxeQ","kind":"pull-request","label":"fix(desktop): prefer Browser tabs with URLs over stale file tabs in read_preview","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-26T10:03:07Z","updatedAt":"2026-08-27T17:47:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95445"},"data":{"createdAt":"2026-08-26T10:03:07Z","mergedAt":null,"number":95445,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): prefer Browser tabs with URLs over stale file tabs in read_preview","updatedAt":"2026-08-27T17:47:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/95445"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBe6y2w","kind":"pull-request","label":"fix(delegation): keep timed-out children from crashing session owners","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T04:38:58Z","updatedAt":"2026-08-30T07:30:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98348"},"data":{"createdAt":"2026-08-30T04:38:58Z","mergedAt":null,"number":98348,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(delegation): keep timed-out children from crashing session owners","updatedAt":"2026-08-30T07:30:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/98348"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBeAHBQ","kind":"pull-request","label":"fix(cache): honor host-declared session key and conversation epoch for prompt cache affinity","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-29T22:17:42Z","updatedAt":"2026-08-30T10:36:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98170"},"data":{"createdAt":"2026-08-29T22:17:42Z","mergedAt":null,"number":98170,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(cache): honor host-declared session key and conversation epoch for prompt cache affinity","updatedAt":"2026-08-30T10:36:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/98170"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBEAP8A","kind":"pull-request","label":"fix(desktop): bind preview actions to the owning session's active tab","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-26T10:44:06Z","updatedAt":"2026-08-27T16:40:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95475"},"data":{"createdAt":"2026-08-26T10:44:06Z","mergedAt":null,"number":95475,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): bind preview actions to the owning session's active tab","updatedAt":"2026-08-27T16:40:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/95475"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBedKuw","kind":"pull-request","label":"fix(gateway): block self-restart on a direct-spawn Windows gateway with no supervisor","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T01:18:10Z","updatedAt":"2026-08-30T02:05:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98244"},"data":{"createdAt":"2026-08-30T01:18:10Z","mergedAt":null,"number":98244,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): block self-restart on a direct-spawn Windows gateway with no supervisor","updatedAt":"2026-08-30T02:05:56Z","url":"https://github.com/NousResearch/hermes-agent/pull/98244"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBeKawA","kind":"pull-request","label":"feat(gateway): add deferred plugin questions","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-29T23:20:28Z","updatedAt":"2026-08-30T19:13:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98197"},"data":{"createdAt":"2026-08-29T23:20:28Z","mergedAt":null,"number":98197,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(gateway): add deferred plugin questions","updatedAt":"2026-08-30T19:13:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/98197"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBEQ94g","kind":"pull-request","label":"fix(kanban): lease active task worktrees","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-26T11:24:31Z","updatedAt":"2026-08-27T00:18:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95500"},"data":{"createdAt":"2026-08-26T11:24:31Z","mergedAt":null,"number":95500,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(kanban): lease active task worktrees","updatedAt":"2026-08-27T00:18:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/95500"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBEReyQ","kind":"pull-request","label":"fix(kanban): fail closed on stale workspace retention","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-26T11:25:47Z","updatedAt":"2026-08-26T11:50:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95501"},"data":{"createdAt":"2026-08-26T11:25:47Z","mergedAt":null,"number":95501,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(kanban): fail closed on stale workspace retention","updatedAt":"2026-08-26T11:50:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/95501"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBerxGQ","kind":"pull-request","label":"feat(bot-mode): complete Group Chat continuity, control, and files","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T02:57:10Z","updatedAt":"2026-08-31T16:17:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98307"},"data":{"createdAt":"2026-08-30T02:57:10Z","mergedAt":null,"number":98307,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(bot-mode): complete Group Chat continuity, control, and files","updatedAt":"2026-08-31T16:17:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/98307"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBetj8Q","kind":"pull-request","label":"fix(gateway): re-arm heartbeat watches after a gateway restart","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T03:09:23Z","updatedAt":"2026-08-30T04:08:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98310"},"data":{"createdAt":"2026-08-30T03:09:23Z","mergedAt":null,"number":98310,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): re-arm heartbeat watches after a gateway restart","updatedAt":"2026-08-30T04:08:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/98310"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBeWHHA","kind":"pull-request","label":"security(dashboard): deny third-party token dotfiles and sync canonical denylist (#98161)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T00:32:10Z","updatedAt":"2026-08-30T07:02:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98219"},"data":{"createdAt":"2026-08-30T00:32:10Z","mergedAt":null,"number":98219,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"security(dashboard): deny third-party token dotfiles and sync canonical denylist (#98161)","updatedAt":"2026-08-30T07:02:20Z","url":"https://github.com/NousResearch/hermes-agent/pull/98219"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBezpCA","kind":"pull-request","label":"feat: add model-callable current-session goal control","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T03:50:30Z","updatedAt":"2026-08-31T02:41:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98331"},"data":{"createdAt":"2026-08-30T03:50:30Z","mergedAt":null,"number":98331,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat: add model-callable current-session goal control","updatedAt":"2026-08-31T02:41:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/98331"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBF_iCA","kind":"pull-request","label":"ci: exact-SHA witness for #95101 f42a6624","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-26T15:06:23Z","updatedAt":"2026-08-26T15:11:06Z","closedAt":"2026-08-26T15:11:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95643"},"data":{"additions":3056,"baseRefName":"main","changedFiles":10,"closedAt":"2026-08-26T15:11:06Z","createdAt":"2026-08-26T15:06:23Z","deletions":1,"headRefName":"ci-witness-95101-f42a6624","isDraft":true,"merged":false,"mergedAt":null,"number":95643,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"ci: exact-SHA witness for #95101 f42a6624","updatedAt":"2026-08-26T15:11:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/95643","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBF_nKQ","kind":"pull-request","label":"ci: exact-SHA witness for #95101 02a41431","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-26T15:06:34Z","updatedAt":"2026-08-26T15:11:12Z","closedAt":"2026-08-26T15:11:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95644"},"data":{"additions":3080,"baseRefName":"main","changedFiles":10,"closedAt":"2026-08-26T15:11:12Z","createdAt":"2026-08-26T15:06:34Z","deletions":1,"headRefName":"ci-witness-95101-02a41431","isDraft":true,"merged":false,"mergedAt":null,"number":95644,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"ci: exact-SHA witness for #95101 02a41431","updatedAt":"2026-08-26T15:11:12Z","url":"https://github.com/NousResearch/hermes-agent/pull/95644","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBf_q6g","kind":"pull-request","label":"feat: claude-code-cli provider — Claude subscription via the Claude Code CLI with real tool calls","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T11:39:57Z","updatedAt":"2026-08-30T12:54:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98533"},"data":{"createdAt":"2026-08-30T11:39:57Z","mergedAt":null,"number":98533,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat: claude-code-cli provider — Claude subscription via the Claude Code CLI with real tool calls","updatedAt":"2026-08-30T12:54:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/98533"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBf0tSg","kind":"pull-request","label":"fix(vision): negotiate native video dialects and fall back to frames","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-30T10:43:58Z","updatedAt":"2026-08-30T10:47:07Z","closedAt":"2026-08-30T10:44:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98502"},"data":{"additions":1648,"baseRefName":"main","changedFiles":6,"closedAt":"2026-08-30T10:44:07Z","createdAt":"2026-08-30T10:43:58Z","deletions":0,"headRefName":"fix/video-transport-negotiation-72275-release","isDraft":false,"merged":false,"mergedAt":null,"number":98502,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(vision): negotiate native video dialects and fall back to frames","updatedAt":"2026-08-30T10:47:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/98502","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBF5QEw","kind":"pull-request","label":"ci: exact-SHA witness for rebuilt #95101 4ddd32e1","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-26T14:54:16Z","updatedAt":"2026-08-26T15:05:15Z","closedAt":"2026-08-26T15:05:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95630"},"data":{"additions":3018,"baseRefName":"main","changedFiles":10,"closedAt":"2026-08-26T15:05:15Z","createdAt":"2026-08-26T14:54:16Z","deletions":1,"headRefName":"ci-witness-95101-rebuilt-4ddd32e1","isDraft":true,"merged":false,"mergedAt":null,"number":95630,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"ci: exact-SHA witness for rebuilt #95101 4ddd32e1","updatedAt":"2026-08-26T15:05:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/95630","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBF5VOw","kind":"pull-request","label":"ci: exact-SHA witness for rebuilt #95101 3e597ced","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-26T14:54:25Z","updatedAt":"2026-08-26T15:05:20Z","closedAt":"2026-08-26T15:05:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95631"},"data":{"additions":3060,"baseRefName":"main","changedFiles":10,"closedAt":"2026-08-26T15:05:20Z","createdAt":"2026-08-26T14:54:25Z","deletions":1,"headRefName":"ci-witness-95101-rebuilt-3e597ced","isDraft":true,"merged":false,"mergedAt":null,"number":95631,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"ci: exact-SHA witness for rebuilt #95101 3e597ced","updatedAt":"2026-08-26T15:05:20Z","url":"https://github.com/NousResearch/hermes-agent/pull/95631","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBF5Zrw","kind":"pull-request","label":"ci: exact-SHA witness for rebuilt #95101 80a5034f","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-26T14:54:34Z","updatedAt":"2026-08-26T15:05:25Z","closedAt":"2026-08-26T15:05:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95632"},"data":{"additions":3110,"baseRefName":"main","changedFiles":10,"closedAt":"2026-08-26T15:05:25Z","createdAt":"2026-08-26T14:54:34Z","deletions":1,"headRefName":"ci-witness-95101-rebuilt-80a5034f","isDraft":true,"merged":false,"mergedAt":null,"number":95632,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"ci: exact-SHA witness for rebuilt #95101 80a5034f","updatedAt":"2026-08-26T15:05:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/95632","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBfCcLg","kind":"pull-request","label":"fix(api_server): synchronize ResponseStore access, use atomic subquery eviction, and sort fingerprint keys","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T05:33:55Z","updatedAt":"2026-08-30T05:59:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98373"},"data":{"createdAt":"2026-08-30T05:33:55Z","mergedAt":null,"number":98373,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(api_server): synchronize ResponseStore access, use atomic subquery eviction, and sort fingerprint keys","updatedAt":"2026-08-30T05:59:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/98373"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBfgcow","kind":"pull-request","label":"feat(goals): add model-callable goal control","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T08:43:54Z","updatedAt":"2026-08-31T02:41:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98452"},"data":{"createdAt":"2026-08-30T08:43:54Z","mergedAt":null,"number":98452,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(goals): add model-callable goal control","updatedAt":"2026-08-31T02:41:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/98452"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBfhrsg","kind":"pull-request","label":"fix(compression): stamp _DB_PERSISTED_MARKER after in-place batch commit","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-30T08:51:27Z","updatedAt":"2026-08-31T02:53:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98458"},"data":{"createdAt":"2026-08-30T08:51:27Z","mergedAt":null,"number":98458,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(compression): stamp _DB_PERSISTED_MARKER after in-place batch commit","updatedAt":"2026-08-31T02:53:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/98458"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBfOxjQ","kind":"pull-request","label":"fix(cli): decode modifyOtherKeys/Kitty escapes leaked into bare input() prompts","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T06:54:42Z","updatedAt":"2026-08-30T19:36:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98413"},"data":{"createdAt":"2026-08-30T06:54:42Z","mergedAt":null,"number":98413,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cli): decode modifyOtherKeys/Kitty escapes leaked into bare input() prompts","updatedAt":"2026-08-30T19:36:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/98413"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBfq5vw","kind":"pull-request","label":"fix(approvals): let cron_mode govern gateway-hosted cron fires","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T09:46:19Z","updatedAt":"2026-08-30T10:54:37Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98483"},"data":{"createdAt":"2026-08-30T09:46:19Z","mergedAt":null,"number":98483,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(approvals): let cron_mode govern gateway-hosted cron fires","updatedAt":"2026-08-30T10:54:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/98483"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBFQq7w","kind":"pull-request","label":"feat(desktop): generation-bound RouteKey + GatewaySupervisor single-flight (Magnum #94724 Phases 1–2)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-26T13:38:21Z","updatedAt":"2026-08-26T19:24:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95564"},"data":{"createdAt":"2026-08-26T13:38:21Z","mergedAt":null,"number":95564,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(desktop): generation-bound RouteKey + GatewaySupervisor single-flight (Magnum #94724 Phases 1–2)","updatedAt":"2026-08-26T19:24:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/95564"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBfrVgA","kind":"pull-request","label":"fix: preserve P0 tool safety across worker dispatch","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T09:48:59Z","updatedAt":"2026-08-30T23:38:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98485"},"data":{"createdAt":"2026-08-30T09:48:59Z","mergedAt":null,"number":98485,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix: preserve P0 tool safety across worker dispatch","updatedAt":"2026-08-30T23:38:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/98485"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBFt-Og","kind":"pull-request","label":"ci: exact-SHA witness for #95101 e6e7a42a","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-26T14:32:37Z","updatedAt":"2026-08-26T14:55:30Z","closedAt":"2026-08-26T14:55:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95615"},"data":{"additions":3020,"baseRefName":"main","changedFiles":10,"closedAt":"2026-08-26T14:55:30Z","createdAt":"2026-08-26T14:32:37Z","deletions":1,"headRefName":"ci-witness-95101-e6e7a42a","isDraft":true,"merged":false,"mergedAt":null,"number":95615,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"ci: exact-SHA witness for #95101 e6e7a42a","updatedAt":"2026-08-26T14:55:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/95615","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBFuFNQ","kind":"pull-request","label":"ci: exact-SHA witness for #95101 f2b2fa46","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-26T14:32:50Z","updatedAt":"2026-08-26T14:55:39Z","closedAt":"2026-08-26T14:55:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95616"},"data":{"additions":3036,"baseRefName":"main","changedFiles":10,"closedAt":"2026-08-26T14:55:39Z","createdAt":"2026-08-26T14:32:50Z","deletions":1,"headRefName":"ci-witness-95101-f2b2fa46","isDraft":true,"merged":false,"mergedAt":null,"number":95616,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"ci: exact-SHA witness for #95101 f2b2fa46","updatedAt":"2026-08-26T14:55:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/95616","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBfUijg","kind":"pull-request","label":"fix(skills): trust operator-added custom taps","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T07:31:24Z","updatedAt":"2026-08-30T09:16:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98423"},"data":{"createdAt":"2026-08-30T07:31:24Z","mergedAt":null,"number":98423,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(skills): trust operator-added custom taps","updatedAt":"2026-08-30T09:16:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/98423"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBFuKOg","kind":"pull-request","label":"ci: exact-SHA witness for #95101 f42a6624","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-26T14:33:00Z","updatedAt":"2026-08-26T14:55:45Z","closedAt":"2026-08-26T14:55:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95617"},"data":{"additions":3056,"baseRefName":"main","changedFiles":10,"closedAt":"2026-08-26T14:55:45Z","createdAt":"2026-08-26T14:33:00Z","deletions":1,"headRefName":"ci-witness-95101-f42a6624","isDraft":true,"merged":false,"mergedAt":null,"number":95617,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"ci: exact-SHA witness for #95101 f42a6624","updatedAt":"2026-08-26T14:55:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/95617","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBFuOEQ","kind":"pull-request","label":"ci: exact-SHA witness for #95101 02a41431","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-26T14:33:07Z","updatedAt":"2026-08-26T14:55:53Z","closedAt":"2026-08-26T14:55:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95618"},"data":{"additions":3080,"baseRefName":"main","changedFiles":10,"closedAt":"2026-08-26T14:55:53Z","createdAt":"2026-08-26T14:33:07Z","deletions":1,"headRefName":"ci-witness-95101-02a41431","isDraft":true,"merged":false,"mergedAt":null,"number":95618,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"ci: exact-SHA witness for #95101 02a41431","updatedAt":"2026-08-26T14:55:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/95618","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBFuxaA","kind":"pull-request","label":"feat(browser): real-profile browsing no longer breaks on Chrome 136+ (copy + browser-use CDP, redo of #95520)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-26T14:34:09Z","updatedAt":"2026-08-27T02:25:37Z","mergedAt":"2026-08-27T02:25:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95620"},"data":{"createdAt":"2026-08-26T14:34:09Z","mergedAt":"2026-08-27T02:25:34Z","number":95620,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(browser): real-profile browsing no longer breaks on Chrome 136+ (copy + browser-use CDP, redo of #95520)","updatedAt":"2026-08-27T02:25:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/95620"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBg8GUQ","kind":"pull-request","label":"feat: add safe pre-agent turn routing middleware","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T16:29:16Z","updatedAt":"2026-08-31T10:01:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98703"},"data":{"createdAt":"2026-08-30T16:29:16Z","mergedAt":null,"number":98703,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat: add safe pre-agent turn routing middleware","updatedAt":"2026-08-31T10:01:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/98703"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBg955g","kind":"pull-request","label":"fix(security): sanitize tool-result sinks end to end","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T16:36:58Z","updatedAt":"2026-08-31T17:01:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98711"},"data":{"additions":3041,"baseRefName":"main","changedFiles":23,"closedAt":null,"createdAt":"2026-08-30T16:36:58Z","deletions":1574,"headRefName":"security/tool-result-sink-redaction","isDraft":false,"merged":false,"mergedAt":null,"number":98711,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): sanitize tool-result sinks end to end","updatedAt":"2026-08-31T17:01:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/98711","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBGefKw","kind":"pull-request","label":"ci: exact-SHA witness for #94746 08b1c2d5","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-26T16:20:01Z","updatedAt":"2026-08-26T16:33:15Z","closedAt":"2026-08-26T16:33:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95698"},"data":{"additions":424,"baseRefName":"main","changedFiles":8,"closedAt":"2026-08-26T16:33:15Z","createdAt":"2026-08-26T16:20:01Z","deletions":29,"headRefName":"ci-witness-94746-08b1c2d","isDraft":false,"merged":false,"mergedAt":null,"number":95698,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"ci: exact-SHA witness for #94746 08b1c2d5","updatedAt":"2026-08-26T16:33:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/95698","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBgHvkw","kind":"pull-request","label":"agent: expose first stream chunk timestamp (TTFB) in post_api_request hook","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T12:21:15Z","updatedAt":"2026-08-30T23:43:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98555"},"data":{"createdAt":"2026-08-30T12:21:15Z","mergedAt":null,"number":98555,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"agent: expose first stream chunk timestamp (TTFB) in post_api_request hook","updatedAt":"2026-08-30T23:43:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/98555"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBGHXHQ","kind":"pull-request","label":"ci: exact-SHA witness for #95101 head 80a5034f v2","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-26T15:24:20Z","updatedAt":"2026-08-26T15:38:35Z","closedAt":"2026-08-26T15:38:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95653"},"data":{"additions":3110,"baseRefName":"main","changedFiles":10,"closedAt":"2026-08-26T15:38:28Z","createdAt":"2026-08-26T15:24:20Z","deletions":1,"headRefName":"ci-witness-95101-head-80a5034f-v2","isDraft":true,"merged":false,"mergedAt":null,"number":95653,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"ci: exact-SHA witness for #95101 head 80a5034f v2","updatedAt":"2026-08-26T15:38:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/95653","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBGiwZA","kind":"pull-request","label":"fix(tui-gateway): serialize WS session transport ownership","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-26T16:30:42Z","updatedAt":"2026-08-27T18:47:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95709"},"data":{"createdAt":"2026-08-26T16:30:42Z","mergedAt":null,"number":95709,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tui-gateway): serialize WS session transport ownership","updatedAt":"2026-08-27T18:47:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/95709"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBGj6QQ","kind":"pull-request","label":"ci: untouched exact-SHA witness for #94746 08b1c2d5","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-26T16:33:36Z","updatedAt":"2026-08-26T16:42:34Z","closedAt":"2026-08-26T16:38:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95710"},"data":{"additions":424,"baseRefName":"main","changedFiles":8,"closedAt":"2026-08-26T16:38:23Z","createdAt":"2026-08-26T16:33:36Z","deletions":29,"headRefName":"ci-witness-94746-08b1c2d-v2","isDraft":true,"merged":false,"mergedAt":null,"number":95710,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"ci: untouched exact-SHA witness for #94746 08b1c2d5","updatedAt":"2026-08-26T16:42:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/95710","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBgkBOw","kind":"pull-request","label":"fix(gateway): require wake-capable session provenance for background delegate_task","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T14:38:51Z","updatedAt":"2026-08-30T14:51:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98630"},"data":{"createdAt":"2026-08-30T14:38:51Z","mergedAt":null,"number":98630,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): require wake-capable session provenance for background delegate_task","updatedAt":"2026-08-30T14:51:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/98630"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBgLrtQ","kind":"pull-request","label":"fix(bedrock): iteration-limit summary falls through to the OpenAI client on bedrock_converse","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T12:40:00Z","updatedAt":"2026-08-30T16:14:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98564"},"data":{"createdAt":"2026-08-30T12:40:00Z","mergedAt":null,"number":98564,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(bedrock): iteration-limit summary falls through to the OpenAI client on bedrock_converse","updatedAt":"2026-08-30T16:14:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/98564"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBgnx0g","kind":"pull-request","label":"fix(telegram): retain retired generations until cleanup completes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T14:55:32Z","updatedAt":"2026-08-30T18:41:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98641"},"data":{"createdAt":"2026-08-30T14:55:32Z","mergedAt":null,"number":98641,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(telegram): retain retired generations until cleanup completes","updatedAt":"2026-08-30T18:41:41Z","url":"https://github.com/NousResearch/hermes-agent/pull/98641"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBGOeWQ","kind":"pull-request","label":"ci: post-incident exact-SHA witness for #95101 80a5034f","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-26T15:41:54Z","updatedAt":"2026-08-26T15:49:14Z","closedAt":"2026-08-26T15:43:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95661"},"data":{"additions":3110,"baseRefName":"main","changedFiles":10,"closedAt":"2026-08-26T15:43:50Z","createdAt":"2026-08-26T15:41:54Z","deletions":1,"headRefName":"ci-witness-95101-ci-80a5034f-v3","isDraft":true,"merged":false,"mergedAt":null,"number":95661,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"ci: post-incident exact-SHA witness for #95101 80a5034f","updatedAt":"2026-08-26T15:49:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/95661","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBGPDdg","kind":"pull-request","label":"fix(agent): turn liveness watchdog surfaces silent turn stalls (#95548)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-26T15:43:23Z","updatedAt":"2026-08-29T20:17:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95663"},"data":{"createdAt":"2026-08-26T15:43:23Z","mergedAt":null,"number":95663,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(agent): turn liveness watchdog surfaces silent turn stalls (#95548)","updatedAt":"2026-08-29T20:17:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/95663"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBGqpSg","kind":"pull-request","label":"fix(update): stop Windows installers from killing in-flight updates","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-26T16:50:41Z","updatedAt":"2026-08-27T04:47:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95719"},"data":{"createdAt":"2026-08-26T16:50:41Z","mergedAt":null,"number":95719,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(update): stop Windows installers from killing in-flight updates","updatedAt":"2026-08-27T04:47:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/95719"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBgUeuw","kind":"pull-request","label":"fix(tools): re-bridge terminal env per profile home, not once per process","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-30T13:24:42Z","updatedAt":"2026-08-30T13:59:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98589"},"data":{"createdAt":"2026-08-30T13:24:42Z","mergedAt":null,"number":98589,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(tools): re-bridge terminal env per profile home, not once per process","updatedAt":"2026-08-30T13:59:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/98589"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBGW6Ww","kind":"pull-request","label":"fix(desktop): keep @tanstack/react-query in one runtime chunk (Closes #95560)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-26T16:01:38Z","updatedAt":"2026-08-31T17:00:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95684"},"data":{"createdAt":"2026-08-26T16:01:38Z","mergedAt":null,"number":95684,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): keep @tanstack/react-query in one runtime chunk (Closes #95560)","updatedAt":"2026-08-31T17:00:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/95684"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBh6KiA","kind":"pull-request","label":"test(compression): pin the lease refresher's consecutive-failure give-up","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T21:27:16Z","updatedAt":"2026-08-31T17:15:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98867"},"data":{"createdAt":"2026-08-30T21:27:16Z","mergedAt":null,"number":98867,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"test(compression): pin the lease refresher's consecutive-failure give-up","updatedAt":"2026-08-31T17:15:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/98867"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBh8HNA","kind":"pull-request","label":"feat(approvals): add fail-closed smart cron mode","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T21:37:14Z","updatedAt":"2026-08-31T14:40:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98873"},"data":{"createdAt":"2026-08-30T21:37:14Z","mergedAt":null,"number":98873,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(approvals): add fail-closed smart cron mode","updatedAt":"2026-08-31T14:40:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/98873"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBhAFdw","kind":"pull-request","label":"feat(skills): add onload hook and HERMES_HOME template var for environment-triggered skill loading","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-30T16:45:57Z","updatedAt":"2026-08-30T19:13:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98718"},"data":{"createdAt":"2026-08-30T16:45:57Z","mergedAt":null,"number":98718,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(skills): add onload hook and HERMES_HOME template var for environment-triggered skill loading","updatedAt":"2026-08-30T19:13:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/98718"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBhbyQA","kind":"pull-request","label":"fix(security): scope fallback endpoint identity and TLS failures","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T18:58:19Z","updatedAt":"2026-08-31T17:01:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98773"},"data":{"additions":12765,"baseRefName":"main","changedFiles":16,"closedAt":null,"createdAt":"2026-08-30T18:58:19Z","deletions":11362,"headRefName":"security/fallback-endpoint-identity","isDraft":false,"merged":false,"mergedAt":null,"number":98773,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): scope fallback endpoint identity and TLS failures","updatedAt":"2026-08-31T17:01:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/98773","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBhc9Sg","kind":"pull-request","label":"fix(security): preserve corrupt auth stores with explicit recovery","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T19:03:56Z","updatedAt":"2026-08-31T00:10:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98776"},"data":{"additions":3405,"baseRefName":"main","changedFiles":20,"closedAt":null,"createdAt":"2026-08-30T19:03:56Z","deletions":601,"headRefName":"security/auth-store-corruption","isDraft":false,"merged":false,"mergedAt":null,"number":98776,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): preserve corrupt auth stores with explicit recovery","updatedAt":"2026-08-31T00:10:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/98776","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBhDBHQ","kind":"pull-request","label":"fix(config): prove env-template provenance via runtime secret authorities","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T16:59:45Z","updatedAt":"2026-08-30T20:43:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98721"},"data":{"createdAt":"2026-08-30T16:59:45Z","mergedAt":null,"number":98721,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(config): prove env-template provenance via runtime secret authorities","updatedAt":"2026-08-30T20:43:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/98721"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBhjbrg","kind":"pull-request","label":"fix(tests): reject drifted runner venvs","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T19:35:06Z","updatedAt":"2026-08-30T19:50:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98797"},"data":{"createdAt":"2026-08-30T19:35:06Z","mergedAt":null,"number":98797,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tests): reject drifted runner venvs","updatedAt":"2026-08-30T19:50:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/98797"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBhJhZg","kind":"pull-request","label":"fix(approval): make unattended exclusion transport-scoped so /v1/runs approval works","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T17:30:41Z","updatedAt":"2026-08-30T17:56:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98735"},"data":{"createdAt":"2026-08-30T17:30:41Z","mergedAt":null,"number":98735,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(approval): make unattended exclusion transport-scoped so /v1/runs approval works","updatedAt":"2026-08-30T17:56:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/98735"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBhn12Q","kind":"pull-request","label":"fix(cache): honor the host-declared conversation key on the affinity-key path","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T19:57:06Z","updatedAt":"2026-08-31T05:42:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98811"},"data":{"createdAt":"2026-08-30T19:57:06Z","mergedAt":null,"number":98811,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cache): honor the host-declared conversation key on the affinity-key path","updatedAt":"2026-08-31T05:42:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/98811"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBHtPzw","kind":"pull-request","label":"fix(gateway): write loop heartbeat off the event loop","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-26T19:31:20Z","updatedAt":"2026-08-27T14:14:38Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95808"},"data":{"createdAt":"2026-08-26T19:31:20Z","mergedAt":null,"number":95808,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): write loop heartbeat off the event loop","updatedAt":"2026-08-27T14:14:38Z","url":"https://github.com/NousResearch/hermes-agent/pull/95808"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBhvCVA","kind":"pull-request","label":"fix(security): harden key_cmd argv — trusted-operator hardening beyond 97217 (Fixes #98831, tracks #98910)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-30T20:32:17Z","updatedAt":"2026-08-30T22:50:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98837"},"data":{"createdAt":"2026-08-30T20:32:17Z","mergedAt":null,"number":98837,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(security): harden key_cmd argv — trusted-operator hardening beyond 97217 (Fixes #98831, tracks #98910)","updatedAt":"2026-08-30T22:50:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/98837"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBhWqWA","kind":"pull-request","label":"fix(security): close MCP result redaction boundary","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T18:33:32Z","updatedAt":"2026-08-30T20:50:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98762"},"data":{"additions":10033,"baseRefName":"main","changedFiles":11,"closedAt":null,"createdAt":"2026-08-30T18:33:32Z","deletions":8669,"headRefName":"security/mcp-result-redaction","isDraft":false,"merged":false,"mergedAt":null,"number":98762,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): close MCP result redaction boundary","updatedAt":"2026-08-30T20:50:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/98762","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBHXIFg","kind":"pull-request","label":"ci: exact-head witness for #93042","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-26T18:37:48Z","updatedAt":"2026-08-26T19:57:30Z","closedAt":"2026-08-26T19:57:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95778"},"data":{"additions":52191,"baseRefName":"main","changedFiles":165,"closedAt":"2026-08-26T19:57:30Z","createdAt":"2026-08-26T18:37:48Z","deletions":3332,"headRefName":"ci-witness-93042-bd6964","isDraft":false,"merged":false,"mergedAt":null,"number":95778,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"ci: exact-head witness for #93042","updatedAt":"2026-08-26T19:57:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/95778","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBHYCoQ","kind":"pull-request","label":"ci: exact-head witness for #86322","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-26T18:39:45Z","updatedAt":"2026-08-26T19:18:24Z","closedAt":"2026-08-26T19:15:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95780"},"data":{"additions":850,"baseRefName":"main","changedFiles":4,"closedAt":"2026-08-26T19:15:14Z","createdAt":"2026-08-26T18:39:45Z","deletions":30,"headRefName":"ci-witness-86322-7fe503c6","isDraft":false,"merged":false,"mergedAt":null,"number":95780,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"ci: exact-head witness for #86322","updatedAt":"2026-08-26T19:18:24Z","url":"https://github.com/NousResearch/hermes-agent/pull/95780","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBHYzNQ","kind":"pull-request","label":"feat(desktop): Debug MCP server — native UI-debugging tools for LLM agents","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-26T18:41:25Z","updatedAt":"2026-08-31T09:54:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95781"},"data":{"createdAt":"2026-08-26T18:41:25Z","mergedAt":null,"number":95781,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(desktop): Debug MCP server — native UI-debugging tools for LLM agents","updatedAt":"2026-08-31T09:54:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/95781"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBIadww","kind":"pull-request","label":"Secure source-bound remote workers without losing workspace capability","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-26T21:29:49Z","updatedAt":"2026-08-31T00:47:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95850"},"data":{"createdAt":"2026-08-26T21:29:49Z","mergedAt":null,"number":95850,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Secure source-bound remote workers without losing workspace capability","updatedAt":"2026-08-31T00:47:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/95850"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBiAGfA","kind":"pull-request","label":"fix(logging): global secret redaction  stronger than formatter-only","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T21:58:11Z","updatedAt":"2026-08-31T15:28:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98880"},"data":{"createdAt":"2026-08-30T21:58:11Z","mergedAt":null,"number":98880,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(logging): global secret redaction  stronger than formatter-only","updatedAt":"2026-08-31T15:28:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/98880"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBIrkNg","kind":"pull-request","label":"fix(desktop): preserve streamed assistant text and unify atomic persistence (#95514)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-26T22:24:05Z","updatedAt":"2026-08-29T07:23:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95886"},"data":{"createdAt":"2026-08-26T22:24:05Z","mergedAt":null,"number":95886,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): preserve streamed assistant text and unify atomic persistence (#95514)","updatedAt":"2026-08-29T07:23:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/95886"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBiSvAw","kind":"pull-request","label":"feat(review): add strict automatic checkpoint runner","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-30T23:37:19Z","updatedAt":"2026-08-30T23:52:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98927"},"data":{"createdAt":"2026-08-30T23:37:19Z","mergedAt":null,"number":98927,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(review): add strict automatic checkpoint runner","updatedAt":"2026-08-30T23:52:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/98927"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBitYcA","kind":"pull-request","label":"fix(codex): harden app-server turn continuity","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-31T01:37:16Z","updatedAt":"2026-08-31T10:51:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98995"},"data":{"createdAt":"2026-08-31T01:37:16Z","mergedAt":null,"number":98995,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(codex): harden app-server turn continuity","updatedAt":"2026-08-31T10:51:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/98995"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBivGHg","kind":"pull-request","label":"fix(feishu): gate approval/update-prompt card clicks on operator allowlist, not group policy","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-31T01:44:39Z","updatedAt":"2026-08-31T03:21:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99004"},"data":{"createdAt":"2026-08-31T01:44:39Z","mergedAt":null,"number":99004,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(feishu): gate approval/update-prompt card clicks on operator allowlist, not group policy","updatedAt":"2026-08-31T03:21:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/99004"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBIvkeA","kind":"pull-request","label":"fix(update): Windows desktop update stall watchdog + fleet-check false failure","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-26T22:38:16Z","updatedAt":"2026-08-27T01:23:36Z","mergedAt":"2026-08-27T01:23:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95897"},"data":{"createdAt":"2026-08-26T22:38:16Z","mergedAt":"2026-08-27T01:23:34Z","number":95897,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(update): Windows desktop update stall watchdog + fleet-check false failure","updatedAt":"2026-08-27T01:23:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/95897"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBiWzOQ","kind":"pull-request","label":"fix(a2a): harden replay retry and profile isolation","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-31T00:00:20Z","updatedAt":"2026-08-31T01:37:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98937"},"data":{"createdAt":"2026-08-31T00:00:20Z","mergedAt":null,"number":98937,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(a2a): harden replay retry and profile isolation","updatedAt":"2026-08-31T01:37:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/98937"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBj_8iA","kind":"pull-request","label":"fix(compression): in-transaction lease refresh before publish; cooldown on split failure (#97948 symptom B)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-31T06:32:45Z","updatedAt":"2026-08-31T08:39:44Z","mergedAt":"2026-08-31T08:39:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99216"},"data":{"createdAt":"2026-08-31T06:32:45Z","mergedAt":"2026-08-31T08:39:43Z","number":99216,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(compression): in-transaction lease refresh before publish; cooldown on split failure (#97948 symptom B)","updatedAt":"2026-08-31T08:39:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/99216"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBJ-3xw","kind":"pull-request","label":"fix(agent): isolate artifact certification observers","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-27T03:41:57Z","updatedAt":"2026-08-27T16:53:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96043"},"data":{"createdAt":"2026-08-27T03:41:57Z","mergedAt":null,"number":96043,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(agent): isolate artifact certification observers","updatedAt":"2026-08-27T16:53:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/96043"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBJbW6w","kind":"pull-request","label":"feat(bot-mode): add scoped cross-gateway RoomLink","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-27T01:23:45Z","updatedAt":"2026-08-29T05:25:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95966"},"data":{"createdAt":"2026-08-27T01:23:45Z","mergedAt":null,"number":95966,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(bot-mode): add scoped cross-gateway RoomLink","updatedAt":"2026-08-29T05:25:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/95966"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBjcWnQ","kind":"pull-request","label":"fix(bot-mode): keep Group Chat replicas passive until takeover is fenced","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-31T04:35:16Z","updatedAt":"2026-08-31T10:42:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99107"},"data":{"createdAt":"2026-08-31T04:35:16Z","mergedAt":null,"number":99107,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(bot-mode): keep Group Chat replicas passive until takeover is fenced","updatedAt":"2026-08-31T10:42:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/99107"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBjJ-xQ","kind":"pull-request","label":"feat(agent): allow pre_llm_call plugins to override model/provider at runtime","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-31T03:29:06Z","updatedAt":"2026-08-31T03:58:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99053"},"data":{"createdAt":"2026-08-31T03:29:06Z","mergedAt":null,"number":99053,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(agent): allow pre_llm_call plugins to override model/provider at runtime","updatedAt":"2026-08-31T03:58:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/99053"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBJmXWQ","kind":"pull-request","label":"feat(kanban): add atomic exact-task dispatch","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-27T02:06:53Z","updatedAt":"2026-08-27T02:51:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95996"},"data":{"createdAt":"2026-08-27T02:06:53Z","mergedAt":null,"number":95996,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(kanban): add atomic exact-task dispatch","updatedAt":"2026-08-27T02:51:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/95996"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBJP4Tw","kind":"pull-request","label":"fix(gateway): block direct-spawn self-lifecycle","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-27T00:39:48Z","updatedAt":"2026-08-30T00:35:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95954"},"data":{"createdAt":"2026-08-27T00:39:48Z","mergedAt":null,"number":95954,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): block direct-spawn self-lifecycle","updatedAt":"2026-08-30T00:35:56Z","url":"https://github.com/NousResearch/hermes-agent/pull/95954"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBjrtCg","kind":"pull-request","label":"feat(bot-mode): let Bots hand off files in hosted Group Chats","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-31T05:29:02Z","updatedAt":"2026-08-31T15:43:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99159"},"data":{"createdAt":"2026-08-31T05:29:02Z","mergedAt":null,"number":99159,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(bot-mode): let Bots hand off files in hosted Group Chats","updatedAt":"2026-08-31T15:43:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/99159"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBJsi_g","kind":"pull-request","label":"fix(bedrock): preserve replay blocks across provider switches","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-27T02:31:02Z","updatedAt":"2026-08-27T05:29:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96018"},"data":{"createdAt":"2026-08-27T02:31:02Z","mergedAt":null,"number":96018,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(bedrock): preserve replay blocks across provider switches","updatedAt":"2026-08-27T05:29:20Z","url":"https://github.com/NousResearch/hermes-agent/pull/96018"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBjuDNg","kind":"pull-request","label":"fix(desktop): retire replaced backend siblings + stability-gated reconnect backoff (backend supervision, #79353)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-31T05:37:36Z","updatedAt":"2026-08-31T05:56:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99178"},"data":{"createdAt":"2026-08-31T05:37:36Z","mergedAt":null,"number":99178,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): retire replaced backend siblings + stability-gated reconnect backoff (backend supervision, #79353)","updatedAt":"2026-08-31T05:56:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/99178"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBjZBIA","kind":"pull-request","label":"fix(providers): honor enabled:false in shared resolver","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-31T04:24:27Z","updatedAt":"2026-08-31T04:44:22Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99102"},"data":{"createdAt":"2026-08-31T04:24:27Z","mergedAt":null,"number":99102,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(providers): honor enabled:false in shared resolver","updatedAt":"2026-08-31T04:44:22Z","url":"https://github.com/NousResearch/hermes-agent/pull/99102"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBK2yqw","kind":"pull-request","label":"feat(whatsapp): add emergency outbound send lock","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-27T06:54:19Z","updatedAt":"2026-08-27T08:26:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96146"},"data":{"createdAt":"2026-08-27T06:54:19Z","mergedAt":null,"number":96146,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): add emergency outbound send lock","updatedAt":"2026-08-27T08:26:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/96146"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBkE5oQ","kind":"pull-request","label":"fix(terminal): scope terminal config per turn under profile multiplexing","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-31T06:46:22Z","updatedAt":"2026-08-31T07:03:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99225"},"data":{"createdAt":"2026-08-31T06:46:22Z","mergedAt":null,"number":99225,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(terminal): scope terminal config per turn under profile multiplexing","updatedAt":"2026-08-31T07:03:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/99225"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBKfSIQ","kind":"pull-request","label":"fix(desktop/sessions): legacy NULL-owner session migration — single-match owner backfill + read-only stored-transcript resume (#94724)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-27T05:44:16Z","updatedAt":"2026-08-27T09:18:00Z","mergedAt":"2026-08-27T09:17:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96110"},"data":{"createdAt":"2026-08-27T05:44:16Z","mergedAt":"2026-08-27T09:17:57Z","number":96110,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(desktop/sessions): legacy NULL-owner session migration — single-match owner backfill + read-only stored-transcript resume (#94724)","updatedAt":"2026-08-27T09:18:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/96110"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBKGrKg","kind":"pull-request","label":"fix(skills): prevent stale pending write replay","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-27T04:11:12Z","updatedAt":"2026-08-28T23:40:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96059"},"data":{"createdAt":"2026-08-27T04:11:12Z","mergedAt":null,"number":96059,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(skills): prevent stale pending write replay","updatedAt":"2026-08-28T23:40:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/96059"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBKJUyw","kind":"pull-request","label":"feat(cron): add per-job fallback boundaries for agent-backed cron jobs","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-27T04:21:06Z","updatedAt":"2026-08-27T13:59:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96065"},"data":{"createdAt":"2026-08-27T04:21:06Z","mergedAt":null,"number":96065,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(cron): add per-job fallback boundaries for agent-backed cron jobs","updatedAt":"2026-08-27T13:59:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/96065"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBkL9Ag","kind":"pull-request","label":"feat(bot-mode): Group Chats span gateways — laptop, homelab, and VPS bots in one room (salvage #97797)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-31T07:06:26Z","updatedAt":"2026-08-31T08:04:15Z","mergedAt":"2026-08-31T08:04:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99244"},"data":{"createdAt":"2026-08-31T07:06:26Z","mergedAt":"2026-08-31T08:04:12Z","number":99244,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(bot-mode): Group Chats span gateways — laptop, homelab, and VPS bots in one room (salvage #97797)","updatedAt":"2026-08-31T08:04:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/99244"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBkXXNg","kind":"pull-request","label":"fix(tests): stop test_dashboard_auth_gate.py from hard-exiting the pytest process","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-31T07:33:22Z","updatedAt":"2026-08-31T07:50:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99263"},"data":{"createdAt":"2026-08-31T07:33:22Z","mergedAt":null,"number":99263,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tests): stop test_dashboard_auth_gate.py from hard-exiting the pytest process","updatedAt":"2026-08-31T07:50:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/99263"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBL0IyQ","kind":"pull-request","label":"fix(update): recover the hermes serve generation after an aborted restart phase","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-27T09:23:12Z","updatedAt":"2026-08-29T20:19:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96235"},"data":{"createdAt":"2026-08-27T09:23:12Z","mergedAt":null,"number":96235,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(update): recover the hermes serve generation after an aborted restart phase","updatedAt":"2026-08-29T20:19:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/96235"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBl6HcA","kind":"pull-request","label":"Harden external capability audit and CI authority","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-31T11:26:49Z","updatedAt":"2026-08-31T11:58:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99351"},"data":{"createdAt":"2026-08-31T11:26:49Z","mergedAt":null,"number":99351,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Harden external capability audit and CI authority","updatedAt":"2026-08-31T11:58:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/99351"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBLdYGQ","kind":"pull-request","label":"fix(gateway): stop hung sessions from auto-resuming on every restart","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-27T08:29:46Z","updatedAt":"2026-08-27T10:42:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96204"},"data":{"createdAt":"2026-08-27T08:29:46Z","mergedAt":null,"number":96204,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): stop hung sessions from auto-resuming on every restart","updatedAt":"2026-08-27T10:42:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/96204"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBLExBA","kind":"pull-request","label":"feat: add authoritative execution receipts","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-27T07:30:03Z","updatedAt":"2026-08-27T07:57:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96165"},"data":{"createdAt":"2026-08-27T07:30:03Z","mergedAt":null,"number":96165,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat: add authoritative execution receipts","updatedAt":"2026-08-27T07:57:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/96165"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBlmoSQ","kind":"pull-request","label":"fix(memory): cap successful writes per turn to stop success-only mutation loops","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-31T10:40:19Z","updatedAt":"2026-08-31T13:03:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99332"},"data":{"createdAt":"2026-08-31T10:40:19Z","mergedAt":null,"number":99332,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(memory): cap successful writes per turn to stop success-only mutation loops","updatedAt":"2026-08-31T13:03:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/99332"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBLN63g","kind":"pull-request","label":"feat(plugins): report gateway dispatch outcomes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-27T07:52:36Z","updatedAt":"2026-08-27T21:36:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96179"},"data":{"createdAt":"2026-08-27T07:52:36Z","mergedAt":null,"number":96179,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(plugins): report gateway dispatch outcomes","updatedAt":"2026-08-27T21:36:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/96179"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBlQjig","kind":"pull-request","label":"fix(security): redact secrets at generic tool boundaries","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-31T09:47:36Z","updatedAt":"2026-08-31T15:23:38Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99306"},"data":{"createdAt":"2026-08-31T09:47:36Z","mergedAt":null,"number":99306,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): redact secrets at generic tool boundaries","updatedAt":"2026-08-31T15:23:38Z","url":"https://github.com/NousResearch/hermes-agent/pull/99306"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBM6YMA","kind":"pull-request","label":"fix(approval): restore plugin-registered skip_container_guards consult","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-27T12:09:25Z","updatedAt":"2026-08-27T12:51:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96335"},"data":{"createdAt":"2026-08-27T12:09:25Z","mergedAt":null,"number":96335,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(approval): restore plugin-registered skip_container_guards consult","updatedAt":"2026-08-27T12:51:56Z","url":"https://github.com/NousResearch/hermes-agent/pull/96335"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBMcxhA","kind":"pull-request","label":"fix(serve): write READY sentinel to real fd 1 so desktop handshake survives stdout redirect","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-27T11:00:19Z","updatedAt":"2026-08-27T11:42:38Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96289"},"data":{"createdAt":"2026-08-27T11:00:19Z","mergedAt":null,"number":96289,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(serve): write READY sentinel to real fd 1 so desktop handshake survives stdout redirect","updatedAt":"2026-08-27T11:42:38Z","url":"https://github.com/NousResearch/hermes-agent/pull/96289"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBMe1nA","kind":"pull-request","label":"fix(serve): emit READY sentinel on real stdout after tui_gateway rebinds it","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-27T11:05:30Z","updatedAt":"2026-08-27T11:26:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96292"},"data":{"createdAt":"2026-08-27T11:05:30Z","mergedAt":null,"number":96292,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(serve): emit READY sentinel on real stdout after tui_gateway rebinds it","updatedAt":"2026-08-27T11:26:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/96292"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBMs5hg","kind":"pull-request","label":"fix(docker): keep forwarded env values out of docker argv","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-27T11:39:16Z","updatedAt":"2026-08-29T08:09:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96316"},"data":{"createdAt":"2026-08-27T11:39:16Z","mergedAt":null,"number":96316,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(docker): keep forwarded env values out of docker argv","updatedAt":"2026-08-29T08:09:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/96316"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBn38NQ","kind":"pull-request","label":"fix(state): self-heal SessionDB writes after close() races an in-flight worker (#94736)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-31T15:41:37Z","updatedAt":"2026-08-31T17:15:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99509"},"data":{"createdAt":"2026-08-31T15:41:37Z","mergedAt":null,"number":99509,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(state): self-heal SessionDB writes after close() races an in-flight worker (#94736)","updatedAt":"2026-08-31T17:15:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/99509"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBNCudA","kind":"pull-request","label":"fix(desktop): make backend port-announcement wait multi-channel — closes the 90s boot-timeout family (#96315)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-27T12:27:21Z","updatedAt":"2026-08-27T22:34:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96347"},"data":{"createdAt":"2026-08-27T12:27:21Z","mergedAt":null,"number":96347,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): make backend port-announcement wait multi-channel — closes the 90s boot-timeout family (#96315)","updatedAt":"2026-08-27T22:34:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/96347"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBNDMhg","kind":"pull-request","label":"fix(gateway): gate /sethome nudge to operator targets; strip tool-render chrome","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-27T12:28:26Z","updatedAt":"2026-08-27T12:55:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96350"},"data":{"createdAt":"2026-08-27T12:28:26Z","mergedAt":null,"number":96350,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): gate /sethome nudge to operator targets; strip tool-render chrome","updatedAt":"2026-08-27T12:55:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/96350"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBNiA2w","kind":"pull-request","label":"feat(gateway): support persistent room model profiles","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-27T13:32:37Z","updatedAt":"2026-08-31T14:24:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96397"},"data":{"createdAt":"2026-08-27T13:32:37Z","mergedAt":null,"number":96397,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(gateway): support persistent room model profiles","updatedAt":"2026-08-31T14:24:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/96397"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBnTFrg","kind":"pull-request","label":"fix(update): quiesce the running fleet before mutating the checkout","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-31T14:28:15Z","updatedAt":"2026-08-31T16:39:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99450"},"data":{"createdAt":"2026-08-31T14:28:15Z","mergedAt":null,"number":99450,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(update): quiesce the running fleet before mutating the checkout","updatedAt":"2026-08-31T16:39:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/99450"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBnwaOA","kind":"pull-request","label":"fix(security): make desktop secret storage secure by default","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-31T15:26:49Z","updatedAt":"2026-08-31T15:26:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99490"},"data":{"additions":6836,"baseRefName":"main","changedFiles":20,"closedAt":null,"createdAt":"2026-08-31T15:26:49Z","deletions":4621,"headRefName":"security/desktop-secret-storage","isDraft":false,"merged":false,"mergedAt":null,"number":99490,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): make desktop secret storage secure by default","updatedAt":"2026-08-31T15:26:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/99490","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBO6NCA","kind":"pull-request","label":"fix(api_server): decouple session SSE from agent execution on client disconnect","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-27T16:29:07Z","updatedAt":"2026-08-28T03:11:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96507"},"data":{"createdAt":"2026-08-27T16:29:07Z","mergedAt":null,"number":96507,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(api_server): decouple session SSE from agent execution on client disconnect","updatedAt":"2026-08-28T03:11:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/96507"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBOfM5w","kind":"pull-request","label":"feat(gateway): import sanity canary — detect source swapped under a live process","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-27T15:30:02Z","updatedAt":"2026-08-28T14:37:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96472"},"data":{"createdAt":"2026-08-27T15:30:02Z","mergedAt":null,"number":96472,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(gateway): import sanity canary — detect source swapped under a live process","updatedAt":"2026-08-28T14:37:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/96472"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBoMtjA","kind":"pull-request","label":"fix(gateway): give the routing index one store instead of the ambient one","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-31T16:24:37Z","updatedAt":"2026-08-31T17:02:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99559"},"data":{"createdAt":"2026-08-31T16:24:37Z","mergedAt":null,"number":99559,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): give the routing index one store instead of the ambient one","updatedAt":"2026-08-31T17:02:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/99559"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBPa5bg","kind":"pull-request","label":"fix(discord): harden outbound image URL fetches","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-27T17:43:39Z","updatedAt":"2026-08-27T17:52:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96540"},"data":{"createdAt":"2026-08-27T17:43:39Z","mergedAt":null,"number":96540,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(discord): harden outbound image URL fetches","updatedAt":"2026-08-27T17:52:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/96540"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBPewjw","kind":"pull-request","label":"fix(discord): harden outbound image URL fetches","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-27T17:52:14Z","updatedAt":"2026-08-28T02:40:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96543"},"data":{"createdAt":"2026-08-27T17:52:14Z","mergedAt":null,"number":96543,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(discord): harden outbound image URL fetches","updatedAt":"2026-08-28T02:40:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/96543"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBPyXug","kind":"pull-request","label":"fix(cron): isolate per-execution working directories","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-27T18:34:43Z","updatedAt":"2026-08-27T18:55:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96573"},"data":{"createdAt":"2026-08-27T18:34:43Z","mergedAt":null,"number":96573,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cron): isolate per-execution working directories","updatedAt":"2026-08-27T18:55:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/96573"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBQlU5w","kind":"pull-request","label":"fix(relay): upgrade to 0.8.1","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-27T20:38:22Z","updatedAt":"2026-08-30T23:28:22Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96633"},"data":{"createdAt":"2026-08-27T20:38:22Z","mergedAt":null,"number":96633,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(relay): upgrade to 0.8.1","updatedAt":"2026-08-30T23:28:22Z","url":"https://github.com/NousResearch/hermes-agent/pull/96633"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBQRElw","kind":"pull-request","label":"fix(desktop): make gateway file saves failure-atomic so a failed download never destroys an existing file","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-27T19:48:05Z","updatedAt":"2026-08-29T06:06:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96608"},"data":{"createdAt":"2026-08-27T19:48:05Z","mergedAt":null,"number":96608,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): make gateway file saves failure-atomic so a failed download never destroys an existing file","updatedAt":"2026-08-29T06:06:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/96608"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBRcDZQ","kind":"pull-request","label":"fix(desktop): keep remote profiles on their own models","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-27T23:18:55Z","updatedAt":"2026-08-28T11:23:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96714"},"data":{"createdAt":"2026-08-27T23:18:55Z","mergedAt":null,"number":96714,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): keep remote profiles on their own models","updatedAt":"2026-08-28T11:23:56Z","url":"https://github.com/NousResearch/hermes-agent/pull/96714"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBRLxjg","kind":"pull-request","label":"feat(gateway): isolate durable messaging sessions","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-27T22:24:39Z","updatedAt":"2026-08-27T22:59:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96693"},"data":{"createdAt":"2026-08-27T22:24:39Z","mergedAt":null,"number":96693,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(gateway): isolate durable messaging sessions","updatedAt":"2026-08-27T22:59:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/96693"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBRrdnQ","kind":"pull-request","label":"fix(cache): over-length caller prompt_cache_key no longer 400s Chat Completions requests (opencode#44571 port)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-28T00:19:06Z","updatedAt":"2026-08-29T06:06:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96755"},"data":{"createdAt":"2026-08-28T00:19:06Z","mergedAt":null,"number":96755,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(cache): over-length caller prompt_cache_key no longer 400s Chat Completions requests (opencode#44571 port)","updatedAt":"2026-08-29T06:06:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/96755"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBRTLvQ","kind":"pull-request","label":"feat(commands): establish unified versioned command catalog","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-27T22:47:01Z","updatedAt":"2026-08-28T03:39:43Z","closedAt":"2026-08-28T03:39:29Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96705"},"data":{"additions":310,"baseRefName":"main","changedFiles":2,"closedAt":"2026-08-28T03:39:29Z","createdAt":"2026-08-27T22:47:01Z","deletions":0,"headRefName":"feat/96692-unified-command-plane","isDraft":true,"merged":false,"mergedAt":null,"number":96705,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(commands): establish unified versioned command catalog","updatedAt":"2026-08-28T03:39:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/96705","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBRxUIg","kind":"pull-request","label":"fix(browser): real-profile browsing on macOS launches signed out / hangs with Chrome open","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-28T00:37:39Z","updatedAt":"2026-08-30T01:35:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96763"},"data":{"createdAt":"2026-08-28T00:37:39Z","mergedAt":null,"number":96763,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(browser): real-profile browsing on macOS launches signed out / hangs with Chrome open","updatedAt":"2026-08-30T01:35:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/96763"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBS0o5Q","kind":"pull-request","label":"fix(ci): bound review automation and fail closed","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T04:41:38Z","updatedAt":"2026-08-28T05:20:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96879"},"data":{"createdAt":"2026-08-28T04:41:38Z","mergedAt":null,"number":96879,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(ci): bound review automation and fail closed","updatedAt":"2026-08-28T05:20:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/96879"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBSmfnA","kind":"pull-request","label":"fix(update): enforce systemd worker generation boundary","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T03:45:15Z","updatedAt":"2026-08-28T03:58:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96853"},"data":{"createdAt":"2026-08-28T03:45:15Z","mergedAt":null,"number":96853,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(update): enforce systemd worker generation boundary","updatedAt":"2026-08-28T03:58:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/96853"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBSPkzA","kind":"pull-request","label":"fix(security): contain credential and computer-use privacy leaks","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T02:16:42Z","updatedAt":"2026-08-29T01:57:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96804"},"data":{"createdAt":"2026-08-28T02:16:42Z","mergedAt":null,"number":96804,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): contain credential and computer-use privacy leaks","updatedAt":"2026-08-29T01:57:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/96804"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBTBTCA","kind":"pull-request","label":"security(tools): case-insensitive credential scrub in env snapshots","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T05:32:59Z","updatedAt":"2026-08-28T06:30:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96908"},"data":{"createdAt":"2026-08-28T05:32:59Z","mergedAt":null,"number":96908,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"security(tools): case-insensitive credential scrub in env snapshots","updatedAt":"2026-08-28T06:30:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/96908"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBThKIA","kind":"pull-request","label":"fix(feishu): enable doc/drive tools in DM sessions via shared client fallback","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T07:11:01Z","updatedAt":"2026-08-31T01:06:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96950"},"data":{"createdAt":"2026-08-28T07:11:01Z","mergedAt":null,"number":96950,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(feishu): enable doc/drive tools in DM sessions via shared client fallback","updatedAt":"2026-08-31T01:06:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/96950"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBTZkug","kind":"pull-request","label":"feat(wecom): tool-timer animation in native stream bubble","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T06:51:33Z","updatedAt":"2026-08-31T02:53:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96942"},"data":{"createdAt":"2026-08-28T06:51:33Z","mergedAt":null,"number":96942,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(wecom): tool-timer animation in native stream bubble","updatedAt":"2026-08-31T02:53:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/96942"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBU_rzw","kind":"pull-request","label":"feat(compaction): rebuild dynamic tool schemas at the compaction boundary","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-28T10:55:55Z","updatedAt":"2026-08-28T17:11:06Z","mergedAt":"2026-08-28T11:01:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97073"},"data":{"createdAt":"2026-08-28T10:55:55Z","mergedAt":"2026-08-28T11:01:06Z","number":97073,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(compaction): rebuild dynamic tool schemas at the compaction boundary","updatedAt":"2026-08-28T17:11:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/97073"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBU43uQ","kind":"pull-request","label":"fix(agent): quarantine same-workspace delegated mutations until stale child exits","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T10:39:24Z","updatedAt":"2026-08-28T10:47:37Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97061"},"data":{"createdAt":"2026-08-28T10:39:24Z","mergedAt":null,"number":97061,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(agent): quarantine same-workspace delegated mutations until stale child exits","updatedAt":"2026-08-28T10:47:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/97061"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBUAhOA","kind":"pull-request","label":"feat: agent signs into sites from an encrypted local vault — CLI, browser fill, and Desktop Settings UI","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T08:23:24Z","updatedAt":"2026-08-30T07:53:38Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96988"},"data":{"createdAt":"2026-08-28T08:23:24Z","mergedAt":null,"number":96988,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat: agent signs into sites from an encrypted local vault — CLI, browser fill, and Desktop Settings UI","updatedAt":"2026-08-30T07:53:38Z","url":"https://github.com/NousResearch/hermes-agent/pull/96988"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBUzFzg","kind":"pull-request","label":"feat(update): support exact commit cutoffs","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T10:25:42Z","updatedAt":"2026-08-28T11:48:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97056"},"data":{"createdAt":"2026-08-28T10:25:42Z","mergedAt":null,"number":97056,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(update): support exact commit cutoffs","updatedAt":"2026-08-28T11:48:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/97056"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBV0AGg","kind":"pull-request","label":"feat(commands): establish Telegram projection contract","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T13:08:13Z","updatedAt":"2026-08-28T20:45:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97169"},"data":{"additions":1426,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-28T13:08:13Z","deletions":0,"headRefName":"commands/pr8-telegram-projection","isDraft":false,"merged":false,"mergedAt":null,"number":97169,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(commands): establish Telegram projection contract","updatedAt":"2026-08-28T20:45:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/97169","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBVb7qA","kind":"pull-request","label":"feat(commands): establish desktop client command bindings","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T12:07:41Z","updatedAt":"2026-08-29T18:52:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97124"},"data":{"additions":262,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-28T12:07:41Z","deletions":0,"headRefName":"commands/pr5-desktop-client-bindings","isDraft":false,"merged":false,"mergedAt":null,"number":97124,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(commands): establish desktop client command bindings","updatedAt":"2026-08-29T18:52:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/97124","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBVEfug","kind":"pull-request","label":"feat(webhook): shard durable authority pipeline","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T11:07:25Z","updatedAt":"2026-08-30T14:40:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97083"},"data":{"additions":43449,"baseRefName":"main","changedFiles":75,"closedAt":null,"createdAt":"2026-08-28T11:07:25Z","deletions":2342,"headRefName":"axl/webhook-authority-join-6dcebea","isDraft":false,"merged":false,"mergedAt":null,"number":97083,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(webhook): shard durable authority pipeline","updatedAt":"2026-08-30T14:40:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/97083","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBVfPuw","kind":"pull-request","label":"feat(commands): establish Ink TUI client command bindings","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T12:16:16Z","updatedAt":"2026-08-29T02:42:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97129"},"data":{"additions":228,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-28T12:16:16Z","deletions":0,"headRefName":"commands/pr6-ink-client-bindings","isDraft":false,"merged":false,"mergedAt":null,"number":97129,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(commands): establish Ink TUI client command bindings","updatedAt":"2026-08-29T02:42:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/97129","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBViKZw","kind":"pull-request","label":"feat(commands): establish classic CLI command bindings","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T12:23:58Z","updatedAt":"2026-08-29T02:43:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97138"},"data":{"additions":338,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-28T12:23:58Z","deletions":0,"headRefName":"commands/pr3-classic-cli-bindings","isDraft":false,"merged":false,"mergedAt":null,"number":97138,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(commands): establish classic CLI command bindings","updatedAt":"2026-08-29T02:43:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/97138","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBVkf3w","kind":"pull-request","label":"feat(commands): add versioned semantic catalog contract","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T12:30:10Z","updatedAt":"2026-08-29T15:44:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97143"},"data":{"additions":317,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-28T12:30:10Z","deletions":0,"headRefName":"commands/pr1-versioned-catalog","isDraft":false,"merged":false,"mergedAt":null,"number":97143,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(commands): add versioned semantic catalog contract","updatedAt":"2026-08-29T15:44:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/97143","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBVOnAQ","kind":"pull-request","label":"test(commands): characterize unified command-plane baseline","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T11:32:32Z","updatedAt":"2026-08-28T11:40:29Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97102"},"data":{"additions":487,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-28T11:32:32Z","deletions":0,"headRefName":"commands/pr0-characterization","isDraft":false,"merged":false,"mergedAt":null,"number":97102,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"test(commands): characterize unified command-plane baseline","updatedAt":"2026-08-28T11:40:29Z","url":"https://github.com/NousResearch/hermes-agent/pull/97102","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBVp6pA","kind":"pull-request","label":"feat(commands): establish typed invocation and dispatcher ABI","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T12:44:32Z","updatedAt":"2026-08-28T21:41:22Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97153"},"data":{"additions":1449,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-28T12:44:32Z","deletions":0,"headRefName":"commands/pr2-invocation-result-dispatcher","isDraft":false,"merged":false,"mergedAt":null,"number":97153,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(commands): establish typed invocation and dispatcher ABI","updatedAt":"2026-08-28T21:41:22Z","url":"https://github.com/NousResearch/hermes-agent/pull/97153","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBVpHuw","kind":"pull-request","label":"fix(kanban): gate dependencies on exact parent results","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T12:42:27Z","updatedAt":"2026-08-28T13:35:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97151"},"data":{"createdAt":"2026-08-28T12:42:27Z","mergedAt":null,"number":97151,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(kanban): gate dependencies on exact parent results","updatedAt":"2026-08-28T13:35:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/97151"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBVV7Yg","kind":"pull-request","label":"feat(commands): establish canonical gateway command bindings","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T11:52:17Z","updatedAt":"2026-08-28T14:07:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97114"},"data":{"additions":226,"baseRefName":"main","changedFiles":2,"closedAt":null,"createdAt":"2026-08-28T11:52:17Z","deletions":0,"headRefName":"commands/pr4-gateway-handler-bindings","isDraft":false,"merged":false,"mergedAt":null,"number":97114,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(commands): establish canonical gateway command bindings","updatedAt":"2026-08-28T14:07:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/97114","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBVzifA","kind":"pull-request","label":"feat(plugins): add fail-closed model call policy","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T13:07:12Z","updatedAt":"2026-08-30T14:32:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97168"},"data":{"createdAt":"2026-08-28T13:07:12Z","mergedAt":null,"number":97168,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(plugins): add fail-closed model call policy","updatedAt":"2026-08-30T14:32:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/97168"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBW2dkg","kind":"pull-request","label":"fix(cron): suppress standalone fallback after adapter reports an ambiguous write","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T15:39:42Z","updatedAt":"2026-08-28T15:52:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97250"},"data":{"createdAt":"2026-08-28T15:39:42Z","mergedAt":null,"number":97250,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cron): suppress standalone fallback after adapter reports an ambiguous write","updatedAt":"2026-08-28T15:52:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/97250"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBWCG7w","kind":"pull-request","label":"fix(browser): include managed Node in subprocess PATH","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T13:41:50Z","updatedAt":"2026-08-28T14:47:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97190"},"data":{"createdAt":"2026-08-28T13:41:50Z","mergedAt":null,"number":97190,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(browser): include managed Node in subprocess PATH","updatedAt":"2026-08-28T14:47:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/97190"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBWFpZg","kind":"pull-request","label":"feat(commands): converge Discord native and relay projection","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T13:50:00Z","updatedAt":"2026-08-30T13:49:16Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97200"},"data":{"additions":1011,"baseRefName":"main","changedFiles":11,"closedAt":null,"createdAt":"2026-08-28T13:50:00Z","deletions":141,"headRefName":"commands/pr7-discord-convergence","isDraft":false,"merged":false,"mergedAt":null,"number":97200,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(commands): converge Discord native and relay projection","updatedAt":"2026-08-30T13:49:16Z","url":"https://github.com/NousResearch/hermes-agent/pull/97200","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBWg-7g","kind":"pull-request","label":"feat: load one global policy across profiles","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T14:50:11Z","updatedAt":"2026-08-29T06:37:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97231"},"data":{"createdAt":"2026-08-28T14:50:11Z","mergedAt":null,"number":97231,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat: load one global policy across profiles","updatedAt":"2026-08-29T06:37:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/97231"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBWT5sQ","kind":"pull-request","label":"fix(agent): harden forced file-content redaction","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T14:21:24Z","updatedAt":"2026-08-30T14:27:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97215"},"data":{"additions":221,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-28T14:21:24Z","deletions":26,"headRefName":"security/redaction-file-boundary","isDraft":false,"merged":false,"mergedAt":null,"number":97215,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(agent): harden forced file-content redaction","updatedAt":"2026-08-30T14:27:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/97215","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBWT8zQ","kind":"pull-request","label":"fix(tools): make OAuth state lifecycle fail closed","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T14:21:30Z","updatedAt":"2026-08-31T17:01:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97216"},"data":{"additions":572,"baseRefName":"main","changedFiles":5,"closedAt":null,"createdAt":"2026-08-28T14:21:30Z","deletions":131,"headRefName":"security/oauth-lifecycle","isDraft":false,"merged":false,"mergedAt":null,"number":97216,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tools): make OAuth state lifecycle fail closed","updatedAt":"2026-08-31T17:01:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/97216","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBWUAAg","kind":"pull-request","label":"fix(agent): block shell re-entry in command-token helpers","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T14:21:36Z","updatedAt":"2026-08-31T17:01:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97217"},"data":{"additions":346,"baseRefName":"main","changedFiles":4,"closedAt":null,"createdAt":"2026-08-28T14:21:36Z","deletions":37,"headRefName":"security/command-token-argv","isDraft":false,"merged":false,"mergedAt":null,"number":97217,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(agent): block shell re-entry in command-token helpers","updatedAt":"2026-08-31T17:01:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/97217","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBWUC1g","kind":"pull-request","label":"fix(gateway): bind webhook replay identity to authenticated content","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T14:21:41Z","updatedAt":"2026-08-30T14:39:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97218"},"data":{"additions":274,"baseRefName":"main","changedFiles":3,"closedAt":null,"createdAt":"2026-08-28T14:21:41Z","deletions":59,"headRefName":"security/webhook-freshness","isDraft":false,"merged":false,"mergedAt":null,"number":97218,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): bind webhook replay identity to authenticated content","updatedAt":"2026-08-30T14:39:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/97218","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBXcVMg","kind":"pull-request","label":"fix(vision): negotiate native video dialects and fall back to frames","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T17:15:55Z","updatedAt":"2026-08-30T11:38:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97318"},"data":{"additions":1648,"baseRefName":"main","changedFiles":6,"closedAt":null,"createdAt":"2026-08-28T17:15:55Z","deletions":0,"headRefName":"fix/video-transport-negotiation-72275","isDraft":false,"merged":false,"mergedAt":null,"number":97318,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(vision): negotiate native video dialects and fall back to frames","updatedAt":"2026-08-30T11:38:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/97318","snapshotCollection":"authored-pull-requests"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBXlaqg","kind":"pull-request","label":"feat(mcp): service-account M2M OAuth provider for HTTP MCP servers","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-28T17:38:33Z","updatedAt":"2026-08-29T12:15:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97331"},"data":{"createdAt":"2026-08-28T17:38:33Z","mergedAt":null,"number":97331,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(mcp): service-account M2M OAuth provider for HTTP MCP servers","updatedAt":"2026-08-29T12:15:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/97331"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBXlYSA","kind":"pull-request","label":"fix(state): block repair on deleted SQLite holders","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T17:38:26Z","updatedAt":"2026-08-31T14:31:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97330"},"data":{"createdAt":"2026-08-28T17:38:26Z","mergedAt":null,"number":97330,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(state): block repair on deleted SQLite holders","updatedAt":"2026-08-31T14:31:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/97330"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBXQVwg","kind":"pull-request","label":"feat(skill_manage): operations[] is the call — each op names its skill; atomic with cross-skill rollback","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"MERGED","createdAt":"2026-08-28T16:44:36Z","updatedAt":"2026-08-28T19:15:21Z","mergedAt":"2026-08-28T19:15:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97295"},"data":{"createdAt":"2026-08-28T16:44:36Z","mergedAt":"2026-08-28T19:15:19Z","number":97295,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(skill_manage): operations[] is the call — each op names its skill; atomic with cross-skill rollback","updatedAt":"2026-08-28T19:15:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/97295"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBXX-eA","kind":"pull-request","label":"fix(gateway): resolve session storage from the key's profile, not ambient scope","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T17:04:46Z","updatedAt":"2026-08-29T22:00:38Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97309"},"data":{"createdAt":"2026-08-28T17:04:46Z","mergedAt":null,"number":97309,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): resolve session storage from the key's profile, not ambient scope","updatedAt":"2026-08-29T22:00:38Z","url":"https://github.com/NousResearch/hermes-agent/pull/97309"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBY_IKw","kind":"pull-request","label":"fix(mcp): fully redact Bearer values in mcp test output","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T21:43:12Z","updatedAt":"2026-08-29T09:39:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97466"},"data":{"createdAt":"2026-08-28T21:43:12Z","mergedAt":null,"number":97466,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(mcp): fully redact Bearer values in mcp test output","updatedAt":"2026-08-29T09:39:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/97466"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBYAESQ","kind":"pull-request","label":"fix(kanban): keep PR automation atomic","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T18:47:05Z","updatedAt":"2026-08-31T05:07:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97368"},"data":{"createdAt":"2026-08-28T18:47:05Z","mergedAt":null,"number":97368,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(kanban): keep PR automation atomic","updatedAt":"2026-08-31T05:07:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/97368"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBYbS6A","kind":"pull-request","label":"fix(kanban): deliver notify subscriptions for profiles that cannot host the platform","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T19:59:25Z","updatedAt":"2026-08-28T21:09:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97408"},"data":{"createdAt":"2026-08-28T19:59:25Z","mergedAt":null,"number":97408,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(kanban): deliver notify subscriptions for profiles that cannot host the platform","updatedAt":"2026-08-28T21:09:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/97408"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBZ5_Eg","kind":"pull-request","label":"fix(cron): tri-state fire-claim heartbeat — lock timeout is 'unverifiable', not ownership loss","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-29T01:19:36Z","updatedAt":"2026-08-29T01:57:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97565"},"data":{"createdAt":"2026-08-29T01:19:36Z","mergedAt":null,"number":97565,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cron): tri-state fire-claim heartbeat — lock timeout is 'unverifiable', not ownership loss","updatedAt":"2026-08-29T01:57:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/97565"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBZci9g","kind":"pull-request","label":"fix(cron): stop Desktop ticks leaking profile sessions across state stores","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T23:14:02Z","updatedAt":"2026-08-29T12:23:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97504"},"data":{"createdAt":"2026-08-28T23:14:02Z","mergedAt":null,"number":97504,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cron): stop Desktop ticks leaking profile sessions across state stores","updatedAt":"2026-08-29T12:23:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/97504"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBZPi3w","kind":"pull-request","label":"fix(provider): consult current provider's live catalog before OpenRouter fallback in detect_provider_for_model","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"OPEN","createdAt":"2026-08-28T22:35:57Z","updatedAt":"2026-08-28T22:47:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97487"},"data":{"createdAt":"2026-08-28T22:35:57Z","mergedAt":null,"number":97487,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(provider): consult current provider's live catalog before OpenRouter fallback in detect_provider_for_model","updatedAt":"2026-08-28T22:47:41Z","url":"https://github.com/NousResearch/hermes-agent/pull/97487"}},{"id":"github:pull-request:PR_kwDOPRF1G88AAAABBZz2fA","kind":"pull-request","label":"fix(cron): use gateway config for satellite delivery preflight","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CLOSED_UNMERGED","createdAt":"2026-08-29T00:51:36Z","updatedAt":"2026-08-31T13:04:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97550"},"data":{"createdAt":"2026-08-29T00:51:36Z","mergedAt":null,"number":97550,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(cron): use gateway config for satellite delivery preflight","updatedAt":"2026-08-31T13:04:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/97550"}},{"id":"github:repository:R_kgDOPRF1Gw","kind":"repository","label":"NousResearch/hermes-agent","summary":"The agent that grows with you","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"ACTIVE","createdAt":"2025-07-22T22:22:28Z","updatedAt":"2026-08-31T17:10:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent"},"data":{"createdAt":"2025-07-22T22:22:28Z","name":"hermes-agent","updatedAt":"2026-08-31T17:10:54Z","url":"https://github.com/NousResearch/hermes-agent"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABIHSRLQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABIHSRLQ","summary":"Addressed both sweeper items. Ready for another look.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-02T18:52:05Z","updatedAt":"2026-08-02T18:56:09Z","submittedAt":"2026-08-02T18:52:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77012#pullrequestreview-4839477549"},"data":{"createdAt":"2026-08-02T18:52:05Z","occurredAt":"2026-08-02T18:52:05Z","pullRequest":{"createdAt":"2026-08-02T18:32:32Z","id":"PR_kwDOPRF1G875tZHi","mergedAt":null,"number":77012,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): mask secret values in secret-source status lines","updatedAt":"2026-08-06T22:54:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/77012"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-02T18:52:05Z","updatedAt":"2026-08-02T18:56:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/77012#pullrequestreview-4839477549","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABIIs6Sg","kind":"review","label":"PRR_kwDOPRF1G88AAAABIIs6Sg","summary":"Independent verification against current main (2026-08-02, commit dd600d1ace) — cluster worker for #51399 dedup campaign.\n\nPremise confirmed on current main\n- `_validate_langfuse_key()` at plugins/observability/langfuse/__init__.py:141-142 still returns None for every value with the right prefix. The docs' literal copy-paste templates `pk-lf-...` / `sk-lf-...` pass the guard, the SDK client is constructed, and traces die silently at flush time — exactly the #51399 failure mode. The merged #26320 guard only covered wrong-prefix values.\n\nEmpirical test evidence (Windows 11, Python 3.12.12, pytest 9.1.1)\n- Clean `main` (dd600d1ace): 24 passed, no right-prefix coverage.\n- 3-way merge of this PR onto current main (`git merge-tree --write-tree origin/main pr64309-head`): clean tree, GitHub reports MERGEABLE; the new tests land inside `TestPlaceholderKeyDetection`.\n- Merged tree, full plugin suite: 37 passed (24 baseline + 13 new: 10 parametrized right-prefix rejects, 2 UUID-shaped accepts, 1 docs-template end-to-end warn-and-skip).\n- The 13 new tests run against the clean-main plugin (PR tests only, no plugin change): 11 failed — the 10 right-prefix template rejections plus `test_docs_te","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-03T05:15:07Z","updatedAt":"2026-08-03T05:15:07Z","submittedAt":"2026-08-03T05:15:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/64309#pullrequestreview-4840962634"},"data":{"createdAt":"2026-08-03T05:15:07Z","occurredAt":"2026-08-03T05:15:07Z","pullRequest":{"createdAt":"2026-07-14T09:26:42Z","id":"PR_kwDOPRF1G87xeQK0","mergedAt":null,"number":64309,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(langfuse): reject right-prefix template keys, not just wrong prefixes","updatedAt":"2026-08-05T07:57:12Z","url":"https://github.com/NousResearch/hermes-agent/pull/64309"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-03T05:15:07Z","updatedAt":"2026-08-03T05:15:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/64309#pullrequestreview-4840962634","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJ-Kc1g","kind":"review","label":"PRR_kwDOPRF1G88AAAABJ-Kc1g","summary":"Reviewed exact head `8d4bb8c0bc7e1ba3e6df500c5fb3396490200328` against base `9664e386f67965ec8bec5cf3db9d411f2c2b6cc0`, including the CLI attach/relaunch path, registry resolution, browser_exec daemon isolation, computer-use escalation enrichment, bundled skill, tests, #89270's consent/ladder contract, and the adjacent shared-CDP ownership work in #86879.\n\nThe direction is strong: per-session registry resolution avoids hijacking the default web browser, the escalation branch is genuinely reaction-only, and the typed-page alternative still wins. I do **not** think this head is ready to merge yet, because three ownership/authority invariants are still weaker than the PR/issue claims.\n\n### 1. Blocking: the \"user consent\" boundary is prompt text, not enforced authority\n\n#89270 explicitly classifies this as the same power class as cua-driver `existing_profile` attachment and says the agent must never open the debug port itself. The implementation does not enforce that distinction. `hermes browser attach` is an ordinary CLI subcommand, and the only relaunch authorization is `input(\"Quit and relaunch ... [y/N]\")`. A model with `terminal` can invoke that same command and feed stdin (`print","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-18T17:51:33Z","updatedAt":"2026-08-18T17:51:33Z","submittedAt":"2026-08-18T17:51:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89340#pullrequestreview-4964130006"},"data":{"createdAt":"2026-08-18T17:51:33Z","occurredAt":"2026-08-18T17:51:33Z","pullRequest":{"createdAt":"2026-08-18T17:35:50Z","id":"PR_kwDOPRF1G88AAAABALbaEQ","mergedAt":null,"number":89340,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(browser): drive Electron desktop apps over CDP — hermes browser attach + session registry + escalation nudge (#89270)","updatedAt":"2026-08-18T18:31:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/89340"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-18T17:51:33Z","updatedAt":"2026-08-18T17:51:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/89340#pullrequestreview-4964130006","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJ-sxCw","kind":"review","label":"PRR_kwDOPRF1G88AAAABJ-sxCw","summary":"Reviewed exact head `5b9af774f2dd331990732a094cffa260b8db563f` against its recorded base `9664e386f67965ec8bec5cf3db9d411f2c2b6cc0`, and also against GitHub’s current merge synthesis `3ede6c95f889fbe3723bfde480a44e5bd6cbd8a5` over current `main` `4349cbbb230850c2a7951f140997e7f7b34964ae` (#89371).\n\nThe basic direction is good: this keeps live orchestration state local, projects only bounded display state, captures the connection when work is queued, hydrates before first publish, preserves source-qualified members/thread IDs, verifies `applied.ui_meta`, and disposes/retries cleanly. The live Mac→gateway→independent-client round trip is useful evidence. I do see three merge blockers in the distributed-state contract, two intrinsic to this head and one created by the current-main interlock.\n\n### 1. Pull → merge → whole-snapshot write → read-back is not a concurrency proof; two successful writers can still lose one another\n\n`profiles.configure` merges `ui_meta` **key-wise**, but this PR stores the complete room projection as one value under `ui_meta['hermes-bots-groups']`. There is no conditional revision/CAS on that value. The read-back only asks whether *my* `updatedAt` is still pre","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-18T18:55:40Z","updatedAt":"2026-08-18T18:55:40Z","submittedAt":"2026-08-18T18:55:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89369#pullrequestreview-4964692235"},"data":{"createdAt":"2026-08-18T18:55:40Z","occurredAt":"2026-08-18T18:55:40Z","pullRequest":{"createdAt":"2026-08-18T18:26:28Z","id":"PR_kwDOPRF1G88AAAABALwqaA","mergedAt":null,"number":89369,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): sync Bot Mode room previews through profiles","updatedAt":"2026-08-21T04:54:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/89369"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-18T18:55:40Z","updatedAt":"2026-08-18T18:55:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/89369#pullrequestreview-4964692235","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJ15IPg","kind":"review","label":"PRR_kwDOPRF1G88AAAABJ15IPg","summary":"**Blocking review — three defects remain at `db1ff0e67e378d84781174b72297a6d00109e339`.**\n\nI reviewed the current head and verified the complete PR test matrix at merge commit `48832327f36c23844a853a3a93e0b7fb484d4fce`.\n\nVerification receipts:\n\n- CI run `32066405746`\n- all 12 Python shards completed successfully\n- Python e2e completed successfully\n- Windows-only and macOS-only lanes completed successfully\n- blocking Ruff, Ruff+ty diff, Windows-footgun, docs, OSV, and supply-chain lanes completed successfully\n- all 12 duration artifacts downloaded and reconciled: 3,049 unique test files, zero overlap\n- `tests/tools/test_write_approval.py`: 68 passed\n- `tests/hermes_cli/test_session_source_context.py`: 1 passed\n\nThe green suite does not exercise the three branches below. Executable reproductions against the exact PR-head mechanics reach each one.\n\n### [P1] Scanner rejection can leave a nested supporting-file mutation committed\n\nThe descriptor replay identity cache includes directory `st_mtime_ns`. `_pending_target_parent_fd()` requires the live ancestor identity to equal that cached value.\n\nDuring `_pending_atomic_write_text()`, creating the temporary file and publishing it with `os.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-17T23:39:37Z","updatedAt":"2026-08-17T23:39:37Z","submittedAt":"2026-08-17T23:39:37Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88636#pullrequestreview-4955457598"},"data":{"createdAt":"2026-08-17T23:39:37Z","occurredAt":"2026-08-17T23:39:37Z","pullRequest":{"createdAt":"2026-08-17T20:33:08Z","id":"PR_kwDOPRF1G88AAAABAD4w9w","mergedAt":null,"number":88636,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix: harden approval-gated writes","updatedAt":"2026-08-29T09:37:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/88636"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-17T23:39:37Z","updatedAt":"2026-08-17T23:39:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/88636#pullrequestreview-4955457598","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJ1bP2g","kind":"review","label":"PRR_kwDOPRF1G88AAAABJ1bP2g","summary":"## Re-review of updated head `9eb18e8c0a` — both blocking code defects are fixed; two documentation/interlock items remain\n\nVerified the new head directly (ran the tests, not just read the diff). Both blocking contract defects from the prior review are genuinely resolved.\n\n### Blocking items — RESOLVED (verified)\n\n**1. HSTS gated on the resolved HTTPS scheme — fixed correctly.**\n`hsts_middleware` now checks `request.url.scheme == \"https\"` and never parses the raw `X-Forwarded-Proto` header in application code. The scheme is resolved by the ASGI server. The trust boundary is sound:\n- `proxy_headers=bool(app.state.auth_required)` means proxy-header resolution (and thus `scope[\"scheme\"]=\"https\"`) is enabled **only** in the public TLS-terminator mode (OAuth gate active, e.g. Fly.io). In that mode `X-Forwarded-Proto: https` → `scheme=https` → HSTS emitted.\n- In loopback mode (`auth_required` off), `proxy_headers=False`, so `scheme` stays `http` → HSTS omitted — the correct RFC 6797 §7.2 behavior (an HSTS host must not emit the header over non-secure transport).\n\nThe three-way coverage is correct and I confirmed it passes: HTTPS success → header present; HTTPS unauthenticated 302 → heade","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-17T22:04:18Z","updatedAt":"2026-08-17T22:04:18Z","submittedAt":"2026-08-17T22:04:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88297#pullrequestreview-4954968026"},"data":{"createdAt":"2026-08-17T22:04:18Z","occurredAt":"2026-08-17T22:04:18Z","pullRequest":{"createdAt":"2026-08-17T09:16:34Z","id":"PR_kwDOPRF1G87__vHm","mergedAt":null,"number":88297,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(dashboard): emit initial HSTS response header","updatedAt":"2026-08-21T09:05:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/88297"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-17T22:04:18Z","updatedAt":"2026-08-17T22:04:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/88297#pullrequestreview-4954968026","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJ20Ocg","kind":"review","label":"PRR_kwDOPRF1G88AAAABJ20Ocg","summary":"Blocking review: two credential-boundary blockers remain.\n\nThe current head fixes the earlier issues in the interactive `/model` path, but the same security class is still open elsewhere.\n\n**1. `DIRECT_ALIASES` is process-global while its source is profile-local.**\n\n`_load_direct_aliases()` reads the active profile’s `config.yaml`, including literal `api_key` values, but `_ensure_direct_aliases()` writes the result into a single module-global dictionary and reloads only when that dictionary is empty. In a multiplexed gateway, the first profile to resolve an alias therefore pins its aliases and credentials for the whole process. A later profile does not load its own definitions and can resolve the first profile’s alias/key. Same-name aliases are first-profile-wins, and config/key rotation remains stale until restart.\n\nPlease eliminate this shared user-alias cache or key it by active profile/config identity plus file signature. Credential material should be resolved under the active profile at use time rather than retained in unscoped global state. Add a same-process A→B regression without manually clearing `DIRECT_ALIASES`, covering different keys for the same alias, an alias absent","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-18T02:10:33Z","updatedAt":"2026-08-18T02:10:33Z","submittedAt":"2026-08-18T02:10:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84199#pullrequestreview-4956425842"},"data":{"createdAt":"2026-08-18T02:10:33Z","occurredAt":"2026-08-18T02:10:33Z","pullRequest":{"createdAt":"2026-08-12T01:50:03Z","id":"PR_kwDOPRF1G8790f_a","mergedAt":null,"number":84199,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cli): honour model_aliases api_key, stop cross-provider key leak (#83612)","updatedAt":"2026-08-26T03:37:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/84199"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-18T02:10:33Z","updatedAt":"2026-08-18T02:10:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/84199#pullrequestreview-4956425842","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJ26WzQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABJ26WzQ","summary":"Requesting changes. The boundary being addressed is real, but the plugin-local pre-pass is not safe to merge: it introduces a new credential disclosure, does not cover the central credential taxonomy, bypasses structured and metadata egress, and adds a pathological regex to every sanitized string.\n\n1. [P1] The new Authorization rule exposes non-Bearer credentials.\n\n`Authorization\\s*[:=]\\s*\\S+` consumes only the scheme word in:\n\n    Authorization: Basic dXNlcjpwYXNzd29yZA==\n\nThe local pass produces `Authorization: [REDACTED] dXN...`; the shared redactor then masks `[REDACTED]`, leaving the real credential untouched:\n\n    Authorization: *** dXNlcjpwYXNzd29yZA==\n\nThis reproduces for Basic, Digest, Token, lowercase/mixed-case bearer, and Proxy-Authorization. The central `_AUTH_HEADER_RE` already handles arbitrary schemes correctly; the new pre-pass destroys the structure it needs. This is a newly introduced disclosure and is independently blocking.\n\n2. [P1] `_UPLOAD_MASK_PATTERNS` is not “the same credential shapes” with a stricter replacement.\n\nThe central redactor owns 50+ prefix families plus dynamically registered plugin patterns. The local list covers only a small subset. In a rep","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-18T02:25:53Z","updatedAt":"2026-08-18T02:25:53Z","submittedAt":"2026-08-18T02:25:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88608#pullrequestreview-4956526285"},"data":{"createdAt":"2026-08-18T02:25:53Z","occurredAt":"2026-08-18T02:25:53Z","pullRequest":{"createdAt":"2026-08-17T19:29:45Z","id":"PR_kwDOPRF1G88AAAABADg8Gw","mergedAt":null,"number":88608,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(langfuse): fully redact secrets and emails before cloud upload","updatedAt":"2026-08-19T03:49:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/88608"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-18T02:25:53Z","updatedAt":"2026-08-18T02:25:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/88608#pullrequestreview-4956526285","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJ2lAwg","kind":"review","label":"PRR_kwDOPRF1G88AAAABJ2lAwg","summary":"Request changes: the shared Desktop child-environment policy is simultaneously over-broad and incomplete.\n\nI re-read the current head (`3f494820`) and compared its policy with current `main` and the active #83565 class contract. The previous Vitest/import-order failures are fixed, but the helper is not safe to merge or transfer into #70372 yet.\n\n### 1. The generic suffix denylist strips credentials Hermes deliberately preserves\n\n`isCredentialEnvVar()` does not distinguish Hermes-managed secrets from credentials owned by the operator's shell.\n\nIn particular, it removes:\n\n- `AWS_ACCESS_KEY_ID`\n- `AWS_SECRET_ACCESS_KEY`\n- `AWS_SESSION_TOKEN`\n- `CLAUDE_CODE_OAUTH_TOKEN`\n- unrelated ambient credentials such as `NPM_TOKEN`\n\nCurrent Hermes terminal policy deliberately preserves the general AWS credential chain so `aws`, Terraform, CDK, and boto3 continue to work. It also deliberately preserves `CLAUDE_CODE_OAUTH_TOKEN`; stripping that variable previously caused spawned Claude CLIs to fall back to the shared credential store and could log the operator out.\n\nThis becomes more than a terminal-rail regression when the helper is reused for #70372: Electron deletes these values before the Pytho","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-18T01:11:33Z","updatedAt":"2026-08-18T01:11:33Z","submittedAt":"2026-08-18T01:11:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/70370#pullrequestreview-4956176578"},"data":{"createdAt":"2026-08-18T01:11:33Z","occurredAt":"2026-08-18T01:11:33Z","pullRequest":{"createdAt":"2026-07-23T23:25:18Z","id":"PR_kwDOPRF1G871nJQZ","mergedAt":null,"number":70370,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): scrub credentials from embedded terminal PTY env","updatedAt":"2026-08-20T11:19:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/70370"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-18T01:11:33Z","updatedAt":"2026-08-18T01:11:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/70370#pullrequestreview-4956176578","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJ2nKWA","kind":"review","label":"PRR_kwDOPRF1G88AAAABJ2nKWA","summary":"Reviewed against current head `28cab4603511569ff09968761c8857a8498b4148`, base `7095e23eb2066fe9a2f93b99cdbfe0e2b5ece397`. The earlier automated review is stale; this review is against the present ten-file diff. The PR’s stated invariant is still false: several asynchronous producers remain keyed by mutable identifiers rather than the exact producer generation, and one newly added ownership map can be reassigned by another session.\n\n## [P1] Process streaming can both fall through globally and transfer ownership to another session\n\n`_process_event_owners` is populated only from `_on_tool_complete`. The process reader thread starts before the background `terminal` call returns, so an immediately writing process can reach `on_output` before that map entry exists. The missing-entry case becomes `(\"\", None)` and is passed to `_emit_for_session`; because `session is None`, `_run_session_owned` invokes `_emit` without a generation fence, and because `sid == \"\"`, `write_json` deliberately takes the sessionless current/stdin fallback. That turns private terminal output into a global frame instead of dropping it.\n\nThe inverse path is also broken. `_on_tool_complete` rewrites the owner for ev","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-18T01:19:33Z","updatedAt":"2026-08-18T01:19:33Z","submittedAt":"2026-08-18T01:19:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/87718#pullrequestreview-4956211800"},"data":{"createdAt":"2026-08-18T01:19:33Z","occurredAt":"2026-08-18T01:19:33Z","pullRequest":{"createdAt":"2026-08-16T13:41:51Z","id":"PR_kwDOPRF1G87_t6rR","mergedAt":null,"number":87718,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): enforce session-owned private routing","updatedAt":"2026-08-20T02:53:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/87718"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-18T01:19:33Z","updatedAt":"2026-08-18T01:19:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/87718#pullrequestreview-4956211800","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJ2v2qg","kind":"review","label":"PRR_kwDOPRF1G88AAAABJ2v2qg","summary":"No blocking findings.\n\nI traced all three changed sinks into `_urlopen_model_catalog_request` and then through `open_credentialed_url`. The enforcement boundary is sound: redirects are compared against the original normalized origin, cross-origin requests retain only `Accept` and `User-Agent`, and the final request sanitizer prevents installed urllib processors or opener-level headers from resurrecting credentials after the redirect handler runs.\n\nI also replayed the wire behavior independently with the same request shape. Raw `urllib.request.urlopen` forwarded `Authorization: Bearer ai-gateway-secret` to the redirected origin. The guarded opener kept the bearer on the initial request, removed it from the cross-origin hop, still followed and parsed the response, and preserved `Accept` and `User-Agent`. That confirms the new regression is exercising the real leak rather than passing on a failed redirect.\n\nThe test split is sufficient. The credential-bearing `_fetch_ai_gateway_models` path gets the end-to-end loopback regression. The other two call sites are pinned to `_urlopen_model_catalog_request` by their mocks: reverting either to raw `urlopen` bypasses the mock and breaks the e","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-18T01:53:47Z","updatedAt":"2026-08-18T01:53:47Z","submittedAt":"2026-08-18T01:53:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/87235#pullrequestreview-4956354218"},"data":{"createdAt":"2026-08-18T01:53:47Z","occurredAt":"2026-08-18T01:53:47Z","pullRequest":{"createdAt":"2026-08-15T20:14:50Z","id":"PR_kwDOPRF1G87_j3Es","mergedAt":null,"number":87235,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(models): route the AI Gateway catalog fetchers through the credential-redirect guard","updatedAt":"2026-08-18T01:53:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/87235"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-18T01:53:47Z","updatedAt":"2026-08-18T01:53:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/87235#pullrequestreview-4956354218","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJ2v3hA","kind":"review","label":"PRR_kwDOPRF1G88AAAABJ2v3hA","summary":"Re-reviewed this against current `main` and the Wave F consolidation under #83565.\n\nThe original vulnerability is valid, but I do not think #70373 should be repaired or merged independently anymore. Its topology is substantially stale: current Desktop update handling has moved beyond the old `runStreamedUpdate` path, while the live credential-inheritance surface now includes the Windows repo hand-off, staged-updater fallback, Windows bootstrap recovery, POSIX hand-off, bootstrap PowerShell/Bash children, and the `uninstall --gui-summary` probe.\n\nThere are also policy defects in the helper that should not be carried forward unchanged:\n\n- credential-name matching is case-sensitive;\n- several documented non-secret `*_BASE_URL` endpoint overrides are classified as credentials;\n- the generic `overrides` map is applied after scrubbing and can therefore reintroduce an arbitrary credential;\n- the policy does not close effective-name tunnelling through `APPTAINERENV_` / `SINGULARITYENV_`;\n- the Desktop policy should converge with the broader child-process boundary semantics rather than maintain a weaker parallel denylist.\n\n`FAL_KEY` itself is fixed at this head, so the old inline finding is","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-18T01:53:50Z","updatedAt":"2026-08-18T01:53:50Z","submittedAt":"2026-08-18T01:53:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/70373#pullrequestreview-4956354436"},"data":{"createdAt":"2026-08-18T01:53:50Z","occurredAt":"2026-08-18T01:53:50Z","pullRequest":{"createdAt":"2026-07-23T23:26:13Z","id":"PR_kwDOPRF1G871nKIb","mergedAt":null,"number":70373,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): scrub credentials from updater and bootstrap children","updatedAt":"2026-08-20T11:19:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/70373"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-18T01:53:50Z","updatedAt":"2026-08-18T01:53:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/70373#pullrequestreview-4956354436","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJ2vBgg","kind":"review","label":"PRR_kwDOPRF1G88AAAABJ2vBgg","summary":"## Requesting changes — this patch does not implement #77305's required invariant and is stale against current main\n\nRe-audited #77305 and this PR against current main at `336059011521c595d00803be93d1652aaab58720`.\n\nThe original issue is valid, but the repository topology has changed enough that this PR should not be merged or mechanically rebased.\n\n### The nine site-local `iteration_budget.refund()` calls are in the wrong layer\n\nThe nine edits refund `iteration_budget` inside the **inner retry loop**. Per `TurnRetryState`'s own documentation, the inner loop performs credential refreshes, transport retries, format recovery, and provider failover within a single outer `api_call_count` attempt — those continuations did not consume a new outer `IterationBudget` slot, so refunding there is not a valid inverse operation and can **erase a legitimate logical-iteration charge**.\n\nThe patch also leaves the independent `api_call_count < max_iterations` gate untouched, so that loop gate can still terminate before a fallback runs — the starvation condition #77305 describes is not closed.\n\nWrapping every refund in `try/except Exception: pass` hides accounting-invariant failures rather than maki","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-18T01:50:43Z","updatedAt":"2026-08-18T01:50:43Z","submittedAt":"2026-08-18T01:50:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77354#pullrequestreview-4956340610"},"data":{"createdAt":"2026-08-18T01:50:43Z","occurredAt":"2026-08-18T01:50:43Z","pullRequest":{"createdAt":"2026-08-03T04:50:26Z","id":"PR_kwDOPRF1G8750-kI","mergedAt":null,"number":77354,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(agent): refund iteration budget when fallback activates after API failure (#77305)","updatedAt":"2026-08-18T02:55:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/77354"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-18T01:50:43Z","updatedAt":"2026-08-18T01:50:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/77354#pullrequestreview-4956340610","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJ2vIdg","kind":"review","label":"PRR_kwDOPRF1G88AAAABJ2vIdg","summary":"Blocking review finding: the bridge-adoption handshake still discloses the authentication secret to an unauthenticated listener.\n\nThe two earlier blockers are fixed: standalone delivery now carries bridge auth, and concurrent first-use token creation is serialized. Current head CI is green. But the original impersonation boundary remains open.\n\nDuring listener reuse, Hermes sends `Authorization: Bearer <session token>` together with the fresh challenge to whichever process already owns the configured port. That process can extract the token from the request, compute `HMAC-SHA256(token, challenge)`, return `status: connected`, the public current source hash, and the computed proof, and pass `_health_response_is_authenticated`. In other words, the pre-bound impostor from #83395 is still adopted; it just reflects credentials Hermes supplied during the attempted authentication.\n\nThe current tests do not model that attacker. `test_rejects_matching_listener_without_auth_proof` deliberately returns no proof, while the successful mock knows `_TEST_BRIDGE_TOKEN` out of band. Add a fake-listener regression that derives its proof solely from the incoming request headers; it currently succeeds","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-18T01:51:08Z","updatedAt":"2026-08-18T01:51:08Z","submittedAt":"2026-08-18T01:51:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83432#pullrequestreview-4956342390"},"data":{"createdAt":"2026-08-18T01:51:08Z","occurredAt":"2026-08-18T01:51:08Z","pullRequest":{"createdAt":"2026-08-10T20:16:14Z","id":"PR_kwDOPRF1G879Mr_H","mergedAt":null,"number":83432,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(whatsapp): stop local bridge impersonation from hijacking messages","updatedAt":"2026-08-18T13:52:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/83432"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-18T01:51:08Z","updatedAt":"2026-08-18T01:51:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/83432#pullrequestreview-4956342390","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJ2ZMPg","kind":"review","label":"PRR_kwDOPRF1G88AAAABJ2ZMPg","summary":"Blocking: the live single-tool dispatcher still invokes `session_search` without the new ownership scope.\n\n`AIAgent` sends every batch with `len(tool_calls) <= 1` through `_execute_tool_calls_sequential()`, whose forwarder delegates to `agent.tool_executor.execute_tool_calls_sequential`. In that function's `elif function_name == \"session_search\"` branch, `_session_search(...)` is still called with the shared `db` and `current_session_id`, but without either:\n\n```python\nprofile=next_args.get(\"profile\")\ncaller_session_key=getattr(agent, \"_gateway_session_key\", None)\n```\n\nThat is the normal shape for a model issuing one `session_search` call. Because `_session_in_scope()` deliberately treats a missing caller key as the trusted local CLI/Desktop path, this production route still receives profile-wide access and can browse, discover, read, or scroll another gateway conversation's transcript. The forwarding change in `agent/agent_runtime_helpers.py` does not cover this executor path.\n\nThe new `test_session_search_forwards_gateway_scope_and_requested_profile` calls `agent._invoke_tool()` directly, so it verifies the patched helper rather than the live sequential execution route. That expl","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-18T00:43:34Z","updatedAt":"2026-08-18T00:43:34Z","submittedAt":"2026-08-18T00:43:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/87847#pullrequestreview-4955982910"},"data":{"createdAt":"2026-08-18T00:43:34Z","occurredAt":"2026-08-18T00:43:34Z","pullRequest":{"createdAt":"2026-08-16T17:21:53Z","id":"PR_kwDOPRF1G87_wpgP","mergedAt":null,"number":87847,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(session-search): stop cross-chat transcript exfiltration","updatedAt":"2026-08-18T00:43:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/87847"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-18T00:43:34Z","updatedAt":"2026-08-18T00:43:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/87847#pullrequestreview-4955982910","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJ66unA","kind":"review","label":"PRR_kwDOPRF1G88AAAABJ66unA","summary":"## Receipt — required pre-merge topology edit resolved\n\nVerified against live PR #88796 at head `a8279f3d083145dfa77a3eeb2ad7e50e10bd658b`:\n\n- PR body now uses `Refs #84263`, not `Fixes #84263`.\n- #84263 remains **OPEN**, preserving the residual revocation/teardown class: the provider request already running in the detached thread cannot be revoked, and post-teardown side effects are not excluded.\n- No code or head change was made; this was a metadata-only correction.\n\nThe required pre-merge item from the exact-head review is resolved.\n\nRemaining non-blocking follow-ups: document quarantine lifetime and the `external_prefetch_timeout` default (`8.0s`), and add a defensive finalization-state check/cleanup around worker startup and teardown.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-18T12:00:09Z","updatedAt":"2026-08-18T12:00:09Z","submittedAt":"2026-08-18T12:00:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88796#pullrequestreview-4960726684"},"data":{"createdAt":"2026-08-18T12:00:09Z","occurredAt":"2026-08-18T12:00:09Z","pullRequest":{"createdAt":"2026-08-18T00:52:54Z","id":"PR_kwDOPRF1G88AAAABAFPZlw","mergedAt":null,"number":88796,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(security): memory prefetch quarantine/finalization — rebuild required","updatedAt":"2026-08-26T19:02:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/88796"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-18T12:00:09Z","updatedAt":"2026-08-18T12:00:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/88796#pullrequestreview-4960726684","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJ69WfA","kind":"review","label":"PRR_kwDOPRF1G88AAAABJ69WfA","summary":"Requesting changes. Removing `cmd.exe /c start` is the correct boundary fix, and `rundll32.exe url.dll,FileProtocolHandler` is a plausible WSL host launcher. The patch is not merge-ready yet:\n\n**1. The regression does not exercise the production WSL launch path.**\n\nThe tests only assert that `wslWindowsOpenUrlArgs()` returns two constants. They never run or intercept the branch in `openExternalUrl()` that actually calls `spawn()`. `main.ts` could regress to `cmd.exe /c start` while these tests continued to pass unchanged.\n\n`isCmdStartUnsafeForUrl()` is also dead production code used solely by its test; it does not protect the boundary.\n\nPlease extract the actual WSL launch operation behind injected `spawn`, fallback, and logging dependencies. The regression should call that production seam and assert that:\n\n- the executable is not a command shell;\n- the normalized URL is supplied as exactly one argv element;\n- an `https:` URL containing `&`, `|`, `^`, `<`, `>`, and `%` remains unchanged;\n- the same guarantee holds for an allowed `mailto:` URL;\n- the old `cmd.exe /c start` route cannot be selected.\n\nThen remove `isCmdStartUnsafeForUrl()`.\n\n**2. The fallback currently handles spawn f","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-18T12:05:25Z","updatedAt":"2026-08-18T12:05:25Z","submittedAt":"2026-08-18T12:05:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88558#pullrequestreview-4960769660"},"data":{"createdAt":"2026-08-18T12:05:25Z","occurredAt":"2026-08-18T12:05:25Z","pullRequest":{"createdAt":"2026-08-17T18:22:53Z","id":"PR_kwDOPRF1G88AAAABADD7_A","mergedAt":null,"number":88558,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): open WSL links via rundll32 instead of cmd start","updatedAt":"2026-08-18T13:38:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/88558"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-18T12:05:25Z","updatedAt":"2026-08-18T12:05:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/88558#pullrequestreview-4960769660","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJ78I8Q","kind":"review","label":"PRR_kwDOPRF1G88AAAABJ78I8Q","summary":"Reviewed exact head `34496edd1e408dc2dcb8003bf26ee3fc1301dbd1` against base `c1358e45d26c1c340c04659258e582c45630409c`, including the full 7-file patch, current delegation inheritance, Tool Search assembly/unwrap behavior, MCP refresh, the prior subagent privilege-escalation class (#3188 salvaged/merged via #3269 with @dieutx authorship preserved), and the adjacent public subagent lifecycle work in #63359.\n\nThe runtime veto itself is placed in the right choke point: direct and `tool_call`-unwrapped model calls reach `_run_agent_tool_execution_middleware` with the real function name before hooks/dispatch, and MCP refresh reapplies the boundary. But I see two blockers before this can be treated as a hard per-child capability boundary.\n\n**1. Nested orchestrators can widen the allowlist again through `enabled_toolsets`.**\n\n`_apply_child_tool_allowlist()` narrows `child.tools`, `valid_tool_names`, `_context_engine_tool_names`, and stores `_tool_allowlist`, but deliberately leaves `child.enabled_toolsets` unchanged. `_build_child_agent()` still derives a descendant's inherited surface from `parent_agent.enabled_toolsets` whenever it is non-`None`; for `role=\"orchestrator\"`, it also re-ad","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-18T13:53:07Z","updatedAt":"2026-08-18T13:53:07Z","submittedAt":"2026-08-18T13:53:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89193#pullrequestreview-4961798385"},"data":{"createdAt":"2026-08-18T13:53:07Z","occurredAt":"2026-08-18T13:53:07Z","pullRequest":{"createdAt":"2026-08-18T13:43:08Z","id":"PR_kwDOPRF1G88AAAABAJuoMw","mergedAt":null,"number":89193,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(delegation): enforce per-child tool allowlists","updatedAt":"2026-08-18T13:53:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/89193"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-18T13:53:07Z","updatedAt":"2026-08-18T13:53:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/89193#pullrequestreview-4961798385","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJ80-MQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABJ80-MQ","summary":"## Re-review receipt — topology blocker cleared\n\nRe-reviewed exact head `a7da6aca1b169da87a39a7ee4bce7272ec0f97ee` against the consolidation plan in #issuecomment-5329189467.\n\nThe plan closes the remaining blocker from my prior review. It establishes #88560 as the trust-boundary baseline, fixes the intended merge order, and gives concrete conflict-resolution rules for each overlapping branch:\n\n- #40016 may add `auth=pass` only after the topmost header matches the exact pin;\n- #68606 may extend evaluation only across its narrowly bounded contiguous same-host Fastmail block, after that exact top-header pin match;\n- #56608 may retain its provider-alias and parser hardening, but must drop authserv-id-less acceptance and every path that searches downward for a matching id. Its clause-scoped/anchored parsing and `header.from` DKIM-fallback removal should survive the rebase.\n\nI checked the current bodies and patches of all three PRs. Those are the actual divergent trust-policy surfaces in their present heads, and all three remain open and unmergeable. The recorded order is specific enough to stop a later rebase from silently treating those older trust behaviors as authoritative.\n\n**No rem","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-18T15:19:31Z","updatedAt":"2026-08-18T15:19:31Z","submittedAt":"2026-08-18T15:19:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88560#pullrequestreview-4962729521"},"data":{"createdAt":"2026-08-18T15:19:31Z","occurredAt":"2026-08-18T15:19:31Z","pullRequest":{"createdAt":"2026-08-17T18:23:05Z","id":"PR_kwDOPRF1G88AAAABADEBdQ","mergedAt":null,"number":88560,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(email): require authserv-id before trusting Authentication-Results","updatedAt":"2026-08-18T15:19:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/88560"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-18T15:19:31Z","updatedAt":"2026-08-18T15:19:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/88560#pullrequestreview-4962729521","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJ9nR8A","kind":"review","label":"PRR_kwDOPRF1G88AAAABJ9nR8A","summary":"Reviewed exact head `c490e3d406ab9e1153f05a40936c2c59eeddc7db` against base `9664e386f67965ec8bec5cf3db9d411f2c2b6cc0`, including all 14 changed files, the DB/run fencing and termination path, the tool-result classifier, the executor bridge, focused tests, existing Kanban ownership context, and the adjacent progress-watch work.\n\nThe liveness/progress split is the right abstraction, and several parts are strong: progress is separately persisted on task + run, the explicit/automatic writers can be run-id fenced, worker termination uses the existing survivor-deferral rule, the feature is opt-in, event payloads for automatic evidence are allowlisted/sanitized, and shell success attribution rejects `||`, pipelines, background jobs, and non-attributable segments. I also found no existing review/comment on this head, so this is not duplicating prior feedback.\n\nI do have one merge blocker, with two concrete ingress paths into the same invariant:\n\n**Blocker — `last_progress_at` is still renewable by replayable/self-attested activity, so a semantically stuck worker can defeat the watchdog indefinitely.**\n\n`heartbeat_worker()` now treats *any* non-empty `note` as semantic progress. `kanban_he","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-18T16:47:03Z","updatedAt":"2026-08-18T16:47:03Z","submittedAt":"2026-08-18T16:47:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89310#pullrequestreview-4963553776"},"data":{"createdAt":"2026-08-18T16:47:03Z","occurredAt":"2026-08-18T16:47:03Z","pullRequest":{"createdAt":"2026-08-18T16:41:06Z","id":"PR_kwDOPRF1G88AAAABALEY8g","mergedAt":null,"number":89310,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(kanban): add semantic progress watchdog","updatedAt":"2026-08-18T18:05:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/89310"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-18T16:47:03Z","updatedAt":"2026-08-18T16:47:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/89310#pullrequestreview-4963553776","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJGhSiw","kind":"review","label":"PRR_kwDOPRF1G88AAAABJGhSiw","summary":"Final review on current head `eea52195`: **request changes; do not merge yet.**\n\nThe red Python CI shard appears inherited from `main`, so it is not the basis for this review. The following are independent, reproducible blockers:\n\n1. **[P1] The completed update still prunes root and `ui-tui` dependencies.**\n\n   `_update_node_dependencies()` correctly runs a root-inclusive install (`hermes_cli/update_cmd.py:2178-2207`), but update immediately calls `_build_web_ui()` (`update_cmd.py:4500-4501`), which performs another root-level `npm ci --workspace web` without `--include-workspace-root` (`hermes_cli/main.py:5763-5782`). I reproduced the exact sequence: the first install preserved root, `ui-tui`, and web dependencies; the second removed root devDependencies and `ui-tui`-only packages while retaining web. The digest has already been recorded, so later no-op updates can skip repair. The completed update sequence—not the isolated first install—must preserve root + `ui-tui` + web while excluding desktop.\n\n2. **[P1] Every update executes mutable registry code with browser credentials.**\n\n   The warm-up invokes `agent-browser@^0.26.0 --version` before the no-change return (`tools/browser_t","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-11T11:37:23Z","updatedAt":"2026-08-11T11:38:15Z","submittedAt":"2026-08-11T11:37:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/44772#pullrequestreview-4905783947"},"data":{"createdAt":"2026-08-11T11:37:23Z","occurredAt":"2026-08-11T11:37:23Z","pullRequest":{"createdAt":"2026-06-12T08:22:34Z","id":"PR_kwDOPRF1G87lrAyw","mergedAt":null,"number":44772,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(cli): drop agent-browser/@streamdown-math from root npm deps","updatedAt":"2026-08-13T20:37:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/44772"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-11T11:37:23Z","updatedAt":"2026-08-11T11:38:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/44772#pullrequestreview-4905783947","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJJtMRw","kind":"review","label":"PRR_kwDOPRF1G88AAAABJJtMRw","summary":"## Review\n\nThis is genuinely strong work. The adapter design is careful, the security thinking is real (not decorative), the earlier keep_open blockers were fixed the hard correct way, and the test suite is unusually honest about what it can and cannot prove. Thank you to @mme and @contextablemark for the iteration quality — especially the self-corrections on the full-suite runner and the module-identity test bug.\n\nI want this mergeable. Right now it is **not quite**, for one hard mechanical reason, plus a couple of maintainer decisions that should be explicit before green.\n\n### Verdict: not mergeable yet (one blocker)\n\nOne blocking packaging defect. Everything else below is either a decision gate or a non-blocking improvement.\n\n---\n\n### Blocking\n\n**1. `uv.lock` does not contain the new `[agui]` extra / `ag-ui-protocol`**\n\nVerified at head `b036d8be6d9`:\n\n- `pyproject.toml` defines `agui = [\"ag-ui-protocol==0.1.19\", ...]`\n- `Dockerfile` runs `uv sync --frozen ... --extra agui`\n- `uv.lock` hermes-agent `[package.optional-dependencies]` has **no `agui` key**\n- `ag-ui-protocol` appears **zero times** in `uv.lock`\n- three-dot diff vs current `main` has **no `uv.lock` delta**\n\nSo the la","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-11T17:42:02Z","updatedAt":"2026-08-11T17:42:02Z","submittedAt":"2026-08-11T17:42:02Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/65845#pullrequestreview-4909124679"},"data":{"createdAt":"2026-08-11T17:42:02Z","occurredAt":"2026-08-11T17:42:02Z","pullRequest":{"createdAt":"2026-07-16T18:11:45Z","id":"PR_kwDOPRF1G87ypcub","mergedAt":null,"number":65845,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(agui): Hermes AG-UI adapter","updatedAt":"2026-08-23T05:49:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/65845"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-11T17:42:02Z","updatedAt":"2026-08-11T17:42:02Z","url":"https://github.com/NousResearch/hermes-agent/pull/65845#pullrequestreview-4909124679","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJlsDyQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABJlsDyQ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-14T14:56:47Z","updatedAt":"2026-08-14T14:56:47Z","submittedAt":"2026-08-14T14:56:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/82243#pullrequestreview-4938466249"},"data":{"createdAt":"2026-08-14T14:56:47Z","occurredAt":"2026-08-14T14:56:47Z","pullRequest":{"createdAt":"2026-08-09T04:09:29Z","id":"PR_kwDOPRF1G878jQ5O","mergedAt":null,"number":82243,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(tools): compose deferred tools in execute_code","updatedAt":"2026-08-31T14:40:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/82243"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-14T14:56:47Z","updatedAt":"2026-08-14T14:56:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/82243#pullrequestreview-4938466249","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJW-r2w","kind":"review","label":"PRR_kwDOPRF1G88AAAABJW-r2w","summary":"## Review summary\n\nThis is close, and the core direction is right: keep the persisted transcript unchanged, repair only the request-local wire projection, gate it to Mistral-family destinations, and apply it on every retry so a fallback *onto* Mistral is covered. The helper is deterministic and idempotent, and the direct Mistral, summary, multi-adjacency, provider-recognition, and stored-history invariants are well tested.\n\nI found two execution paths that keep this from closing the bug class at exact head `a41c7f92c6f0d2794018a40da0aa013f563ff3e0`.\n\n### 1. Blocking: a Mistral bridge survives a later fallback to a lenient provider\n\n`bridge_tool_to_user_for_provider()` mutates the retry loop's shared `api_messages` list in place (`agent/agent_runtime_helpers.py:3693-3729`, `agent/message_sanitization.py:895-919`). That is idempotent while the destination remains Mistral, but it is not reversible when the destination changes.\n\nReproduction:\n\n1. Start an attempt on Mistral with `assistant(tool_calls) -> tool -> user`.\n2. The new helper inserts `assistant(\"[response interrupted]\")`.\n3. That Mistral attempt fails for an unrelated reason and `_try_activate_fallback()` switches to OpenAI ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-13T03:10:30Z","updatedAt":"2026-08-13T03:10:30Z","submittedAt":"2026-08-13T03:10:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84944#pullrequestreview-4923042779"},"data":{"createdAt":"2026-08-13T03:10:30Z","occurredAt":"2026-08-13T03:10:30Z","pullRequest":{"createdAt":"2026-08-13T01:27:47Z","id":"PR_kwDOPRF1G87-Wczz","mergedAt":null,"number":84944,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(agent): bridge tool->user role adjacency for Mistral endpoints","updatedAt":"2026-08-16T13:10:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/84944"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-13T03:10:30Z","updatedAt":"2026-08-13T03:10:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/84944#pullrequestreview-4923042779","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJx5n7g","kind":"review","label":"PRR_kwDOPRF1G88AAAABJx5n7g","summary":"Code review follow-up on #85373 after tracing the automated-review observations through the actual startup path.\n\nThe main issue I found is not the string parser itself; it is that the new Cloud 5xx classifier is downstream of the principal OAuth failure boundary.\n\nThe motivating configuration in #85335 uses OAuth. In that path, `buildRemoteConnection()` calls `mintGatewayWsTicket()` while resolving the remote connection, before `connectRemote()` invokes `waitForHermesReady()`. If the Cloud backend returns 503 from the ticket endpoint, `gatewayTicketFailure()` replaces the original failure with the generic WebSocket-ticket reachability error and retains the original only as `cause`. The new classifier therefore never sees the status, and the actionable Cloud message is not emitted.\n\nThe added tests inject `503:` directly into `waitForHermesReady()`, so they prove the final classifier but bypass `resolveRemoteBackend()` → `buildRemoteConnection()` → `mintGatewayWsTicket()` → `gatewayTicketFailure()`, which is the earlier failure boundary a real OAuth Cloud outage can hit.\n\nI think the complete shape here is to apply the Cloud 502/503/504 classification to both WS-ticket mint failure","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-17T11:54:39Z","updatedAt":"2026-08-17T11:54:39Z","submittedAt":"2026-08-17T11:54:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85373#pullrequestreview-4951271406"},"data":{"createdAt":"2026-08-17T11:54:39Z","occurredAt":"2026-08-17T11:54:39Z","pullRequest":{"createdAt":"2026-08-13T14:54:39Z","id":"PR_kwDOPRF1G87-pUV_","mergedAt":null,"number":85373,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): surface actionable error when Nous Cloud agent returns 503 (#85335)","updatedAt":"2026-08-22T02:09:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/85373"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-17T11:54:39Z","updatedAt":"2026-08-17T11:54:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/85373#pullrequestreview-4951271406","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJx8xng","kind":"review","label":"PRR_kwDOPRF1G88AAAABJx8xng","summary":"Request changes — this does not yet close #82936.\n\nI traced PR head `22b395e824b7463b7e087b8ad0e89f08852fb244` through the foreground terminal, persistent snapshot, background/PTY, and Kanban worker paths. The direct sanitizer behavior is an improvement, and moving Kanban onto `hermes_subprocess_env()` correctly removes the fixed Tier-1 gateway/internal credential set. Four profile-boundary holes remain:\n\n1. **P1 — persistent local snapshots bypass the immediate sanitizer.** A `LocalEnvironment` snapshot created under profile A can retain an undeclared `SERVICE_PASSWORD`. A later B command receives a correctly scoped process environment, then sources A’s snapshot inside the shell and restores A’s value. Snapshot exclusions cover registered passthrough names, not arbitrary profile-scoped credentials.\n\n2. **P1 — standalone Kanban dispatch never activates this policy.** `_default_spawn()` relies on the process-global `is_multiplex_active()` flag, but standalone `hermes kanban dispatch` and `hermes kanban daemon --force` do not run gateway initialization. They therefore call `hermes_subprocess_env(inherit_credentials=True)`, and `scope_subprocess_env_to_profile()` becomes a no-op. The ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-17T12:01:36Z","updatedAt":"2026-08-17T12:02:24Z","submittedAt":"2026-08-17T12:01:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83007#pullrequestreview-4951323038"},"data":{"createdAt":"2026-08-17T12:01:36Z","occurredAt":"2026-08-17T12:01:36Z","pullRequest":{"createdAt":"2026-08-10T07:13:02Z","id":"PR_kwDOPRF1G8784DL_","mergedAt":null,"number":83007,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): scope multiplex subprocess secrets to target profile","updatedAt":"2026-08-21T04:09:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/83007"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-17T12:01:36Z","updatedAt":"2026-08-17T12:02:24Z","url":"https://github.com/NousResearch/hermes-agent/pull/83007#pullrequestreview-4951323038","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJXLDow","kind":"review","label":"PRR_kwDOPRF1G88AAAABJXLDow","summary":"## Follow-up review: additional Desktop execution paths\n\nI did a second, independent pass over exact head `794cca53e71b9e50fe4921e7c493e08b6960d877`. The compute-host blocker in my earlier review still stands. This follow-up found five additional runtime gaps plus one public-API documentation mismatch that should be closed at the same head.\n\n### 1. Blocking — background and preview agents lose the parent Desktop mode\n\n`prompt.background` and `preview.restart` call `_set_session_context()` with fresh `bg_*` / `preview_*` task IDs (`tui_gateway/methods_prompt.py:800,897`). `_set_session_context()` derives `connection_mode` only by finding a live session whose `session_key` equals the supplied ID (`tui_gateway/server.py:3268-3277`). Those ephemeral IDs are not session keys, so the parent mode is discarded even though the parent session object is available to both callers.\n\nPinned-head reproduction from a parent Desktop session with `connection_mode=\"remote\"`:\n\n```text\nephemeral_mode=None\nephemeral_env_mode=None\nephemeral_mcp_meta=None\n```\n\nThe child should inherit an explicitly supplied, normalized parent mode. Please cover both background and preview with a regression that reads the ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-13T03:56:30Z","updatedAt":"2026-08-13T03:56:30Z","submittedAt":"2026-08-13T03:56:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/82187#pullrequestreview-4923245475"},"data":{"createdAt":"2026-08-13T03:56:30Z","occurredAt":"2026-08-13T03:56:30Z","pullRequest":{"createdAt":"2026-08-09T02:44:56Z","id":"PR_kwDOPRF1G878iklT","mergedAt":null,"number":82187,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(desktop): expose resolved connection mode to skills, MCP, and plugins","updatedAt":"2026-08-18T22:47:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/82187"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-13T03:56:30Z","updatedAt":"2026-08-13T03:56:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/82187#pullrequestreview-4923245475","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABJyPzmA","kind":"review","label":"PRR_kwDOPRF1G88AAAABJyPzmA","summary":"Request changes: the model-facing JSON still has two complete Unicode TAG-smuggling bypasses.\n\nI reviewed the code at `5f21945`, including the existing `strip_unicode_tags()` implementation, the new recursive walker, the final `json.dumps(..., ensure_ascii=False)` boundary, and the tests. The value traversal is directionally correct, but the security invariant needs to be stronger:\n\n> No attacker-controlled TAG code point may survive anywhere in the serialized MCP result unless it belongs to a narrowly validated legitimate sequence.\n\nThe current implementation does not establish that invariant.\n\n## 1. The black-flag carve-out preserves arbitrary hidden instructions\n\n`strip_unicode_tags()` currently preserves anything matching:\n\n```python\n\\U0001F3F4[\\U000E0020-\\U000E007E]+\\U000E007F\n```\n\nThat is not restricted to an actual recognized subdivision-flag sequence. It preserves a black flag followed by an arbitrary-length encoding of **every printable ASCII character**, including spaces and punctuation.\n\nThis is therefore a direct bypass:\n\n```python\ndef tags(text: str) -> str:\n    return \"\".join(chr(0xE0000 + ord(c)) for c in text)\n\nevil = (\n    \"safe result \"\n    + \"\\U0001F3F4\"\n    + ta","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-17T12:35:23Z","updatedAt":"2026-08-17T12:35:23Z","submittedAt":"2026-08-17T12:35:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88376#pullrequestreview-4951634840"},"data":{"createdAt":"2026-08-17T12:35:23Z","occurredAt":"2026-08-17T12:35:23Z","pullRequest":{"createdAt":"2026-08-17T11:38:16Z","id":"PR_kwDOPRF1G88AAAABAA4FzQ","mergedAt":null,"number":88376,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(mcp): sanitize invisible Unicode TAG chars in structuredContent/_meta","updatedAt":"2026-08-17T12:35:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/88376"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-17T12:35:23Z","updatedAt":"2026-08-17T12:35:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/88376#pullrequestreview-4951634840","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK_tNEw","kind":"review","label":"PRR_kwDOPRF1G88AAAABK_tNEw","summary":"Re-review on exact head `277e27ea799f79ce21a9e4a90af2fef293aa5910` after the requested landing rebase.\n\nI rechecked the rebased object against the previously cleared boundary. The branch still changes only `tools/credential_files.py` and `tests/tools/test_credential_files.py`; the canonical-home snapshot repair, context-local `HERMES_HOME` pinning across the raw-config read + admission loop, completed-call alias-retarget regression, intra-load alias-retarget regression, and `clear_credential_files()` refresh boundary are all preserved. The rebase did not introduce a new semantic collision in the reviewed surface.\n\nThe author’s local landing witness is also consistent with the reviewed object: `tests/tools/test_credential_files.py` reports 52 passing tests on the rebased head.\n\nCurrent hosted landing evidence is not yet a clean exact-head receipt: CI run `32985966340` is still queued. Docker run `32985967995` is marked failure only because its `Detect affected areas` job was cancelled and every downstream Docker job was skipped; I do not treat that as a product-code failure, but it still needs a successful exact-head rerun before merge. I also do not see an exact-head Nix run in the","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T16:39:43Z","updatedAt":"2026-08-26T16:39:43Z","submittedAt":"2026-08-26T16:39:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84286#pullrequestreview-5032856851"},"data":{"createdAt":"2026-08-26T16:39:43Z","occurredAt":"2026-08-26T16:39:43Z","pullRequest":{"createdAt":"2026-08-12T04:08:11Z","id":"PR_kwDOPRF1G87929Si","mergedAt":null,"number":84286,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tools): route config credential-file mounts through the master-store deny-list (#84270)","updatedAt":"2026-08-26T16:39:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/84286"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T16:39:43Z","updatedAt":"2026-08-26T16:39:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/84286#pullrequestreview-5032856851","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK_UDZQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABK_UDZQ","summary":"Reviewed exact head `7b03138dfdecbfb8e39aabf975eb6b840fbe688e` against live `main@9aa7530f7b53699e2c6d648ded8f6300503b3dc7`. The branch is currently 20 commits ahead / 275 behind its live-main merge base `fab931fa28f8f446f23be17a3e4df14fa084e267`, touches 92 files (+16,616/-447), and has no prior formal review submission on the current head. I read the runtime/store/trigger seams, workflow tool/graph mutation surface, webhook integration, runner tests, current adjacent webhook/workflow issues, and exact-head evidence state.\n\nThere is a lot of good systems work here. In particular, using one graph mutation implementation for both UI and agent edits is the right anti-drift shape; routing CLI/tool/cron/webhook starts into one runner avoids four execution semantics; human/wait/gate nodes are explicit rather than prompt conventions; and the event/run persistence model is much more reviewable than hiding orchestration in a lead agent's SOUL. The UI consolidation into shared host components is also thoughtful rather than building an isolated mini-app.\n\nI have three merge blockers on this exact object.\n\n## P1 — `wf-` is being treated as authentication authority, so an ordinary configured w","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T15:49:56Z","updatedAt":"2026-08-26T15:49:57Z","submittedAt":"2026-08-26T15:49:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94367#pullrequestreview-5032444773"},"data":{"createdAt":"2026-08-26T15:49:56Z","occurredAt":"2026-08-26T15:49:56Z","pullRequest":{"createdAt":"2026-08-25T02:21:13Z","id":"PR_kwDOPRF1G88AAAABA4R0hA","mergedAt":null,"number":94367,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Workflows: author and run agent graphs (opt-in plugin)","updatedAt":"2026-08-26T16:33:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/94367"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T15:49:56Z","updatedAt":"2026-08-26T15:49:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/94367#pullrequestreview-5032444773","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK_VYPQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABK_VYPQ","summary":"Blocking re-review on exact head `90183aa0eeacb3ca22b317f10e7ba571a6dd1bbb`.\n\nThe cross-profile MEDIA authority boundary is still open. `_docker_sandbox_dir_candidates('agent:coder:…')` now prioritizes coder but still unconditionally appends `default`; `resolve_outbound_file()` returns the first existing candidate. If coder has no `foo.png` but `~/.hermes/sandboxes/default/workspace/foo.png` exists, coder-routed outbound attachment can still resolve the default profile’s file. That is same-name cross-profile leakage, not migration compatibility.\n\n`test_sandbox_candidates_key_lookup_error_does_not_use_default_shared_key` proves only that the active default shared-container key is not consulted; it does not forbid the local `default` workspace root. The submitted behavior therefore still widens a known routed profile into an unowned fallback namespace.\n\nKnown routed profiles need fail-closed resolution: routed profile/shared scope plus only legacy paths whose ownership is provably the same session/profile — never an unowned `default`. Add deterministic witnesses: default has relative file + coder does not => reject/None; coder has its own copy => coder copy wins; key-lookup exception","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T15:52:39Z","updatedAt":"2026-08-26T15:52:39Z","submittedAt":"2026-08-26T15:52:38Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95471#pullrequestreview-5032466493"},"data":{"createdAt":"2026-08-26T15:52:39Z","occurredAt":"2026-08-26T15:52:38Z","pullRequest":{"createdAt":"2026-08-26T10:39:34Z","id":"PR_kwDOPRF1G88AAAABBD-MyQ","mergedAt":null,"number":95471,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(docker): do not leak the shared-container key across multiplex profiles","updatedAt":"2026-08-26T16:04:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/95471"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T15:52:38Z","updatedAt":"2026-08-26T15:52:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/95471#pullrequestreview-5032466493","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK-0Big","kind":"review","label":"PRR_kwDOPRF1G88AAAABK-0Big","summary":"Reviewed exact head `d664f9fa54234b46ba832ca961fb7d89c0e347bc` against live `main@277899f10cf8bca4baff5eb15604e44ef9696f92`. The PR is 6 commits ahead / 1 behind its actual merge base `f4e8eb156876a27687a9bc7db0e1b6343a9c35c0`; the one newer main commit is the #95614 formatting repair and is path-disjoint from this 10-file browser change. Exact-head hosted evidence is green: [CI 32981102522](https://github.com/NousResearch/hermes-agent/actions/runs/32981102522), [Docker 32981101641](https://github.com/NousResearch/hermes-agent/actions/runs/32981101641), and [Nix 32981101664](https://github.com/NousResearch/hermes-agent/actions/runs/32981101664). There were no prior human review submissions on this PR when I started.\n\nThe copy-based direction fixes the central defect in #95520 cleanly: the live default profile is no longer the CDP user-data-dir, the stale/wrong-dir agent-browser session is checked against `DevToolsActivePort`, Browser Use gets the same CDP-backed local path, consent is default-off and schema-gated, and failure to resolve a supported default or launch the copy is explicit rather than silently downgrading. The live Chrome 151 witness is particularly useful because it ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T14:49:59Z","updatedAt":"2026-08-26T14:49:59Z","submittedAt":"2026-08-26T14:49:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95620#pullrequestreview-5031920010"},"data":{"createdAt":"2026-08-26T14:49:59Z","occurredAt":"2026-08-26T14:49:59Z","pullRequest":{"createdAt":"2026-08-26T14:34:09Z","id":"PR_kwDOPRF1G88AAAABBFuxaA","mergedAt":"2026-08-27T02:25:34Z","number":95620,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(browser): real-profile browsing no longer breaks on Chrome 136+ (copy + browser-use CDP, redo of #95520)","updatedAt":"2026-08-27T02:25:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/95620"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T14:49:59Z","updatedAt":"2026-08-26T14:49:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/95620#pullrequestreview-5031920010","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK-jMnA","kind":"review","label":"PRR_kwDOPRF1G88AAAABK-jMnA","summary":"Re-review after the author’s follow-up and routing to [#95475](https://github.com/NousResearch/hermes-agent/pull/95475).\n\nReviewed exact #95445 head `e297c5c81444b4937c54fd33bd82d883ee69af10` against current `main` `f4df86fe1a3285d88107c89b0d56f98c674751d0`, plus exact #95475 head `80d169b21c4f19f5e50dd162b03bee596a402988`.\n\n## Blocker remains — the submitted #95445 object was not reworked\n\nThe author’s [follow-up comment](https://github.com/NousResearch/hermes-agent/pull/95445#issuecomment-5424487345) says the Browser-first guard was removed and `?? tabs[0]` was dropped. The PR and fork branch still contain only commit `e297c5c...`, and the live diff still contains the original URL-first selector. No regression tests were added.\n\nSo the prior blocker remains on the exact object proposed for merge: a legitimate explicit file/artifact selection is replaced by the first nonblank Browser, which may also be the wrong Browser in the current multi-Browser store.\n\n## #95475 does not repair the reproduced #89272 failure\n\nThe [#89272 reproduction](https://github.com/NousResearch/hermes-agent/issues/89272) leaves `$rightRailActiveTabId` pointing at a **valid open file tab** while a Browser r","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T14:25:41Z","updatedAt":"2026-08-26T14:25:41Z","submittedAt":"2026-08-26T14:25:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95445#pullrequestreview-5031644316"},"data":{"createdAt":"2026-08-26T14:25:41Z","occurredAt":"2026-08-26T14:25:41Z","pullRequest":{"createdAt":"2026-08-26T10:03:07Z","id":"PR_kwDOPRF1G88AAAABBDtxeQ","mergedAt":null,"number":95445,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): prefer Browser tabs with URLs over stale file tabs in read_preview","updatedAt":"2026-08-27T17:47:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/95445"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T14:25:41Z","updatedAt":"2026-08-26T14:25:41Z","url":"https://github.com/NousResearch/hermes-agent/pull/95445#pullrequestreview-5031644316","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK-OK_A","kind":"review","label":"PRR_kwDOPRF1G88AAAABK-OK_A","summary":"Reviewed exact head `dee6cf7113feea135702aa03e6a493a6c067f912` against live `main@2f9e18700159ba5df1ec8a69e8e5a2e7ceb368e9`, the full 17-file diff, the behavior-critical Electron files, the new adversarial tests, the current #94724/#90149 contract, and the merged/current Desktop ownership/lifecycle graph.\n\nThere is a lot worth keeping here. `RouteKey` makes registration generation first-class and keeps `desktopProfile` separate from SSH `targetProfile`; the generation is re-checked after the async dial; the supervisor is Electron-main-owned rather than per-renderer; and, importantly, this branch *retains* the merged `BackendDialClaims` spawn seam instead of replacing #95497 with a second spawn owner. The test suite also attacks mid-dial generation change rather than only testing happy-path construction. That is the right direction. 🚀\n\nI found two P1 contract failures before this can be the dependency root for the later #94724 phases.\n\n## P1 — activation success is not bound to the connection that produced it\n\nThe new supervisor correctly returns a typed `ActivationReceipt`, but `apps/desktop/electron/main.ts` side-channels the actual connection through one process-global mutable s","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T13:58:51Z","updatedAt":"2026-08-26T13:58:51Z","submittedAt":"2026-08-26T13:58:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95564#pullrequestreview-5031299836"},"data":{"createdAt":"2026-08-26T13:58:51Z","occurredAt":"2026-08-26T13:58:51Z","pullRequest":{"createdAt":"2026-08-26T13:38:21Z","id":"PR_kwDOPRF1G88AAAABBFQq7w","mergedAt":null,"number":95564,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(desktop): generation-bound RouteKey + GatewaySupervisor single-flight (Magnum #94724 Phases 1–2)","updatedAt":"2026-08-26T19:24:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/95564"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T13:58:51Z","updatedAt":"2026-08-26T13:58:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/95564#pullrequestreview-5031299836","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK-s9RQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABK-s9RQ","summary":"Re-reviewed exact head `3fce7f0a8d07889d2f3297c4a2fd27f025b54dfa` after the consent-boundary follow-up. Both blockers from my prior review are closed, and the exact submitted object now has hosted green evidence.\n\nThe Web caller is repaired end to end: `SystemPage` no longer exposes the unsupported redaction opt-out, opens a confirmation dialog before the request, and only calls `api.runDebugShare()` from the confirm path. The helper now always carries `consent: true`. `SystemPage.debug-share.test.tsx` pins the actual caller boundary: cancel produces zero upload calls; confirm produces exactly one.\n\nThe Desktop boundary is now pinned at the component rather than only at transport. `maintenance.test.tsx` drives the real `MaintenancePanel` button through the shared confirmation store and proves cancel => zero `runDebugShare` calls and confirm => exactly one. The transport parity assertion still separately proves the consent marker is present.\n\nI also rechecked the public sink itself. `build_debug_share()` no longer collects public log bodies at all; it constructs a small allowlisted system summary, rejects `redact=False`, uses only the deletable paste.rs path, and leaves full logs to","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T14:39:46Z","updatedAt":"2026-08-26T14:39:46Z","submittedAt":"2026-08-26T14:39:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94911#pullrequestreview-5031804229"},"data":{"createdAt":"2026-08-26T14:39:46Z","occurredAt":"2026-08-26T14:39:46Z","pullRequest":{"createdAt":"2026-08-25T17:13:11Z","id":"PR_kwDOPRF1G88AAAABA-Al3A","mergedAt":null,"number":94911,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(debug): stop non-interactive uploads from exposing private logs","updatedAt":"2026-08-26T14:39:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/94911"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T14:39:46Z","updatedAt":"2026-08-26T14:39:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/94911#pullrequestreview-5031804229","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK-WaXQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABK-WaXQ","summary":"Re-review on exact head `01dd4f266e131637e21207dacc97945ce89a2ebe`.\n\nBlockers 2, 3, and 4 from my prior review are closed on this head:\n\n- Skill frontmatter is now inert unless the user opts in or sets an explicit per-skill value.\n- The active-skill record is consumed once, atomically, before the session-override early return.\n- The dashboard now uses stable row IDs, persists the literal `off` sentinel, avoids premature empty-name writes, and has rendered regression coverage for the exact `{ \"plan\": \"off\" }` contract.\n\nTwo blockers remain.\n\n### 1. The product surface still names a different contract than the implementation provides\n\nI offered two acceptable resolutions to the turn-attribution finding: implement immutable current-turn selection before provider admission, **or rename and document the actual behavior**. The implementation chose the second path, but only completed the documentation half.\n\nThe admitted runtime contract is now explicit: **last skill viewed in turn N controls reasoning for turn N+1**, and when multiple skills are viewed, incidental tool-call order decides which one wins. That is not current-turn skill attribution. Yet the PR title, config surface, PR body","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T14:09:21Z","updatedAt":"2026-08-26T14:09:21Z","submittedAt":"2026-08-26T14:09:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93378#pullrequestreview-5031434845"},"data":{"createdAt":"2026-08-26T14:09:21Z","occurredAt":"2026-08-26T14:09:21Z","pullRequest":{"createdAt":"2026-08-24T00:38:35Z","id":"PR_kwDOPRF1G88AAAABAvMcRg","mergedAt":null,"number":93378,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(reasoning): per-skill reasoning effort — skills suggest, config controls","updatedAt":"2026-08-26T14:16:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/93378"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T14:09:21Z","updatedAt":"2026-08-26T14:09:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/93378#pullrequestreview-5031434845","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK0Bmvw","kind":"review","label":"PRR_kwDOPRF1G88AAAABK0Bmvw","summary":"Re-review at exact head `41e654229cc222ccc4ac2f0389cc3863fa62615c`: the P1 stale shared-primary activation finding is fixed. `ensureGatewayForProfile()` now returns the epoch-guarded `applyActive(...)` verdict on both the primary fast path and the awaited shared-primary path, so an activation superseded while descriptor lookup is in flight can no longer report success and let `store/profile.ts` publish REST/profile atoms onto a route that did not move. The regression covers the required interleave by parking the shared-primary lookup, landing a newer activation, releasing the old lookup, and asserting the stale activation returns `false`.\n\nI also checked the current exact-head hosted authority: CI `32840344591`, Docker `32840343241`, and Nix `32840343260` all completed successfully. No additional blocker from my prior review remains on this head.\n\nI attempted to resolve the now-outdated inline thread through GitHub as part of closure, but the integration is forbidden from `resolveReviewThread`; that is an authorization boundary, not a code/review finding.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T15:11:01Z","updatedAt":"2026-08-25T15:11:01Z","submittedAt":"2026-08-25T15:11:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92333#pullrequestreview-5020608191"},"data":{"createdAt":"2026-08-25T15:11:01Z","occurredAt":"2026-08-25T15:11:01Z","pullRequest":{"createdAt":"2026-08-22T15:27:06Z","id":"PR_kwDOPRF1G88AAAABApxZZA","mergedAt":null,"number":92333,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): publish a secondary gateway route only once its WebSocket is open","updatedAt":"2026-08-29T09:03:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/92333"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T15:11:01Z","updatedAt":"2026-08-25T15:11:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/92333#pullrequestreview-5020608191","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK0FXmg","kind":"review","label":"PRR_kwDOPRF1G88AAAABK0FXmg","summary":"Final re-review on exact head `d089c1af397d8c6ef65dd767875d01f594a1ad57` after the streamed-path/cross-surface follow-up.\n\nI re-checked the changed parser/state path rather than carrying the prior approval forward. The current head closes the remaining shape cleanly:\n\n- standalone unquoted values are line-bounded without consuming CR/LF, while empty `MEDIA:` lines cannot cross into the next line;\n- consecutive spaced directives are explicitly segmented by the next `MEDIA:` marker instead of relying on whitespace, including prose-prefixed forms;\n- a trailing unquoted/open sequence is treated as provisional across streaming chunks, and the undecorated source is restored before the next text delta so a partial path cannot become permanent output;\n- provisional state is cleared at reasoning/tool/final/timeline boundaries, so live-only parser state does not leak into settled history;\n- Artifacts consumes the same `mediaPathsFromText()` authority and masks recognized MEDIA values before generic path scanning, preventing contained partial-path duplicates;\n- Windows drive/UNC URLs now have native-path round-trip coverage through the Electron resolver, not only a renderer mock.\n\nThe current","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T15:17:06Z","updatedAt":"2026-08-25T15:17:06Z","submittedAt":"2026-08-25T15:17:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/70801#pullrequestreview-5020669850"},"data":{"createdAt":"2026-08-25T15:17:06Z","occurredAt":"2026-08-25T15:17:05Z","pullRequest":{"createdAt":"2026-07-24T14:39:22Z","id":"PR_kwDOPRF1G8715vt_","mergedAt":null,"number":70801,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): preserve spaces in MEDIA file paths","updatedAt":"2026-08-25T15:17:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/70801"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T15:17:05Z","updatedAt":"2026-08-25T15:17:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/70801#pullrequestreview-5020669850","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK2BK8g","kind":"review","label":"PRR_kwDOPRF1G88AAAABK2BK8g","summary":"Re-reviewed exact head `0b540a977c7e4f49f464cd31e6582d34e10d0d78` against exact current `main` / PR base `02c7ae956e42891d5e337a921b45de0a6067146d`. This is materially new code since my prior review on `288052c20f…`: the branch was rebased and expanded to 19 changed paths / 18 commits, so the earlier blocker needed a fresh review rather than being carried forward. I also re-read the current conversation/review state; the only submitted review is my earlier-head COMMENT and there are no inline review threads.\n\n**The prior Singularity image-build blocker is fixed on this head.** `tools/environments/singularity.py::_singularity_subprocess_env(include_registry_auth=True)` no longer re-adds the six registry credentials from process-global `os.environ` while multiplexing. `_registry_auth_source()` now makes the active target secret scope authoritative, refuses an unscoped multiplex image build, and keeps ambient fallback only for the single-profile compatibility path. The build path first removes all six registry names from the generic child env before applying that narrow grant set.\n\nThe regression is now the production call shape I asked for, not a detached helper check. `tests/tools/t","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T18:47:39Z","updatedAt":"2026-08-25T18:47:39Z","submittedAt":"2026-08-25T18:47:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94878#pullrequestreview-5022698226"},"data":{"createdAt":"2026-08-25T18:47:39Z","occurredAt":"2026-08-25T18:47:39Z","pullRequest":{"createdAt":"2026-08-25T16:28:33Z","id":"PR_kwDOPRF1G88AAAABA9s1_w","mergedAt":null,"number":94878,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): compose child boundary and profile provenance","updatedAt":"2026-08-27T17:40:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/94878"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T18:47:39Z","updatedAt":"2026-08-25T18:47:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/94878#pullrequestreview-5022698226","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK32y-w","kind":"review","label":"PRR_kwDOPRF1G88AAAABK32y-w","summary":"Fourth-pass review — exact head `e988ae672c34163ebbb7393fbb5a9126319352e3`\n\nThe third-pass atomicity blocker is closed as far as persisted half-records go: the new carrier centralizes the pair, malformed records drop before adapter lookup, and both terminal/delegation replay paths preserve damage rather than completing it.\n\n**BLOCKING — a failed current capture is encoded as legacy and reopens guessed routing**\n\n`_capture_transport_provenance()` returns `None` on either an exception or a missing owner/slot. `provenance_fields(None)` then stamps both fields as empty strings, and `classify_provenance((\"\", \"\"), ...)` classifies that record as `LEGACY`. A current commissioning failure is therefore indistinguishable from a durable record created before this feature.\n\nThe branch locks that behavior in with `test_no_provenance_source_records_no_slot`: a source constructed without the retained adapter reference records no pair and is intentionally sent through legacy runtime/alias resolution. In the shared-primary → secondary-runtime topology, that fallback can select the secondary profile's same-platform bot; after a capture exception in a mixed native/Relay map it can re-enter native-fir","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T21:57:02Z","updatedAt":"2026-08-25T21:57:02Z","submittedAt":"2026-08-25T21:57:02Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94744#pullrequestreview-5024625403"},"data":{"createdAt":"2026-08-25T21:57:02Z","occurredAt":"2026-08-25T21:57:02Z","pullRequest":{"createdAt":"2026-08-25T12:35:47Z","id":"PR_kwDOPRF1G88AAAABA73T9A","mergedAt":null,"number":94744,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): deliver background-process completions to secondary profiles under multiplexing","updatedAt":"2026-08-27T14:42:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/94744"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T21:57:02Z","updatedAt":"2026-08-25T21:57:02Z","url":"https://github.com/NousResearch/hermes-agent/pull/94744#pullrequestreview-5024625403","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK33mHg","kind":"review","label":"PRR_kwDOPRF1G88AAAABK33mHg","summary":"Reviewed exact head `a3d1419aff3ad69d6b7457cf578dd49506b8bde4` against `main@95668f5eabff2ae17f96496ffb87e280b8879846`, the current profile/multiplex contract, the ambient-observation PR cluster, and #94744.\n\n## Verdict\n\nThis is a useful source design for **passive Discord room observation**. It is **not** the solution for operating multiple messaging platforms at once, and this head should not merge.\n\nHermes' multi-platform execution plane already lives in the adapter registry + `gateway.multiplex_profiles` + profile-scoped session namespaces + `gateway.profile_routes`. #94744 is the current live carrier for a residual of that architecture: preserving the exact runtime profile and ingress transport when delayed completions route back. #63044 neither selects a profile nor owns a return transport; it adds a Discord admission/retention path and a proposed generic event disposition.\n\n## Blocker: `DROP` is declared but fail-open\n\n`MessageDisposition` advertises `DROP`, `OBSERVE`, and `DISPATCH`, but `BasePlatformAdapter.handle_message()` only branches on `OBSERVE`. A `DROP` event continues into command coercion and the ordinary message path. There is no `DROP` test, and the patch conta","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T21:58:36Z","updatedAt":"2026-08-25T21:58:36Z","submittedAt":"2026-08-25T21:58:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/63044#pullrequestreview-5024638494"},"data":{"createdAt":"2026-08-25T21:58:36Z","occurredAt":"2026-08-25T21:58:36Z","pullRequest":{"createdAt":"2026-07-12T07:40:37Z","id":"PR_kwDOPRF1G87wsuvy","mergedAt":null,"number":63044,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(discord): add opt-in bounded room observation","updatedAt":"2026-08-27T11:55:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/63044"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T21:58:36Z","updatedAt":"2026-08-25T21:58:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/63044#pullrequestreview-5024638494","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK34xaQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABK34xaQ","summary":"Blocking review on exact head `6552d44e52349700aecc7d6cdbbb836dd941b80c`.\n\nThis is the necessary complementary half of #95019: xAI defaults to Responses, but an explicit `api_mode: chat_completions` is still a supported route and needs the same reserved-name treatment. The copy-on-write intent and the basic schema/round-trip tests are good. Two correctness blockers remain.\n\n## Blocker 1 — unconditional reverse mapping can dispatch the wrong tool\n\n`ChatCompletionsTransport.normalize_response()` now changes every returned function name equal to `hermes_tool_search` into `tool_search`, regardless of provider and regardless of whether this request performed the xAI alias rewrite. The comment that the alias “only exists on the wire because the rename put it there” is not an enforceable invariant: MCP/plugin/user tools can legitimately advertise that literal name, and this PR does not reserve or reject the `hermes_` namespace.\n\nConsequences:\n\n1. A non-xAI Chat Completions backend can advertise and call a real `hermes_tool_search`; Hermes will silently dispatch `tool_search` instead.\n2. An xAI request that contains both the bridge's canonical `tool_search` and a real `hermes_tool_search` ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T22:01:03Z","updatedAt":"2026-08-25T22:01:03Z","submittedAt":"2026-08-25T22:01:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95011#pullrequestreview-5024657769"},"data":{"createdAt":"2026-08-25T22:01:03Z","occurredAt":"2026-08-25T22:01:03Z","pullRequest":{"createdAt":"2026-08-25T19:55:37Z","id":"PR_kwDOPRF1G88AAAABA_LEFg","mergedAt":null,"number":95011,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(xai): alias the reserved tool_search bridge name on chat completions","updatedAt":"2026-08-25T22:01:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/95011"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T22:01:03Z","updatedAt":"2026-08-25T22:01:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/95011#pullrequestreview-5024657769","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK34zAA","kind":"review","label":"PRR_kwDOPRF1G88AAAABK34zAA","summary":"Blocking review on head `75a296abe2b0ab4c83a2820cfd6abe2dfa69a459`.\n\nThe default-route diagnosis is correct, and the implementation is otherwise well-shaped: the alias is applied after Responses conversion, `tool_describe` / `tool_call` remain untouched, composition with xAI native `web_search` is covered, and exact-head [CI](https://github.com/NousResearch/hermes-agent/actions/runs/32894357232), [Docker](https://github.com/NousResearch/hermes-agent/actions/runs/32894356149), and [Nix](https://github.com/NousResearch/hermes-agent/actions/runs/32894356135) are green.\n\n### Blocker — the reverse map does not own or prove the alias namespace\n\nThe PR adds `hermes_tool_search -> tool_search` to the global reverse map in [`agent/transports/codex.py`](https://github.com/NousResearch/hermes-agent/blob/75a296abe2b0ab4c83a2820cfd6abe2dfa69a459/agent/transports/codex.py#L82-L88), then [`normalize_response`](https://github.com/NousResearch/hermes-agent/blob/75a296abe2b0ab4c83a2820cfd6abe2dfa69a459/agent/transports/codex.py#L829-L837) applies that map to every Responses tool call, without evidence that this request emitted the alias.\n\nThat namespace is not reserved. Tool Search reserves only the","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T22:01:06Z","updatedAt":"2026-08-25T22:01:06Z","submittedAt":"2026-08-25T22:01:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95019#pullrequestreview-5024658176"},"data":{"createdAt":"2026-08-25T22:01:06Z","occurredAt":"2026-08-25T22:01:06Z","pullRequest":{"createdAt":"2026-08-25T20:16:02Z","id":"PR_kwDOPRF1G88AAAABA_UzSw","mergedAt":null,"number":95019,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(xai): alias the reserved tool_search bridge on the wire (#95003)","updatedAt":"2026-08-25T22:01:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/95019"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T22:01:06Z","updatedAt":"2026-08-25T22:01:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/95019#pullrequestreview-5024658176","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK3P4_A","kind":"review","label":"PRR_kwDOPRF1G88AAAABK3P4_A","summary":"Re-reviewed exact HEAD `03f4e4280edbb05ce3a719c9c9deb950453e4ab7` (tree `3f2d2063e232c125de08188c0e1300faa24db19c`) against the three MCP authority blockers from my review of `e30de47706c90c9ae88ce75d20cd86bf5f76c913`, including the fix commit `84579677ad9e4ef58af0b93170e6e405c16e9937`, its focused regressions, the profile reload/generation path, registry overlays, stdio teardown, and the corresponding prior-art surface in #87192.\n\nAll three code blockers are resolved:\n\n1. **Execution authority now fails closed before MCP work.** All five handler families—live tool calls, lazy tool calls, list/read resources, and list/get prompts—capture immutable owner scope/home at registration. In multiplex mode they reject a missing or mismatched explicit scope before server lookup, lazy connection, transport, or recovery. Successful dispatch then runs inside the owner-pinned runtime; OAuth 401 and expired-session recovery inherit that same owner rather than ambient launch-profile state.\n\n2. **Stdio process ownership is profile-dimensional.** The child snapshot → spawn → snapshot attribution window is serialized on the MCP loop. Active and orphan PIDs carry canonical owner scope, and profile te","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T20:48:52Z","updatedAt":"2026-08-25T20:48:52Z","submittedAt":"2026-08-25T20:48:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94989#pullrequestreview-5023987964"},"data":{"createdAt":"2026-08-25T20:48:52Z","occurredAt":"2026-08-25T20:48:52Z","pullRequest":{"createdAt":"2026-08-25T19:20:18Z","id":"PR_kwDOPRF1G88AAAABA-6C7w","mergedAt":null,"number":94989,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(mcp): isolate registration and reload per profile","updatedAt":"2026-08-25T21:33:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/94989"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T20:48:52Z","updatedAt":"2026-08-25T20:48:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/94989#pullrequestreview-5023987964","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK3PDtg","kind":"review","label":"PRR_kwDOPRF1G88AAAABK3PDtg","summary":"Reviewed exact head `6456593f8bc23d9dcc5e604a51738cc79b259de9` against current `main` `5b82658b3ccaee22b6792a7003a0d256526d8555` (the PR commit is based on `4032a15ad0d5f55f5c97f3fa59709ca28a992543`; current main’s intervening merge is unrelated NVIDIA-provider work). I checked the full 2-file patch, the receipt implementation at the exact parent bytes, the purge/finalize call order, existing comments/reviews/threads (none on this head), exact-head workflow state, the originating bug, and the overlapping implementation.\n\n**Blocking: the state transfer crosses code generations with an unversioned live Python object.**\n\n`active_receipt` is an instance of the *pre-pull* `UpdateReceipt` class. This patch purges `hermes_cli.update_receipt`, imports the *post-pull* module, then assigns that old instance to the fresh module’s `_current`. That creates a mixed-generation transaction: fresh module-level functions with an old-generation class instance. In the current source, for example, fresh `finalize_update_receipt()` calls `receipt.finalize(outcome)`, and the recorder wrappers dispatch to `receipt.step(...)`, `receipt.skip(...)`, and `receipt.gateway_restart_result(...)`. Those methods re","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T20:47:34Z","updatedAt":"2026-08-25T20:47:34Z","submittedAt":"2026-08-25T20:47:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95038#pullrequestreview-5023974326"},"data":{"createdAt":"2026-08-25T20:47:34Z","occurredAt":"2026-08-25T20:47:34Z","pullRequest":{"createdAt":"2026-08-25T20:40:51Z","id":"PR_kwDOPRF1G88AAAABA_hKAQ","mergedAt":null,"number":95038,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix: preserve update receipts across module purge","updatedAt":"2026-08-25T21:26:16Z","url":"https://github.com/NousResearch/hermes-agent/pull/95038"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T20:47:34Z","updatedAt":"2026-08-25T20:47:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/95038#pullrequestreview-5023974326","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK3QMMQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABK3QMMQ","summary":"Moving the authority check from a preflight PID probe into `MatrixAdapter.connect()` before `Database.create()` is the right boundary, and the old fail-open path is gone. The current lease implementation still does **not** establish exclusive ownership, however. Three lock-protocol defects can recreate the exact forbidden state: two live OlmMachines believing they own the same crypto store/device.\n\n1. **The crypto lease reuses a gateway-takeover stale oracle that invalidates legitimate live crypto owners.**\n\n   `acquire_crypto_lease()` calls `_foreign_lock_record_is_stale()`. That helper is intentionally shaped around gateway process identity: even when a foreign PID is alive and its recorded/current `start_time` matches, the “secondary defence” marks it stale when `_looks_like_gateway_process(pid)` is false and its command line is readable. But this PR explicitly allows **standalone/ephemeral non-gateway processes** to acquire the crypto lease. Therefore this sequence is admitted:\n\n   - standalone send acquires the lease and opens `crypto.db`;\n   - gateway starts while that send is live;\n   - gateway sees a live, matching non-`gateway run` holder, classifies it as stale, reclaims ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T20:49:19Z","updatedAt":"2026-08-25T21:00:17Z","submittedAt":"2026-08-25T20:49:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91953#pullrequestreview-5023992881"},"data":{"createdAt":"2026-08-25T20:49:19Z","occurredAt":"2026-08-25T20:49:19Z","pullRequest":{"createdAt":"2026-08-22T00:47:30Z","id":"PR_kwDOPRF1G88AAAABAnRbsg","mergedAt":null,"number":91953,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cron): gate adapter-less tickers on gateway liveness","updatedAt":"2026-08-26T14:29:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/91953"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T20:49:19Z","updatedAt":"2026-08-25T21:00:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/91953#pullrequestreview-5023992881","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK3rSSQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABK3rSSQ","summary":"## Supersession review — source `4b7a9c9abd105f7b4a8ece45c01b908f321ecff4`, composite `0b540a977c7e4f49f464cd31e6582d34e10d0d78`\n\nI reviewed the linked composite-survivor handoff, both live PR objects, the current changed-path sets, prior findings and remediation, exact-head workflow state, source commit provenance, current `main`, and the overlapping authority/profile PRs.\n\nThe handoff is substantively valid. #94878 retains this PR's source→target profile provenance, post-construction snapshot ownership refresh, foreground/background/PTY behavior, fail-closed Kanban resolution, and target `HERMES_HOME`/`HOME` identity. It composes those with the shared boundary from #77027, Singularity/Apptainer coverage from #57639, and the #83756 class-map witness while preserving source authorship and cherry-pick provenance. I found no unique behavior in #91293 that is absent from the composite and still requires this branch to be an independent merge candidate.\n\nThe two P1s previously identified here remain closed in the composite: target `HERMES_HOME` is bound before subprocess HOME policy is evaluated, and source-owned snapshot exclusions refresh monotonically/fail closed after environment c","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T21:34:00Z","updatedAt":"2026-08-25T21:34:00Z","submittedAt":"2026-08-25T21:34:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91293#pullrequestreview-5024436809"},"data":{"createdAt":"2026-08-25T21:34:00Z","occurredAt":"2026-08-25T21:34:00Z","pullRequest":{"createdAt":"2026-08-21T04:09:18Z","id":"PR_kwDOPRF1G88AAAABAgJZmg","mergedAt":null,"number":91293,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): enforce provenance-based profile subprocess isolation","updatedAt":"2026-08-30T05:53:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/91293"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T21:34:00Z","updatedAt":"2026-08-25T21:34:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/91293#pullrequestreview-5024436809","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK3vPuw","kind":"review","label":"PRR_kwDOPRF1G88AAAABK3vPuw","summary":"## Re-review — blocking on exact head `24b086b816e06a0741673aa0754caba186638272`\n\nRe-reviewed the current 78-file head against merge base `c9c44d0df92279815bfd00ad53b82a256781d497`, including the runtime installer, machine-scoped supervisor/state, endpoint adoption, model download/catalog path, context-growth restart path, lifecycle routes, focused tests, current branch state, and adjacent local-provider work.\n\nThere is useful follow-through since the prior review — stable endpoint credentials, managed-endpoint streaming/cancellation behavior, unload settlement, broader context integration, and substantially more contract coverage. None of that closes the three authority blockers from the earlier review, and the current head adds a fourth supply-chain blocker by deliberately removing model-asset digest enforcement.\n\n### 1. Runtime executable installation is still trust-on-first-use\n\n`hermes_cli/local_runtime/binaries.py::ensure_runtime_installed()` still makes `expected_sha256` optional. Without it, the installer downloads the archive, computes a digest, and records that digest after the fact. Both production paths still omit pins:\n\n- `hermes_cli/local_runtime/bootstrap.py::ensure_","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T21:41:33Z","updatedAt":"2026-08-25T21:41:33Z","submittedAt":"2026-08-25T21:41:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85852#pullrequestreview-5024501691"},"data":{"createdAt":"2026-08-25T21:41:33Z","occurredAt":"2026-08-25T21:41:33Z","pullRequest":{"createdAt":"2026-08-14T05:33:46Z","id":"PR_kwDOPRF1G87-8iJh","mergedAt":null,"number":85852,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(local-runtime): managed llama.cpp runtime — local models with one click","updatedAt":"2026-08-31T04:29:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/85852"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T21:41:33Z","updatedAt":"2026-08-25T21:41:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/85852#pullrequestreview-5024501691","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK3whSQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABK3whSQ","summary":"Reviewed exact head `9f5cb792a917dd3c4015a0ab3fffecfa6f2809fc` against current `main` `7c5c994397d4914b7a4f253a652982ec33a0544d`. I traced the watcher routing, the extracted ready/review gate chain, the all-board lock acquisition, shared running/per-profile accounting, corruption quarantine handoff, the new regressions, adjacent dispatcher work, and exact-head Actions state. The global-union direction is the right shape for the starvation defect, and the all-or-nothing board-lock set preserves the #35240 single-writer boundary. Two correctness defects in the new union path need fixing before this head is safe to merge.\n\n**1. The union review lane can exceed the shared host budget.**\n\n`dispatch_once_all_boards()` computes one `spawn_budget`, reserves one slot for review by setting `ready_budget = spawn_budget - 1`, but then enforces the two lanes with independent counters:\n\n```py\n_ready_spawned = 0\n_review_spawned = 0\n...\nif lane_rank == 0:\n    if ready_budget is not None and _ready_spawned >= ready_budget:\n        continue\nelse:\n    if spawn_budget is not None and _review_spawned >= spawn_budget:\n        break\n```\n\nThat is not the existing dispatcher invariant. The extracted helper","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T21:44:15Z","updatedAt":"2026-08-25T21:44:15Z","submittedAt":"2026-08-25T21:44:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95056#pullrequestreview-5024522569"},"data":{"createdAt":"2026-08-25T21:44:15Z","occurredAt":"2026-08-25T21:44:15Z","pullRequest":{"createdAt":"2026-08-25T21:34:09Z","id":"PR_kwDOPRF1G88AAAABA_5ZKA","mergedAt":null,"number":95056,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(kanban): global union-based fair ticket selection in dispatcher tick","updatedAt":"2026-08-26T22:19:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/95056"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T21:44:15Z","updatedAt":"2026-08-25T21:44:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/95056#pullrequestreview-5024522569","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK47JfQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABK47JfQ","summary":"Reviewed exact head `7278f34c2ffa8b021b52c384d523ee5656253406` against exact base/current `main@f751a8c5467c41500e505d90cb0eb8b70929080f`, the complete two-file diff, the current helper/storage/output call sites, issue #95137 and its duplicate classification against #89891, and the competing turn-boundary implementations #70695 / #85678 / #75289. Exact-head hosted CI, Docker, and Nix are all green (`32915955280`, `32915954742`, `32915954783`), so the blocker below is semantic rather than CI noise.\n\nThe measured 3 → 8 → 17 → 34 → 67 reproduction is excellent evidence, and normalizing away durability-only stamps is the right direction. The new tests also pin the concrete `_db_persisted` / timestamp symptom cleanly. 🚀\n\n## Blocker — `(role, content)` is not a safe message identity at this boundary\n\n`_normalized_message_identity()` drops every tool identity field: `tool_calls`, `tool_call_id`, `name`, and legacy `function_call`. That can turn two different transcripts into the same prefix and make `_response_messages_turn_start_index()` return a nonzero offset when `result[\"messages\"]` is actually the supported current-turn suffix shape.\n\nConcrete witness against this exact implementat","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T00:57:17Z","updatedAt":"2026-08-26T00:57:17Z","submittedAt":"2026-08-26T00:57:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95138#pullrequestreview-5025745277"},"data":{"createdAt":"2026-08-26T00:57:17Z","occurredAt":"2026-08-26T00:57:17Z","pullRequest":{"createdAt":"2026-08-26T00:39:23Z","id":"PR_kwDOPRF1G88AAAABBA2F2Q","mergedAt":null,"number":95138,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(api-server): match the turn-start prefix on normalized message identity","updatedAt":"2026-08-27T18:13:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/95138"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T00:57:17Z","updatedAt":"2026-08-26T00:57:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/95138#pullrequestreview-5025745277","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK4ct3Q","kind":"review","label":"PRR_kwDOPRF1G88AAAABK4ct3Q","summary":"Blocking review on exact head `e3a0e1d274ccba4130c767a5fe441cf649f2274c`, reconciled against current `main` `62b2d78025c349996e753c6f7c748de035eb8048`.\n\nThe provider boundary is correct: the OpenAI Codex Responses gate is where the wire name must change, and preserving Hermes's canonical internal `tool_search` contract is the right goal. Two blockers prevent this head from merging safely.\n\n## Blocker 1 — the reverse alias has no ownership/provenance\n\nThis head declares `hermes_tool_search` as the wire alias in [`agent/transports/codex.py`](https://github.com/NousResearch/hermes-agent/blob/e3a0e1d274ccba4130c767a5fe441cf649f2274c/agent/transports/codex.py#L58-L75), emits it only for `is_codex_backend`, then unconditionally maps every returned call named `hermes_tool_search` to `tool_search` in [`normalize_response`](https://github.com/NousResearch/hermes-agent/blob/e3a0e1d274ccba4130c767a5fe441cf649f2274c/agent/transports/codex.py#L593-L596).\n\nThe repository does not reserve or reject the `hermes_tool_search` name at tool registration/assembly. That creates two concrete misdispatch paths:\n\n1. A legitimate MCP/plugin/user tool named `hermes_tool_search` can be emitted unchanged on a ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T23:21:59Z","updatedAt":"2026-08-25T23:21:59Z","submittedAt":"2026-08-25T23:21:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83126#pullrequestreview-5025246685"},"data":{"createdAt":"2026-08-25T23:21:59Z","occurredAt":"2026-08-25T23:21:59Z","pullRequest":{"createdAt":"2026-08-10T10:19:18Z","id":"PR_kwDOPRF1G8788s9S","mergedAt":null,"number":83126,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(codex): alias reserved tool_search bridge (#83122)","updatedAt":"2026-08-25T23:21:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/83126"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T23:21:59Z","updatedAt":"2026-08-25T23:21:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/83126#pullrequestreview-5025246685","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK4ppqA","kind":"review","label":"PRR_kwDOPRF1G88AAAABK4ppqA","summary":"Reviewing exact head `63ede45eddab2db15b31d76247af7bf5fea82f8e` against its base `main@a9351543789baabdd2897ee2ed73087d488f9b6c`. Live `main` is now `f751a8c5467c41500e505d90cb0eb8b70929080f`, two updater-only commits ahead of this base; those intervening commits do not change the Desktop routing/worktree surfaces reviewed here.\n\nThe core direction is right: ownership is captured before the async worktree boundary, `StartWorkSessionRequest` carries it through the controller, tiles preserve exact connection routes, and the project/worktree entry points stop relying on whatever gateway happens to be active later. I found two merge-blocking ownership holes that still make the new carrier lossy/fail-open.\n\n**1. Ambiguous ownership is encoded as the same `undefined` used for genuinely ownerless fresh intent.**\n\n`knownOwnerForSession()` deliberately returns `undefined` when multiple connection-qualified claims exist. That is a valid *resolution result* (\"this real source session is ambiguous\"), but `useComposerBranch` immediately turns it into an ownerless worktree request:\n\n```ts\nrequestStartWorkSession(path, text, owner ? { owner } : undefined)\n```\n\nThe new regression even locks this b","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T23:54:18Z","updatedAt":"2026-08-25T23:54:18Z","submittedAt":"2026-08-25T23:54:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95045#pullrequestreview-5025458600"},"data":{"createdAt":"2026-08-25T23:54:18Z","occurredAt":"2026-08-25T23:54:18Z","pullRequest":{"createdAt":"2026-08-25T21:08:47Z","id":"PR_kwDOPRF1G88AAAABA_uYlw","mergedAt":null,"number":95045,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): preserve profile across worktree handoffs","updatedAt":"2026-08-25T23:55:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/95045"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T23:54:18Z","updatedAt":"2026-08-25T23:54:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/95045#pullrequestreview-5025458600","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK4xv-A","kind":"review","label":"PRR_kwDOPRF1G88AAAABK4xv-A","summary":"Re-reviewed exact head `773e40906e7e3969bb019b8d625d9df464d28ac8` against its first parent / previously reviewed head `8bdb95ba12ed13980f570934687e04f403d6f4b0`, exact live `main` `f751a8c5467c41500e505d90cb0eb8b70929080f`, GitHub's synthetic merge `2bdb087bc3141f7e11be7173fa602429628a3b8f`, the one overlapping test path on both parents, and current #93946 head `34087e6bd4b29c5aa7e0b8c6ab28fc0c68616c4c`.\n\n### Current-main recomposition gate is closed\n\nThis is the merge object the previous review requested, not a rewritten carrier. `773e40906` has exact parents `8bdb95ba1` and live main `f751a8c54`. GitHub's synthetic merge has parents `f751a8c54` + `773e40906` and the same tree `a19f9e433f0bb87a3d0b90ecb4fb931f6d7232f7`, so there is no additional unresolved composition beyond this head.\n\nThe file-set claim is exact:\n\n- the upstream side imports the 28 intervening main commits across 59 files;\n- the PR side remains the 49-file scheduled-run change;\n- the only path in both sets is `tests/tools/test_deferral_fixes.py`.\n\nI read that file at both parents and at the merge head. The current tree preserves both disjoint changes:\n\n- this PR's registry-backed `test_authoritative_barrier_appl","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T00:23:29Z","updatedAt":"2026-08-26T00:23:29Z","submittedAt":"2026-08-26T00:23:29Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93977#pullrequestreview-5025591288"},"data":{"createdAt":"2026-08-26T00:23:29Z","occurredAt":"2026-08-26T00:23:29Z","pullRequest":{"createdAt":"2026-08-24T15:24:37Z","id":"PR_kwDOPRF1G88AAAABA0ZyvQ","mergedAt":null,"number":93977,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(cron): add trusted scheduled-run hooks","updatedAt":"2026-08-27T19:42:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/93977"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T00:23:29Z","updatedAt":"2026-08-26T00:23:29Z","url":"https://github.com/NousResearch/hermes-agent/pull/93977#pullrequestreview-5025591288","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK5bstA","kind":"review","label":"PRR_kwDOPRF1G88AAAABK5bstA","summary":"Qualification correction to [review 5026257348](https://github.com/NousResearch/hermes-agent/pull/95179#pullrequestreview-5026257348): the required project authority key must include **profile**, not only connection + backend project ID.\n\n`projects.db` is per-profile, and the submitted code already resolves a profile independently in `profileForConnectionId()`. Therefore the immutable identity needs to be at least:\n\n```ts\ntype ProjectAddress = {\n  connectionId: string\n  profile: string          // exact backend profile namespace\n  backendProjectId: string\n}\n```\n\nIf a Desktop alias routes through a separate backend namespace, carry the full route descriptor (`targetProfile`) alongside that address rather than re-deriving it later. Stamp this identity when `projects.tree` / `projects.create` returns, persist it with the row, and make every project effect consume it directly.\n\nThis also means the reciprocal-local repair is **not** safely completed by merely deleting `conn.kind !== 'local'` and `connectionId !== 'local'`. When chrome is remote, the local registry row alone does not identify which local profile owns the project. The local tree/session slice and `+` path must use the pro","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T02:46:22Z","updatedAt":"2026-08-26T02:46:22Z","submittedAt":"2026-08-26T02:46:22Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95179#pullrequestreview-5026278580"},"data":{"createdAt":"2026-08-26T02:46:22Z","occurredAt":"2026-08-26T02:46:22Z","pullRequest":{"createdAt":"2026-08-26T02:11:15Z","id":"PR_kwDOPRF1G88AAAABBBOXMA","mergedAt":null,"number":95179,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(desktop): projects own their gateway; sessions inherit","updatedAt":"2026-08-26T05:07:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/95179"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T02:46:22Z","updatedAt":"2026-08-26T02:46:22Z","url":"https://github.com/NousResearch/hermes-agent/pull/95179#pullrequestreview-5026278580","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK5vXdw","kind":"review","label":"PRR_kwDOPRF1G88AAAABK5vXdw","summary":"## Exact-head S1 review — no code blocker found\n\nReviewed exact head `5b97ff8351deeaa9100229135e8201ca7eba9abf` against its merge-base parent `f751a8c5467c41500e505d90cb0eb8b70929080f` and live `main@b742be711a15aad543a871d2d3022277b70dc551`. This is a materially new object: the submitted review history ends at `79cf0c67…`, while `5b97ff8…` is a one-commit current-main rematerialization with the runtime packaging repair included.\n\nLive topology is now **1 ahead / 1 behind** current main. The sole newer main commit `b742be7…` changes only `apps/desktop/DESIGN.md` and `apps/desktop/src/components/ui/tooltip.tsx`; it is path-disjoint from all ten S1 files. I therefore found no semantic conflict hidden by the one-commit drift.\n\n### What I verified\n\nThe exact object closes the full chain of earlier S1 findings rather than merely moving them:\n\n1. **Concrete immutability survives both runtimes.** Python compiles into frozen dataclasses, tuples/frozensets, and mapping proxies. TypeScript compiles into recursively frozen null-prototype records/arrays; mutation attempts on the domain graph, required capabilities, sink broker, and packaged bytes are covered and cannot alter a later decision.\n","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T03:51:57Z","updatedAt":"2026-08-26T03:51:57Z","submittedAt":"2026-08-26T03:51:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95101#pullrequestreview-5026600823"},"data":{"createdAt":"2026-08-26T03:51:57Z","occurredAt":"2026-08-26T03:51:57Z","pullRequest":{"createdAt":"2026-08-25T23:08:18Z","id":"PR_kwDOPRF1G88AAAABBAb8AQ","mergedAt":null,"number":95101,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(authority): manifest schema + compiler + conformance harness","updatedAt":"2026-08-31T16:26:11Z","url":"https://github.com/NousResearch/hermes-agent/pull/95101"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T03:51:57Z","updatedAt":"2026-08-26T03:51:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/95101#pullrequestreview-5026600823","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK6AO0w","kind":"review","label":"PRR_kwDOPRF1G88AAAABK6AO0w","summary":"Re-reviewed exact head `eb532a36a2e85f69566ffeda5fb5d6157ce9d05a` against live `main@b742be711a15aad543a871d2d3022277b70dc551`. This is materially new repository context, not a repeat of the `5cb48608…` review: the current head is a two-commit stack over merge-base `f751a8c…`, with #95101’s exact S1 object `5b97ff8351deeaa9100229135e8201ca7eba9abf` as the first commit and one process-composition commit on top. Current `main` is one path-disjoint Desktop tooltip commit ahead.\n\nI checked the exact 26-file `5b97ff8… → eb532a3…` process delta, the full `tools/child_process_authority.py` policy/broker path, the focused authority tests, the current relay execution path, the prior three #93925 reviews, #95028 / #93943 / #83565, #95101, #92931, and exact-head hosted evidence.\n\n### What held up\n\nThe broker-level hardening from the prior reviews is still sound on this head. Override admission remains positive-policy rather than “anything not secret-shaped”; safe-baseline inheritance does not imply mutation authority; forwarded wrapper spellings are reduced to their effective authority; multiplex execution without an installed profile scope fails closed; and the spawn receipt computes its pol","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T04:49:45Z","updatedAt":"2026-08-26T04:49:45Z","submittedAt":"2026-08-26T04:49:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93925#pullrequestreview-5026877139"},"data":{"createdAt":"2026-08-26T04:49:45Z","occurredAt":"2026-08-26T04:49:45Z","pullRequest":{"createdAt":"2026-08-24T14:08:23Z","id":"PR_kwDOPRF1G88AAAABAzufwA","mergedAt":null,"number":93925,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[Phase G] Bind child processes to typed authority","updatedAt":"2026-08-27T23:58:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/93925"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T04:49:45Z","updatedAt":"2026-08-26T04:49:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/93925#pullrequestreview-5026877139","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK6phSQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABK6phSQ","summary":"Reviewed exact head `dbdda7ff9943ab442a9620a3e18ae90de5c182b6` against live `main@d1627d51338a4290cf2168e064fff78f26bae308`.\n\nThere is strong work in the materializer itself. The root pass is deliberately source-aware instead of blindly overwriting dependency state; it preserves recognized newer Electron input, scopes the PostCSS → Nano ID 3.x repair while retaining Nano ID 6, verifies the internal extractor edge, and keeps the Linux x64/ARM64 packaged-layout invariant. The standalone `website` graph is also treated as a separate lock authority, which is exactly the right boundary. Contributor provenance for #85916/@hdy2001, #89335/@SovereignSignal, #89479/@schmitzi8, #90486/@orcaspainting-dev, #92573/#92543/@mrxmoex, and the #91042 chronology is preserved in the code/comments rather than erased during consolidation.\n\nI do have two merge blockers on the submitted object, plus one merge-order correction.\n\n**P0 — this exact PR still does not contain the dependency remediation.** `base..head` is only three control-plane paths:\n\n- `.github/scripts/materialize_pr91906_dependency_security.py`\n- `.github/scripts/materialize_pr91906_website_nanoid.py`\n- `.github/workflows/restack-dependenc","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T06:57:43Z","updatedAt":"2026-08-26T06:57:43Z","submittedAt":"2026-08-26T06:57:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91906#pullrequestreview-5027553609"},"data":{"createdAt":"2026-08-26T06:57:43Z","occurredAt":"2026-08-26T06:57:43Z","pullRequest":{"createdAt":"2026-08-21T23:30:40Z","id":"PR_kwDOPRF1G88AAAABAnCSyg","mergedAt":null,"number":91906,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(deps): close standalone Nano ID gap and Linux ARM64 package layout","updatedAt":"2026-08-28T12:45:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/91906"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T06:57:43Z","updatedAt":"2026-08-26T06:57:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/91906#pullrequestreview-5027553609","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK6RT4w","kind":"review","label":"PRR_kwDOPRF1G88AAAABK6RT4w","summary":"Reviewed exact head `fcb219fa9a846b34052e6d86b0559800c3776b5a` against current `main@5259f565d0e373fd0bb769eb8fcfca2d7efb9bf3` (this head is currently 1 ahead / 23 behind, mergeable). I read the six-file diff plus the full approval and dispatch paths around it, the current #35357 history, the earlier tool-permission RFC #21849, the related approval-scope issue #46544, the cross-surface protocol issue #51291, and the overlapping command-axis work in #92437. Exact-head hosted CI is green: CI 32932198965, Docker 32932198478, Nix 32932198441.\n\nThere is a lot that is structurally right here: the policy is evaluated after Tool Search unwrap so it sees the real underlying tool; the sequential/concurrent agent paths share the same authorization funnel; direct `handle_function_call` callers get a second entry point without double-firing the normal agent path; explicit `deny` and `ask` intentionally sit above yolo; and the new tests pin the basic matching/single-fire behavior. That is the correct part of the shape.\n\nI see two authority blockers before this is safe to merge.\n\n## BLOCKER 1 — `ask` approval is keyed only by tool name, so a benign approval can authorize a later, different mutati","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T05:50:07Z","updatedAt":"2026-08-26T05:50:07Z","submittedAt":"2026-08-26T05:50:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95247#pullrequestreview-5027156963"},"data":{"createdAt":"2026-08-26T05:50:07Z","occurredAt":"2026-08-26T05:50:07Z","pullRequest":{"createdAt":"2026-08-26T04:57:53Z","id":"PR_kwDOPRF1G88AAAABBB7Rbg","mergedAt":null,"number":95247,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(approvals): per-tool allow/ask/deny policy — non-shell tools finally gated (Perplexity Computer-inspired, #35357)","updatedAt":"2026-08-26T05:50:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/95247"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T05:50:07Z","updatedAt":"2026-08-26T05:50:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/95247#pullrequestreview-5027156963","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK7CAiw","kind":"review","label":"PRR_kwDOPRF1G88AAAABK7CAiw","summary":"Re-reviewed exact head `81d4cbecc189cf181ece453d6d6d90dfbf077dee` after the follow-up to my review on `57729bee8f311853577b2dcbee247d431a038989`. I re-read the complete three-file diff, the parser/renderer/validator path, the expanded adversarial tests, the docs, issue #95065, current `main`, exact-head workflow state, and the live interlocks (#68791, #85318, #90236, #85640).\n\n### The two prior blockers are closed\n\n1. **Malformed string options now fail closed as one class.** `signature_prefix` is routed through `_opt_str()` like the other string-valued fields. More importantly, the repair did not stop at that one key: `TestMalformedBlockNeverRaises` drives every string option through parse-time rejection, `connect()` rejection for static routes, direct dynamic-route rejection, and real HTTP `401` behavior. That closes the original `startswith()` TypeError/500 escape rather than papering over one call site.\n\n2. **Template shape is now deterministic.** `_parse_signature_spec()` requires exactly one `{body}` before `_render_signed_message()` is admitted. The new regressions reject repeated-body forms at parse/startup and separately prove repeated `{timestamp}` replacement is well-def","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T07:49:34Z","updatedAt":"2026-08-26T07:49:34Z","submittedAt":"2026-08-26T07:49:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95068#pullrequestreview-5027954827"},"data":{"createdAt":"2026-08-26T07:49:34Z","occurredAt":"2026-08-26T07:49:34Z","pullRequest":{"createdAt":"2026-08-25T21:52:19Z","id":"PR_kwDOPRF1G88AAAABBAAepA","mergedAt":null,"number":95068,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(gateway): route-configurable webhook signature schemes","updatedAt":"2026-08-26T08:03:02Z","url":"https://github.com/NousResearch/hermes-agent/pull/95068"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T07:49:34Z","updatedAt":"2026-08-26T07:49:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/95068#pullrequestreview-5027954827","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK8_kjg","kind":"review","label":"PRR_kwDOPRF1G88AAAABK8_kjg","summary":"Reviewed exact head `b62b8747369a320cf641230769cdfa9fdf8c0d5d` against live `main@20d33e385aae0181371c0c080ec8eff7027a35c9`. This branch is currently 2 commits ahead / 10 behind its merge base `d22e2b9f6ecd4b0efde00a426e4f40896b7598ae`; the intervening main paths are disjoint from this PR's six files, so the drift is not itself a semantic blocker, but the final deletion object still needs a fresh rebase + exact-head evidence. There were no prior reviews or PR comments when I started.\n\nThere is a lot of careful deletion engineering here. In particular: the tree walk does not follow symlinks, it rejects mount/device escapes and immutable/read-only trees, Git work is preserved unless clean and remote-reachable, activity is checked twice, the top-level path dev/inode is revalidated immediately before mutation, removal is bounded/oldest-first, and the report refuses to call an eligible backlog healthy. Those are the right instincts for a workspace-reclamation surface. The live-apply/second-pass evidence in the PR body is also useful operational evidence without being treated as proof of every target platform.\n\nI found two P1 blockers at the authority boundary.\n\n## 1. The new retention o","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T11:50:06Z","updatedAt":"2026-08-26T11:50:06Z","submittedAt":"2026-08-26T11:50:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95501#pullrequestreview-5030012046"},"data":{"createdAt":"2026-08-26T11:50:06Z","occurredAt":"2026-08-26T11:50:06Z","pullRequest":{"createdAt":"2026-08-26T11:25:47Z","id":"PR_kwDOPRF1G88AAAABBEReyQ","mergedAt":null,"number":95501,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(kanban): fail closed on stale workspace retention","updatedAt":"2026-08-26T11:50:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/95501"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T11:50:06Z","updatedAt":"2026-08-26T11:50:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/95501#pullrequestreview-5030012046","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK8SQeQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABK8SQeQ","summary":"Blocking exact-head update for `7320983abd88ca05cb706f6582114b400413ccdd`.\n\nThe previously reviewed secure-worker boundary remains materially intact on this head. I found one deterministic repository-gate failure that must be repaired before the hosted matrix is authorized.\n\n## Blocker: every product commit uses an unmapped local author email\n\nThe four non-merge commits in this PR are:\n\n- `a53b6fbbaab617208976fe66d910cfb77bafa391`\n- `b18e4f55306f5f4ee52e12e6e612bb0fb956cfa6`\n- `ec76223e01711306a900ed51abadcd5c80c9ac2a`\n- `2a0c95aa0c29bbaa713e44a08b103ba213428081`\n\nAll four use `mikedemott@Mikes-Mac-mini.local`. This exact head has no `contributors/emails/mikedemott@Mikes-Mac-mini.local`, and the repository contains no legacy mapping for that email.\n\nAt this head, `scripts/audit_pr_attribution.py` scans `git log $(git merge-base origin/main HEAD)..HEAD --format=%ae --no-merges`; every email that is not a bot/known skip or an ID-based GitHub noreply address must resolve through `contributors/emails/<email>` or the frozen legacy map. `mikedemott@Mikes-Mac-mini.local` satisfies none of the skip rules, so the script will report it as unmapped and exit 1. The hosted contributor check wil","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T10:20:00Z","updatedAt":"2026-08-26T10:20:00Z","submittedAt":"2026-08-26T10:20:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93182#pullrequestreview-5029269625"},"data":{"createdAt":"2026-08-26T10:20:00Z","occurredAt":"2026-08-26T10:20:00Z","pullRequest":{"createdAt":"2026-08-23T19:42:15Z","id":"PR_kwDOPRF1G88AAAABAuSWZQ","mergedAt":null,"number":93182,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(security): add sanitized remote worker boundary","updatedAt":"2026-08-28T08:10:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/93182"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T10:20:00Z","updatedAt":"2026-08-26T10:20:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/93182#pullrequestreview-5029269625","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK8ZLvA","kind":"review","label":"PRR_kwDOPRF1G88AAAABK8ZLvA","summary":"## Exact-head verification — terminal evidence is authority, payload validity is not\n\nReviewed exact head `fc478893761ba2092258a030922a215748fcf322` against exact base `1fe0f2f3ac9748ce799272eb93bee2937b5ab802` and current `main@ad7b7255ab25f56495c1f833c6c94502a0dad1a5`.\n\nThe submitted object is one commit / two paths, **1 ahead / 4 behind** current main. The four intervening main commits are CUA, cron-skew, and canonical-session-title work; none touches `agent/chat_completion_helpers.py` or `tests/run_agent/test_partial_stream_finish_reason.py`. The review is therefore about this exact semantic delta, not merge-base noise.\n\n### Verified invariant\n\nThe change closes the dangerous gap at the right boundary:\n\n> Parseable or repairable tool arguments prove payload shape. They do not prove that the provider completed the turn or authorized execution.\n\nBefore this patch, an iterator EOF with `finish_reason is None` could carry valid JSON, survive argument repair, fall through to `finish_reason or \"stop\"`, and return an executable tool call. The new predicate is deliberately independent of JSON validity: any accumulated tool-call payload without explicit terminal evidence returns through","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T10:31:06Z","updatedAt":"2026-08-26T10:31:06Z","submittedAt":"2026-08-26T10:31:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95404#pullrequestreview-5029383100"},"data":{"createdAt":"2026-08-26T10:31:06Z","occurredAt":"2026-08-26T10:31:06Z","pullRequest":{"createdAt":"2026-08-26T08:52:45Z","id":"PR_kwDOPRF1G88AAAABBDOLOw","mergedAt":null,"number":95404,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(streaming): require terminal evidence for tool calls","updatedAt":"2026-08-26T14:04:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/95404"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T10:31:06Z","updatedAt":"2026-08-26T10:31:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/95404#pullrequestreview-5029383100","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK9jo4g","kind":"review","label":"PRR_kwDOPRF1G88AAAABK9jo4g","summary":"Reviewed exact head `cb509d37883f10c4935ec3632398be75e655b4da` against live `main@d0351e32309bd68a1012c302157947b955323fca`, including the full four-file diff, the worktree add/re-entry/removal paths, current cleanup semantics inherited from #88129, exact-head workflow state, the existing automated comment, and the overlapping #90529/#95501 branches. The branch is 1 commit ahead / 28 behind merge base `98e87ac886a0b53e2ff80ac767df5283bf7d17ed`; those 28 main commits are path-disjoint from this PR's four files, so the stale base is evidence debt rather than a newly observed semantic collision.\n\nThere is good work here. Exact lock reasons, preserve-on-unknown/foreign ownership, one repo-scoped lifecycle lock for Hermes transitions, and retaining Git's no-force dirty/relock guard are the right primitives. This also preserves the important #88129/#88051 lineage: @Cossackx's original worktree-reaper semantics and the later kill-before-remove/no-`--force` TOCTOU hardening are not weakened.\n\nI do have one P1 defect class with two concrete manifestations: **the worktree becomes visible before its durable ownership proof exists.**\n\n## P1 — lifecycle ownership is installed after publication,","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T12:54:25Z","updatedAt":"2026-08-26T12:54:25Z","submittedAt":"2026-08-26T12:54:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95500#pullrequestreview-5030602978"},"data":{"createdAt":"2026-08-26T12:54:25Z","occurredAt":"2026-08-26T12:54:25Z","pullRequest":{"createdAt":"2026-08-26T11:24:31Z","id":"PR_kwDOPRF1G88AAAABBEQ94g","mergedAt":null,"number":95500,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(kanban): lease active task worktrees","updatedAt":"2026-08-27T00:18:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/95500"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T12:54:25Z","updatedAt":"2026-08-26T12:54:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/95500#pullrequestreview-5030602978","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABK9LdKg","kind":"review","label":"PRR_kwDOPRF1G88AAAABK9LdKg","summary":"Current-head semantic review on `1807e7489eb140ea32299641e05d125073deedd1`.\n\nThe trust split is correct, upstream TLS verification remains intact, the keep-alive transport is the same proven implementation carried from #94259, the uv fixture is now architecture-aware, candidate/release authority is separated correctly, and contributor lineage is preserved in the commits. The existing exact-head installer witness, Docker, Nix, and substantive CI jobs are valid receipts for this object. Current `main` is 253 commits beyond the merge base, but the eight changed paths plus `scripts/install.sh` and `scripts/dev-sandbox.sh` have not moved since the split, so commit count alone does not justify a churn restack.\n\nOne acceptance blocker remains: the PR fixes two flag probes and closes the Install **and Update** failure class, but the path-filtered exact-head lane executes only the installer route with browser inclusion forced. That successful run never calls either fixed probe. Today’s scheduled main run `32943385209` also confirmed that `update (v2026.8.19)` is a live failing member of this class, while that release’s installer does support `--skip-browser`.\n\nRequired closure: run a durabl","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T12:14:08Z","updatedAt":"2026-08-26T12:14:08Z","submittedAt":"2026-08-26T12:14:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94746#pullrequestreview-5030206762"},"data":{"createdAt":"2026-08-26T12:14:08Z","occurredAt":"2026-08-26T12:14:07Z","pullRequest":{"createdAt":"2026-08-25T12:42:04Z","id":"PR_kwDOPRF1G88AAAABA76OWw","mergedAt":null,"number":94746,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(sandbox): restore npm installer trust and exact-head E2E","updatedAt":"2026-08-27T19:09:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/94746"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T12:14:07Z","updatedAt":"2026-08-26T12:14:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/94746#pullrequestreview-5030206762","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKaFe6A","kind":"review","label":"PRR_kwDOPRF1G88AAAABKaFe6A","summary":"Reviewed exact head `29244b7c2e3dc5680780533b1c5f7eaa21b8b43a` against exact/current `main` `fcbd1076a93841fa88855acce810e342a5b78101` (the PR is one commit ahead, zero behind). The direction is right: carrying `requested_provider`, recognizing named custom aliases that resolve to runtime `custom`, and re-resolving `key_env` through the active `secret_scope` close a real multiplex credential-routing hole. The background-review worker already receives the parent ContextVars through `propagate_context_to_thread`, so scoped lookup is available at this boundary.\n\nI found two authority gaps that still block the stated security invariant.\n\n### 1. `api_key` without `key_env` still forwards the already-expanded process-global credential\n\nThe new scoped re-resolution only runs when `task_key_env` is present. Otherwise `_resolve_review_runtime()` still does:\n\n```py\ntask_api_key = str(task.get(\"api_key\", \"\")).strip() or None\n```\n\nand then passes that value as `explicit_api_key` to `resolve_runtime_provider()`.\n\nThat is the same stale-provenance value this PR is trying to stop trusting. `load_config_readonly()` can already have expanded `api_key: ${LITELLM_MASTER_KEY}` from the process environ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T12:54:54Z","updatedAt":"2026-08-21T12:54:54Z","submittedAt":"2026-08-21T12:54:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91509#pullrequestreview-4993408744"},"data":{"createdAt":"2026-08-21T12:54:54Z","occurredAt":"2026-08-21T12:54:54Z","pullRequest":{"createdAt":"2026-08-21T12:37:13Z","id":"PR_kwDOPRF1G88AAAABAjJicQ","mergedAt":null,"number":91509,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(background-review): preserve profile-scoped credentials","updatedAt":"2026-08-22T19:44:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/91509"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T12:54:54Z","updatedAt":"2026-08-21T12:54:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/91509#pullrequestreview-4993408744","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKaghBQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKaghBQ","summary":"Reviewed exact salvage head `597bc49c6511447306f9d0931cf9505593d3f585` against exact/current `main` `fcbd1076a93841fa88855acce810e342a5b78101`. This branch is cleanly 11 commits ahead / 0 behind; exact-head CI (`32487504775`), Docker (`32487504095`), and Nix (`32487504189`) are green.\n\nThe five salvage follow-ups are real improvements. In particular, binding authority at actual controller registration rather than merely at transport authentication fixes the feature-on/no-extension fallback bug, and moving broker lock-taking operations off the aiohttp loop closes the event-loop stall path. I also verified this is a genuine salvage rather than unattributed duplication: the six #85351 commits from @abundantbeing are preserved, with the new review follow-ups layered on top.\n\nThere are still four merge blockers. Two are unresolved gates from the original #85351 review, and two are additional lifecycle/authority defects visible in the new current-main salvage.\n\n### 1. HTTP artifact ownership still cannot compose with broker artifact ownership\n\n`artifact_scope_key()` hashes `(principal_id, session_id, transport_family)`. The HTTP upload/download handlers still use `_ArtifactScopeFacade(pr","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T13:45:08Z","updatedAt":"2026-08-21T13:45:08Z","submittedAt":"2026-08-21T13:45:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91535#pullrequestreview-4993851653"},"data":{"createdAt":"2026-08-21T13:45:08Z","occurredAt":"2026-08-21T13:45:08Z","pullRequest":{"createdAt":"2026-08-21T13:33:51Z","id":"PR_kwDOPRF1G88AAAABAjho4Q","mergedAt":"2026-08-21T17:03:46Z","number":91535,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(browser): authenticated extension controller (salvage #85351)","updatedAt":"2026-08-22T07:18:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/91535"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T13:45:08Z","updatedAt":"2026-08-21T13:45:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/91535#pullrequestreview-4993851653","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKamBbQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKamBbQ","summary":"Reviewed exact head `57f567adf3bc9acfd1ad9547592f710c98331cde`.\n\n**Code verdict: no blocking findings.**\n\nThe production trace supports the narrow predicate:\n\n- merge-into-tail preserves the assistant carrier's own normalized `finish_reason` and `tool_calls`;\n- `role=\"assistant\"` + merged-summary classification + `finish_reason=\"stop\"` + no `tool_calls` therefore identifies completed historical assistant output rather than a live request;\n- pending carrier tool calls, a later real user turn, and a distinct later assistant tool-call row remain actionable.\n\nThe regression matrix covers both sides of that boundary. Provider-native stop reasons are normalized before this row is persisted, so the `\"stop\"` check is not Anthropic-specific. Exact-head CI is green across CI, Docker Build/Test/Publish, and Nix flake check.\n\n**Merge disposition:** #91516 is a content-identical cherry-pick of both commits onto current `main` (`c481a5f4f345eef3ee9435e632a440fa4ed987a8`) with @abundantbeing's authorship preserved; both changed-file blob SHAs are identical. This head is now 263 commits behind current `main`. Merge exactly one vehicle. Given live state, #91516 is the current-base integration copy;","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T13:52:53Z","updatedAt":"2026-08-21T13:52:53Z","submittedAt":"2026-08-21T13:52:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85394#pullrequestreview-4993941869"},"data":{"createdAt":"2026-08-21T13:52:53Z","occurredAt":"2026-08-21T13:52:53Z","pullRequest":{"createdAt":"2026-08-13T15:34:03Z","id":"PR_kwDOPRF1G87-qgJ4","mergedAt":null,"number":85394,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(agent): guard merged assistant compaction handoffs","updatedAt":"2026-08-21T17:03:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/85394"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T13:52:53Z","updatedAt":"2026-08-21T13:52:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/85394#pullrequestreview-4993941869","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKaodZg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKaodZg","summary":"Reviewed exact head `b64df38f07ac2c84703e51d4ce9ad7d9b87187b3` against the production compaction assembly path, complementary PR #85394, all changed client surfaces, current `main` (`fcbd1076a93841fa88855acce810e342a5b78101`), and exact-head CI. CI, Docker, and Nix are green on this head.\n\n**Two blocking correctness findings — do not merge this head:**\n\n1. **The display projector conflates compaction content with authentic carrier-owned state.** The compressor deliberately uses the first protected-tail row — including a bare assistant `tool_calls` row — as the default merged-summary carrier. A content-only unwrap can therefore return `None` and drop the live invocation entirely; when prior text exists, the blanket field strip still removes its live call, finish state, and reasoning. This directly conflicts with #85394’s invariant that a merged carrier with pending `tool_calls` remains live, and can leave API/TUI/run-completion projections with orphaned tool results.\n2. **Session-preview SQL is broader than the canonical classifier.** Matching only the shared long-form introduction suppresses a real user message that begins with that introduction but diverges before the full known p","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T13:56:05Z","updatedAt":"2026-08-21T13:56:05Z","submittedAt":"2026-08-21T13:56:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85442#pullrequestreview-4993981798"},"data":{"createdAt":"2026-08-21T13:56:05Z","occurredAt":"2026-08-21T13:56:05Z","pullRequest":{"createdAt":"2026-08-13T16:55:07Z","id":"PR_kwDOPRF1G87-s47h","mergedAt":null,"number":85442,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(clients): hide compaction scaffolding across surfaces","updatedAt":"2026-08-21T17:03:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/85442"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T13:56:05Z","updatedAt":"2026-08-21T13:56:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/85442#pullrequestreview-4993981798","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKAsY3w","kind":"review","label":"PRR_kwDOPRF1G88AAAABKAsY3w","summary":"# Code Review — PR #83787\n\n**Review of:** `security/restricted-surface-write-guard` @ `3815f852ba3` (rebuilt head), base `main`.\n**Files:** `agent/file_safety.py` (+191), `tools/file_tools.py` (+14/−1), `tests/agent/test_file_safety_messaging_write.py` (+681).\n\n## Verdict: Approve with two non-blocking notes\n\nThe implementation is correct, the author's claims verify against the head, and the guard is fail-closed on every path it covers. One coverage observation (guard placement) and one UX note below — neither blocks merge.\n\n## Claims verified against the head (not relayed)\n\n- **Roots resolve per call from the live home (P1, egilewski).** `_execution_trusting_prefixes` (file_safety.py:115) calls `get_hermes_home()` per invocation (context override → `HERMES_HOME` env → default) plus `get_process_hermes_home()`, the shared default root, and every `<root>/profiles/*` sibling. Never frozen at import. Verified.\n- **Terminal/process/browser surfaces out of scope by design, documented.** Module comment states it is defense-in-depth, not a boundary; the terminal tool can still bypass. Honest and correct scope.\n- **Executor-boundary P1 covered; fail-open not reachable (andrexibiza).** `pro","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-18T23:02:27Z","updatedAt":"2026-08-18T23:02:27Z","submittedAt":"2026-08-18T23:02:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/83787#pullrequestreview-4966783199"},"data":{"createdAt":"2026-08-18T23:02:27Z","occurredAt":"2026-08-18T23:02:27Z","pullRequest":{"createdAt":"2026-08-11T08:54:56Z","id":"PR_kwDOPRF1G879az0L","mergedAt":null,"number":83787,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tools): block messaging-platform writes to execution-trusting roots","updatedAt":"2026-08-20T21:54:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/83787"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-18T23:02:27Z","updatedAt":"2026-08-18T23:02:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/83787#pullrequestreview-4966783199","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKb-r9g","kind":"review","label":"PRR_kwDOPRF1G88AAAABKb-r9g","summary":"**Blocking review finding:** the causal/provenance record needs correction before merge.\n\nThe base test already emitted `tick 0` immediately: its loop was `print(...); sleep(0.04)`. #78588 preserves that same print-before-sleep order. This patch therefore does **not** newly eliminate a sleep-before-first-tick race, and the PR body's duplicate comparison is inaccurate. The effective de-flake is the larger initial/idle observation budget (`0.1s` → `0.25s`) plus a longer heartbeat sequence whose ~400 ms runtime still exceeds the idle timeout.\n\nPlease correct the inline comment and PR body so the causal record and duplicate topology say that precisely. The implementation otherwise preserves the invariant. At exact head `870f8991d57ee45e592c21d305b5ed200aaa1a5b`, current CI slice 5 passed `tests/tools/test_transcription_tools.py` 51/51 under 8-way load; the overall CI run still had one slice in progress at review time.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T16:31:49Z","updatedAt":"2026-08-21T16:31:49Z","submittedAt":"2026-08-21T16:31:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91652#pullrequestreview-4995394550"},"data":{"createdAt":"2026-08-21T16:31:49Z","occurredAt":"2026-08-21T16:31:49Z","pullRequest":{"createdAt":"2026-08-21T16:23:03Z","id":"PR_kwDOPRF1G88AAAABAkvA6A","mergedAt":null,"number":91652,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"test(stt): idle-timeout progress test no longer races process spawn (salvage #78221)","updatedAt":"2026-08-21T16:33:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/91652"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T16:31:49Z","updatedAt":"2026-08-21T16:31:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/91652#pullrequestreview-4995394550","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKB3PSQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKB3PSQ","summary":"Reviewed exact head `3e099f3e00de49364469e892ae96b44b8ec7b381` against base `74f99af470ae8ce47f0903cf431d106cecbd37f2`, including the scheduled-workflow trust boundary, the full eligibility/merge script, current-main drift, exact-head Actions state, the target fleet shape, the existing js-autofix automation precedent, and the adjacent multi-agent convergence/authority work.\n\nThe latency problem is real, but I do not think this merge-authority implementation is safe to enable yet. The current script has several class-level gaps where the prose policy is stronger than the machine-enforced policy.\n\n## Blocking 1: the automation does not enforce the policy's test-evidence or unresolved-thread gates\n\nSection 3 says eligibility requires:\n\n- explicit test evidence with command/environment/pass-fail-skip counts **referencing the PR head SHA**; and\n- **zero unresolved review threads**.\n\n`scripts/ci/fast-track-merge.sh` never reads the PR body/comments for evidence, never binds evidence to a head SHA, and never queries review threads. The metadata query includes `commits`, but that field is not used. A PR can therefore be auto-merged with `MERGEABLE/CLEAN`, <=400 changed lines, and the fleet","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T02:56:58Z","updatedAt":"2026-08-19T02:56:58Z","submittedAt":"2026-08-19T02:56:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89644#pullrequestreview-4968009545"},"data":{"createdAt":"2026-08-19T02:56:58Z","occurredAt":"2026-08-19T02:56:58Z","pullRequest":{"createdAt":"2026-08-19T02:21:29Z","id":"PR_kwDOPRF1G88AAAABAOYXWw","mergedAt":null,"number":89644,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"🤖 Fast-track merge for green tabjoy-fleet PRs (SLA)","updatedAt":"2026-08-30T22:16:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/89644"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T02:56:58Z","updatedAt":"2026-08-19T02:56:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/89644#pullrequestreview-4968009545","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKB62Rg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKB62Rg","summary":"Rereviewed exact head `a84b63b9d3e736a878b179af784f521d310451ea` against current base `e02d1e41fc6104187e20af9eac8b2820566e3508`, including the single commit since my review of `7aa43776afc46ddf6cab44d8055ab359631422a2`.\n\nTwo previous findings are cleared at this head:\n\n- The process-global `HERMES_STATE_*` pinning is gone; the named-profile seam now passes an immutable per-instance DSN.\n- PostgreSQL search now uses `(active = 1 OR compacted = 1)`, restoring the SQLite visibility contract for compaction-archived rows.\n\nThe direct reconnect-and-replay inside `_PostgresCursor.execute()` is also removed. However, the physical-store and transaction-boundary invariants are not fully closed yet. I still see four merge blockers.\n\n### 1. Default-profile read-only dashboard paths still open SQLite\n\n`hermes_cli.web_server._open_session_db_for_profile(None, read_only=True)` now detects a configured PostgreSQL DSN, but then returns `SessionDB(read_only=True)`.\n\n`SessionDB.__init__` only attempts the PostgreSQL backend under:\n\n```python\nif not read_only and db_path is None:\n```\n\nSo the helper detects PostgreSQL and then immediately selects the constructor mode that bypasses it. The result is st","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T03:13:01Z","updatedAt":"2026-08-19T03:13:01Z","submittedAt":"2026-08-19T03:13:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88889#pullrequestreview-4968068678"},"data":{"createdAt":"2026-08-19T03:13:01Z","occurredAt":"2026-08-19T03:13:01Z","pullRequest":{"createdAt":"2026-08-18T03:48:14Z","id":"PR_kwDOPRF1G88AAAABAGBMXQ","mergedAt":null,"number":88889,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(state): add optional PostgreSQL session/state backend","updatedAt":"2026-08-21T14:40:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/88889"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T03:13:01Z","updatedAt":"2026-08-19T03:13:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/88889#pullrequestreview-4968068678","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKB64MQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKB64MQ","summary":"Reviewed exact head `fc18b956780366e195f37df47dffc9cb855ebb57` against the current `main` tip `5dd15872a6878a19b9b5478b6968b38f48dd311f` (merge base `74f99af470ae8ce47f0903cf431d106cecbd37f2`; this head is currently 5 commits behind / 1 ahead). I inspected the complete diff, the full `_normalize_command_for_detection` ordering, every shared sensitive-path fragment and its redirect/tee/copy/in-place consumers, the new tests, exact-head Actions state, existing review/comment history, and the adjacent file-tool, Windows-normalization, hardline, and profile-config work.\n\nThe reported defect is real, and the patch correctly catches the simple `~//...` and `~/./...` spellings covered by the new tests. Two remaining forms still resolve to the protected resources while passing through this normalizer unchanged or incompletely, so I do not think the security class is closed yet.\n\n## Blocking 1: braced `$HOME` / `$HERMES_HOME` forms remain bypasses\n\nThe protected-path fragments deliberately accept both unbraced and braced variables: `$home` / `${home}` and `$hermes_home` / `${hermes_home}`. But both new substitutions require the slash run to be preceded by `(?:[\\w~.\\-])`. In a braced expansi","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T03:13:10Z","updatedAt":"2026-08-19T03:13:10Z","submittedAt":"2026-08-19T03:13:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89657#pullrequestreview-4968069169"},"data":{"createdAt":"2026-08-19T03:13:10Z","occurredAt":"2026-08-19T03:13:10Z","pullRequest":{"createdAt":"2026-08-19T02:47:49Z","id":"PR_kwDOPRF1G88AAAABAOfd1g","mergedAt":null,"number":89657,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(approval): collapse redundant path separators before sensitive-path detection","updatedAt":"2026-08-19T03:13:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/89657"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T03:13:10Z","updatedAt":"2026-08-19T03:13:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/89657#pullrequestreview-4968069169","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKB6R0A","kind":"review","label":"PRR_kwDOPRF1G88AAAABKB6R0A","summary":"Reviewed exact head `586ba28e733a48a5db215125b2d553a4b7c76680` against base `bdd0a79c6a0ebc2344d5d6913c70bd89fa59c894`, including the recursive sanitizer, the final Gemini-native wire boundary, the new tests, current CI, and the adjacent array-schema work in #69928 / #71874.\n\nThe direction is right: the `$ref`/`const` collapse is a real request-level failure, `oneOf → anyOf` is a defensible Gemini-subset widening, and this belongs at `sanitize_gemini_schema()` because that boundary sees declarations appended after the shared sanitizer. This is complementary to @M1racleShih’s #69928 and @stalker023reg’s #71874, not a duplicate of their array/`items` work.\n\nI found two merge blockers.\n\n## 1. The “never typeless” invariant still has recursive escape paths\n\nThe new final guard only runs for dict inputs. The function still begins with:\n\n```python\nif not isinstance(schema, dict):\n    return {}\n```\n\nand the recursive callers retain that result unconditionally:\n\n```python\nprops[prop_name] = sanitize_gemini_schema(prop_schema)\ncleaned[\"items\"] = sanitize_gemini_schema(value)\n```\n\nSo a legal JSON-Schema boolean node—or any malformed scalar emitted by an MCP server—still becomes a nested `{}`","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T03:10:13Z","updatedAt":"2026-08-19T03:10:13Z","submittedAt":"2026-08-19T03:10:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89673#pullrequestreview-4968059344"},"data":{"createdAt":"2026-08-19T03:10:13Z","occurredAt":"2026-08-19T03:10:13Z","pullRequest":{"createdAt":"2026-08-19T02:59:49Z","id":"PR_kwDOPRF1G88AAAABAOiqvA","mergedAt":null,"number":89673,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gemini): never emit a typeless Schema node, and translate oneOf/allOf","updatedAt":"2026-08-19T03:10:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/89673"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T03:10:13Z","updatedAt":"2026-08-19T03:10:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/89673#pullrequestreview-4968059344","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKB8Wow","kind":"review","label":"PRR_kwDOPRF1G88AAAABKB8Wow","summary":"Blocking comment review on exact head `4a0fd700fa723759e58fc84f6bbe00e64f295108`, reviewed against GitHub’s clean test merge `ad4e313f4b082e9c937bcbe722cbdd5f6476e3c0` into `main@5dd15872a6878a19b9b5478b6968b38f48dd311f`.\n\nThe direction is good: a session-addressed SDK verb is materially safer than Browser Annotator querying whichever Composer DOM happens to be visible, lineage-root normalization is the correct durability domain, and attachment-ID upsert is a useful repair. This is also not duplicate work: it is the first core SDK seam for session-addressed draft mutation. The external Browser Annotator remains the complementary consumer and is not being attributed to core.\n\nFour ownership contracts are still open, though, and each can lose or misroute user context.\n\n## 1. Queue-edit suppression currently drops a concurrent plugin append\n\n`use-composer-draft.ts` now returns without repainting when `queueEditRef.current` is set, but `appendComposerToSessionDraft()` has already appended into the stored session draft. The queued-edit exit path then restores the snapshot captured before the append:\n\n1. Session A has draft `D`.\n2. `beginQueuedEdit()` snapshots `{ draft: D, attachments: ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T03:20:14Z","updatedAt":"2026-08-19T03:20:14Z","submittedAt":"2026-08-19T03:20:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89672#pullrequestreview-4968093347"},"data":{"createdAt":"2026-08-19T03:20:14Z","occurredAt":"2026-08-19T03:20:14Z","pullRequest":{"createdAt":"2026-08-19T02:58:57Z","id":"PR_kwDOPRF1G88AAAABAOib_w","mergedAt":null,"number":89672,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(desktop): session-scoped composer append + pane reveal host doors","updatedAt":"2026-08-28T02:45:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/89672"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T03:20:14Z","updatedAt":"2026-08-19T03:20:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/89672#pullrequestreview-4968093347","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKbCdXA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKbCdXA","summary":"Exact-head closure receipt for `9684cb0f1a9bbadd4d949f6540e8f750c170d876`: the pending hosted verification from my prior re-review is now complete and green on this exact object — CI `32490975594`, Docker `32490974611`, and Nix `32490974609` all concluded `success`.\n\nI have no remaining source-review blocker for the PR's explicitly bounded admission/substrate scope. The earlier authority findings are closed by the fail-closed legacy envelope, explicit-missing-plan refusal, and unknown-key rejection. This does not promote the slice into #91277 Phase-2 physical enforcement; stage-aware installer/update/Desktop consumption and real deployment-kind E2E remain downstream architecture work.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T14:34:59Z","updatedAt":"2026-08-21T14:34:59Z","submittedAt":"2026-08-21T14:34:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91316#pullrequestreview-4994407772"},"data":{"createdAt":"2026-08-21T14:34:59Z","occurredAt":"2026-08-21T14:34:59Z","pullRequest":{"createdAt":"2026-08-21T05:19:58Z","id":"PR_kwDOPRF1G88AAAABAgbOjg","mergedAt":null,"number":91316,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(update): add deployment-plan admission with fail-closed legacy guard","updatedAt":"2026-08-22T19:59:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/91316"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T14:34:59Z","updatedAt":"2026-08-21T14:34:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/91316#pullrequestreview-4994407772","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKbfHlQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKbfHlQ","summary":"Re-review complete at exact head `6b94252f4226bed24f0a3152b5165e4f9486ec66`: **no remaining blocker**.\n\nThe residual P1 execution-control class is now closed in this PR rather than merely interlocked:\n\n- `HERMES_COPILOT_ACP_COMMAND` and `HERMES_COPILOT_ACP_ARGS` are rejected by the shared generic writer before `.env` persistence or live `os.environ` mutation;\n- Windows mixed-case aliases consume the same native case-insensitive policy boundary;\n- pre-existing operator/package-manager values remain readable compatibility state;\n- the public `/api/env` witness drives both rejected writes and proves `_resolve_command()` / `_resolve_args()` remain unchanged afterward.\n\nThe MCP trust-root and Windows-name findings remain closed. Exact-head hosted evidence is green: CI `32496484581`, Docker `32496483561`, and Nix `32496483680`. ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T15:28:53Z","updatedAt":"2026-08-21T22:50:04Z","submittedAt":"2026-08-21T15:28:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91139#pullrequestreview-4994877333"},"data":{"createdAt":"2026-08-21T15:28:53Z","occurredAt":"2026-08-21T15:28:53Z","pullRequest":{"createdAt":"2026-08-20T22:36:40Z","id":"PR_kwDOPRF1G88AAAABAeqsEg","mergedAt":"2026-08-26T16:54:32Z","number":91139,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(mcp): restrict catalog environment writes","updatedAt":"2026-08-26T16:54:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/91139"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T15:28:53Z","updatedAt":"2026-08-21T22:50:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/91139#pullrequestreview-4994877333","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKBg9zg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKBg9zg","summary":"Exact-head re-review at `afafd650235a8de26b382640125cf9ebed9e66ba`.\n\nThe two P1s from my earlier passes are materially closed on this head. The security observation is no longer trusted from the model-authored Python namespace, and the follow-up strips `BH_AGENT_WORKSPACE` / `BU_WORKSPACE` from the trusted probe path so model-planted `agent_helpers.py` cannot forge or suppress the landing observation. The added live-CDP validation also exercises the three attack dimensions I asked for: `js` rebinding, premature termination, and forged safe markers; the browser-state read remains authoritative in each case.\n\nThe remaining limitation is now correctly scoped rather than hidden: this PR is an end-state observation layer, not full egress enforcement. Intermediate navigate→exfiltrate→navigate-back and direct stdlib network requests remain outside this PR and are covered by the broader network-boundary work in #89461. I do not see another code blocker in #84999 itself on this exact head.\n\nVerification state: Docker run `32161971869` is green. CI run `32161972033` concluded failure immediately and exposes zero jobs through the Actions API, so there is no failed job log to adjudicate. I att","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T01:39:39Z","updatedAt":"2026-08-19T01:39:39Z","submittedAt":"2026-08-19T01:39:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84999#pullrequestreview-4967644622"},"data":{"createdAt":"2026-08-19T01:39:39Z","occurredAt":"2026-08-19T01:39:39Z","pullRequest":{"createdAt":"2026-08-13T03:02:01Z","id":"PR_kwDOPRF1G87-X-Bu","mergedAt":null,"number":84999,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): recheck browser_exec's landed URL after execution","updatedAt":"2026-08-19T01:44:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/84999"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T01:39:39Z","updatedAt":"2026-08-19T01:39:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/84999#pullrequestreview-4967644622","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKBiAvw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKBiAvw","summary":"Exact-head re-review at `e88aee8d07065a336a19ef6d3f7056008b2f1e50` after the author’s 2026-08-18 follow-up.\n\nThe concrete blockers from my `cfa4063` review are resolved for this PR’s now-narrow scope:\n\n- refresh snapshots `(session, generation, initialize_result)` only after `_refresh_lock` + `_rpc_lock`, so the capability decision is bound to the same session generation that is queried;\n- teardown/reconnect/shutdown invalidate the generation before the `ClientSession` context exits, closing the non-`None`/dead-transport window I called out;\n- closed-transport errors are swallowed only when the snapshotted generation is demonstrably stale, while genuine same-generation protocol/server failures still propagate;\n- a superseded response is discarded before registry mutation;\n- the rebase kept current main’s collision-safe refresh mutation body rather than restoring the old wholesale removal/re-register path;\n- focused regressions now cover both stdio and streamable-HTTP teardown, locked capability replacement, superseded response discard, pending refresh cleanup, and genuine error propagation.\n\nI also checked repository verification for this exact head: CI run `32170351786` is green a","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T01:43:03Z","updatedAt":"2026-08-19T01:43:03Z","submittedAt":"2026-08-19T01:43:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/70413#pullrequestreview-4967661759"},"data":{"createdAt":"2026-08-19T01:43:03Z","occurredAt":"2026-08-19T01:43:03Z","pullRequest":{"createdAt":"2026-07-24T01:12:59Z","id":"PR_kwDOPRF1G871o2aw","mergedAt":null,"number":70413,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(mcp): skip dynamic tool refresh when session is closed or superseded","updatedAt":"2026-08-19T01:43:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/70413"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T01:43:03Z","updatedAt":"2026-08-19T01:43:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/70413#pullrequestreview-4967661759","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKbpD_g","kind":"review","label":"PRR_kwDOPRF1G88AAAABKbpD_g","summary":"Reviewed exact head `eac1ee6898ce138962a4010fefafac835e702e54` against exact/current `main` `fcbd1076a93841fa88855acce810e342a5b78101`. The root diagnosis in #91564 is real and this is the right ownership boundary (`startHermes()`), but I think the adoption proof needs another turn before this can safely close the class.\n\n### 1. The implementation is probing the Desktop/dashboard protocol, not the scheduled gateway protocol\n\nThe target in #91564 is a Windows Scheduled Task running `hermes gateway`. On current main the gateway's API-server listener at `127.0.0.1:8642` is `gateway/platforms/api_server.py`; its health routes are `/health`, `/health/detailed`, and `/v1/health`. It does **not** expose `/api/health` or `/api/ws`.\n\nThis PR probes `8642/api/health`, so the actual gateway API listener cannot satisfy the first probe. It then tries `9119`, where `/api/health` + `/api/ws` are the `hermes serve`/dashboard control plane. In other words, the successful path is not currently proving that Desktop adopted the already-running scheduled gateway; it is proving that some dashboard-style backend is present on 9119.\n\nThat distinction is load-bearing here. #91564 reports exactly two runtim","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T15:48:19Z","updatedAt":"2026-08-21T15:48:19Z","submittedAt":"2026-08-21T15:48:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91628#pullrequestreview-4995040254"},"data":{"createdAt":"2026-08-21T15:48:19Z","occurredAt":"2026-08-21T15:48:19Z","pullRequest":{"createdAt":"2026-08-21T15:38:29Z","id":"PR_kwDOPRF1G88AAAABAkcvQw","mergedAt":null,"number":91628,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(serve): skip eager MCP at dashboard when a live gateway exists (#91564)","updatedAt":"2026-08-23T14:29:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/91628"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T15:48:19Z","updatedAt":"2026-08-21T15:48:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/91628#pullrequestreview-4995040254","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKbpF6g","kind":"review","label":"PRR_kwDOPRF1G88AAAABKbpF6g","summary":"Re-review at exact head `00989c7caa34f5089f1fd637a85dae17c969f94e`: one durability blocker remains.\n\n[P1] **Do not consume the durable late-turn authority before the reply is durably published.** `harvestStrandedGroupReply()` currently calls `updateGroupChat()` to delete `room.stranded[memberKey]` before it appends the completed assistant reply. `updateGroupChat()` immediately updates the atom and starts an un-awaited `storage.set('group-chats', durable)` write; `appendGroupChatEntry()` then starts a second independent write. A renderer crash/reload after the first mutation but before the append leaves neither the marker nor the reply, permanently losing the completed turn. The independent writes can also settle out of order unless storage provides an undocumented serialization guarantee.\n\nThe new exactly-once regression does not witness this boundary: it lets delivery finish successfully and only then recreates a stale marker to test deduplication. Publish the reply/`lateTurnId` receipt and consume the marker in one `updateGroupChat()` state transition (including the watermark), or otherwise make publication-before-consumption durable, and add a reload/failure witness at the forme","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T15:48:23Z","updatedAt":"2026-08-21T15:48:23Z","submittedAt":"2026-08-21T15:48:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90933#pullrequestreview-4995040746"},"data":{"createdAt":"2026-08-21T15:48:23Z","occurredAt":"2026-08-21T15:48:23Z","pullRequest":{"createdAt":"2026-08-20T16:37:26Z","id":"PR_kwDOPRF1G88AAAABAccoDw","mergedAt":null,"number":90933,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): deliver timed-out group replies automatically","updatedAt":"2026-08-21T15:48:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/90933"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T15:48:23Z","updatedAt":"2026-08-21T15:48:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/90933#pullrequestreview-4995040746","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKbuL-w","kind":"review","label":"PRR_kwDOPRF1G88AAAABKbuL-w","summary":"Re-review complete at exact head `c4e0fb4a921d2bb35e251f305aef57b65b77de80`: **the authorization-principal blocker is closed and I found no remaining semantic blocker.**\n\nThe current head no longer forwards a bare transport-local fragment. It emits a model-invisible structured principal containing `platform`, `scope_id`, and `user_id`; the regressions prove that equal user fragments in different platform/tenant namespaces remain distinct, the same complete principal is stable, and concurrent shared-session calls do not cross-wire identities. Feishu now derives an app/tenant scope and WeCom stamps `corp_id`, closing the tenant namespace for those adapters rather than leaving the new field structurally present but empty.\n\nThe handler snapshots the principal before crossing onto the MCP loop and passes it through `tools/call.params._meta`, not arguments or connection-scoped headers. Hermes' pinned MCP 2.0 client supports the `meta` parameter on `ClientSession.call_tool`; the signature compatibility guard does not remove identity from the canonical runtime path.\n\nExact-head hosted evidence is green: CI `32479197293`, Docker `32479196700`, and Nix `32479196500`. No source, exact-head CI","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T15:57:34Z","updatedAt":"2026-08-21T15:57:34Z","submittedAt":"2026-08-21T15:57:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91427#pullrequestreview-4995124219"},"data":{"createdAt":"2026-08-21T15:57:34Z","occurredAt":"2026-08-21T15:57:34Z","pullRequest":{"createdAt":"2026-08-21T10:00:09Z","id":"PR_kwDOPRF1G88AAAABAiLS5w","mergedAt":null,"number":91427,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(tools): pass gateway session user id on MCP tools/call","updatedAt":"2026-08-21T15:57:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/91427"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T15:57:34Z","updatedAt":"2026-08-21T15:57:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/91427#pullrequestreview-4995124219","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKbwR5A","kind":"review","label":"PRR_kwDOPRF1G88AAAABKbwR5A","summary":"Exact-head review complete at `fca470be7cf50d3ff4f6f0dc9a873f5f6b8e4609`: **no remaining blocker.**\n\nThis head closes the residual post-#91477 non-text loss without broadening arbitrary multipart content into durable history:\n\n- `_extract_item_text()` remains text-only;\n- only the adapter-owned normalized `input_image` shape with a non-empty `image_url` receives attachment retention authority;\n- the original user message is retained verbatim and still consumes the explicit retention budget;\n- empty, malformed, and unknown multipart placeholders remain non-retainable;\n- the production `_chat_messages_to_responses_input()` conversion path is exercised across an actual compaction checkpoint, rather than fabricating only a pruner-local shape.\n\nThe earlier unsupported file-only claim is correctly removed because the current adapter does not emit `input_file`.\n\nFresh exact-head hosted evidence is green: CI `32499632201`, Docker `32499631402`, and Nix `32499631392`. The PR is open, non-draft, and mergeable against current `main`. No source, review, exact-head CI, or mergeability blocker remains.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T16:01:51Z","updatedAt":"2026-08-21T16:01:51Z","submittedAt":"2026-08-21T16:01:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91557#pullrequestreview-4995158500"},"data":{"createdAt":"2026-08-21T16:01:51Z","occurredAt":"2026-08-21T16:01:51Z","pullRequest":{"createdAt":"2026-08-21T14:12:56Z","id":"PR_kwDOPRF1G88AAAABAj1i0Q","mergedAt":null,"number":91557,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(native-compaction): retain image-only user content","updatedAt":"2026-08-30T12:17:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/91557"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T16:01:51Z","updatedAt":"2026-08-21T16:01:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/91557#pullrequestreview-4995158500","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKbyL6Q","kind":"review","label":"PRR_kwDOPRF1G88AAAABKbyL6Q","summary":"Exact-head follow-up at `d136e8562c372dc9cbf1dbacd94d79b2079431d3`: **the bounded Task 14 outbound-webhook lane has no remaining blocker.**\n\nThe current one-commit/three-file restack preserves the previously reviewed contract:\n\n- explicit opaque credential references fail closed on scoped miss and never downgrade to unsigned delivery or raw environment fallback;\n- inline plaintext secrets are rejected without echoing the value;\n- the envelope is versioned and V2 binds the timestamp to the raw body;\n- receiver documentation correctly requires freshness, constant-time HMAC verification, and delivery-ID deduplication rather than misrepresenting timestamp binding as replay prevention;\n- redirects remain refused and delivery remains bounded through the existing worker queue.\n\nThis review is scoped to #84834 Task 14. It does not claim inbound intake, verifier authority, session policy, callback transport, or final integration.\n\nFresh exact-head hosted evidence is green: CI `32446033866`, Docker `32446033398`, and Nix `32446033397`. The PR is open, non-draft, and mergeable. No source, exact-head CI, review, or mergeability blocker remains on this bounded object.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T16:06:06Z","updatedAt":"2026-08-21T16:06:07Z","submittedAt":"2026-08-21T16:06:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85653#pullrequestreview-4995189737"},"data":{"createdAt":"2026-08-21T16:06:06Z","occurredAt":"2026-08-21T16:06:06Z","pullRequest":{"createdAt":"2026-08-13T21:22:42Z","id":"PR_kwDOPRF1G87-z9_l","mergedAt":null,"number":85653,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(hooks): version outbound webhook envelope and fail closed on invalid config","updatedAt":"2026-08-21T16:06:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/85653"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T16:06:06Z","updatedAt":"2026-08-21T16:06:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/85653#pullrequestreview-4995189737","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKbzg3Q","kind":"review","label":"PRR_kwDOPRF1G88AAAABKbzg3Q","summary":"Exact-head integration review complete at `c481a5f4f345eef3ee9435e632a440fa4ed987a8`: **no code or exact-head verification blocker.**\n\nThis is the content-identical current-base delivery copy of #85394. Both source commits are cherry-picked with @abundantbeing's authorship preserved, and the two changed file blobs match the reviewed original. The narrow predicate is correct: only a merged assistant carrier with normalized `finish_reason=\"stop\"` and no pending `tool_calls` becomes reference-only; pending carrier calls, a later user turn, and a distinct later assistant tool-call row remain live.\n\nExact-head hosted evidence is green: CI `32484229641`, Docker `32484228624`, and Nix `32484228564`. The PR is open, non-draft, and mergeable against `main`. Use this as the sole landing vehicle and close #85394 unmerged as superseded; do not merge both.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T16:09:00Z","updatedAt":"2026-08-21T16:09:01Z","submittedAt":"2026-08-21T16:09:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91516#pullrequestreview-4995211485"},"data":{"createdAt":"2026-08-21T16:09:00Z","occurredAt":"2026-08-21T16:09:00Z","pullRequest":{"createdAt":"2026-08-21T12:55:24Z","id":"PR_kwDOPRF1G88AAAABAjQ9BQ","mergedAt":"2026-08-21T16:22:56Z","number":91516,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(agent): guard merged assistant compaction handoffs (salvage #85394)","updatedAt":"2026-08-21T16:22:56Z","url":"https://github.com/NousResearch/hermes-agent/pull/91516"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T16:09:00Z","updatedAt":"2026-08-21T16:09:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/91516#pullrequestreview-4995211485","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKc-Mog","kind":"review","label":"PRR_kwDOPRF1G88AAAABKc-Mog","summary":"Reviewed at exact head `d31c9bb1867e0b1fad30a8dd4c61f51ea7afdcbd` against base `f7a5c9e520b4da422b2c088a52a6a0165d8ed788`. The shell-side gap this PR is targeting is real and worth closing, but I see two security/correctness blockers in the current implementation plus one regex correctness issue.\n\n**1. The new file-safety policy is frozen at module import, but Hermes home/profile identity is live and context-local.**\n\n`_fs_paths = sorted(build_write_denied_paths(_home))` materializes the active/root Hermes credential paths once when `tools.approval` imports. That conflicts with the architecture already documented in this same file: the existing sensitive-target comment explicitly keeps static patterns free of import-time path snapshots because they go stale when `HERMES_HOME` changes after import. More importantly, `hermes_constants.get_hermes_home()` now resolves a `ContextVar` override first specifically for in-process per-task/profile scoping.\n\nSo this can fail open in a long-lived/multiplexed process: import `tools.approval` while profile A/default is active, then execute a turn under a context-local profile B override. `build_write_denied_paths()` for B is never re-evaluated, ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T18:52:18Z","updatedAt":"2026-08-21T18:52:18Z","submittedAt":"2026-08-21T18:52:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91735#pullrequestreview-4996435106"},"data":{"createdAt":"2026-08-21T18:52:18Z","occurredAt":"2026-08-21T18:52:18Z","pullRequest":{"createdAt":"2026-08-21T18:39:12Z","id":"PR_kwDOPRF1G88AAAABAlkPIw","mergedAt":null,"number":91735,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(approval): wire file_safety deny paths into shell write-guard (HA-D1)","updatedAt":"2026-08-22T17:44:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/91735"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T18:52:18Z","updatedAt":"2026-08-21T18:52:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/91735#pullrequestreview-4996435106","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKcIg2Q","kind":"review","label":"PRR_kwDOPRF1G88AAAABKcIg2Q","summary":"Reviewed exact head `7c6f5ce3b717ccbb4b867bbb66855fdc8ab5dd9b` against exact/current `main` `b2c4f1f376167e7e34a88c3dbd544e1fdc848c14` (5 ahead / 0 behind; exactly two changed files). The owner-task `finally: await inner.aclose()` is the correct core fix for #38193, and the new exception-precedence tests correctly prevent teardown diagnostics from replacing the real OAuth failure/cancellation. Exact-head CI, Docker, and Nix are all green.\n\nI still see one lifecycle blocker before this can serve as the lossless OAuth-lifecycle child extracted from #84963:\n\n**A failed/interrupted `inner.aclose()` is still forgotten rather than retained under owner authority and retried/fenced.**\n\nThe current `finally` is one-shot. If `inner.aclose()` raises while a primary OAuth error/cancellation is already active, the cleanup exception is annotated/logged and suppressed; the outer flow then terminates with no retained handle to the delegated SDK generator. If `aclose()` itself was interrupted, the same problem exists. But this `inner` is precisely the generator that can be suspended while owning the SDK's AnyIO `OAuthContext.lock`. Losing it after a failed close can therefore leave the cached provi","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T16:53:26Z","updatedAt":"2026-08-21T16:53:26Z","submittedAt":"2026-08-21T16:53:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90888#pullrequestreview-4995555545"},"data":{"createdAt":"2026-08-21T16:53:26Z","occurredAt":"2026-08-21T16:53:26Z","pullRequest":{"createdAt":"2026-08-20T15:37:12Z","id":"PR_kwDOPRF1G88AAAABAcBl5g","mergedAt":null,"number":90888,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(mcp-oauth): bind delegated auth-flow teardown to the owning task","updatedAt":"2026-08-29T23:40:24Z","url":"https://github.com/NousResearch/hermes-agent/pull/90888"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T16:53:26Z","updatedAt":"2026-08-21T16:53:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/90888#pullrequestreview-4995555545","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKciZ1A","kind":"review","label":"PRR_kwDOPRF1G88AAAABKciZ1A","summary":"Security review at exact head `da8de81d6f1c761e57bf0af104bb555682e724b7`: **no blocker found for the stated authenticated-RCE defect.**\n\nI checked the authority boundary, the actual shell execution sink, all changed bytes/tests/docs, existing discussion, adjacent permission work, and current repository movement.\n\nThe core fix is at the right layer. `GoalManager` still intentionally executes a persisted quality-gate command with `subprocess.run(..., shell=True)`, so this is not a quoting/sanitization problem: whoever can persist the command owns host-shell authority. The gateway now refuses `gate add` before `GoalManager.add_gate()` unless `_caller_is_explicit_admin()` can prove a real scope-specific admin. That helper correctly does **not** trust `SlashAccessPolicy.is_admin()` by itself: the slash policy deliberately returns admin-like access when gating is disabled for backwards compatibility, while this helper requires `policy.enabled && user_id && policy.is_admin(user_id)` and fails closed on resolution errors.\n\nI also checked the mutation topology. Repository search finds the remote `add_gate` path here in the gateway handler and the separate local CLI/operator path; I did not ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T17:51:40Z","updatedAt":"2026-08-21T17:51:40Z","submittedAt":"2026-08-21T17:51:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91677#pullrequestreview-4995979732"},"data":{"createdAt":"2026-08-21T17:51:40Z","occurredAt":"2026-08-21T17:51:40Z","pullRequest":{"createdAt":"2026-08-21T16:56:09Z","id":"PR_kwDOPRF1G88AAAABAk8QKw","mergedAt":null,"number":91677,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): close Host in the Shell RCE vulnerability","updatedAt":"2026-08-21T17:51:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/91677"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T17:51:40Z","updatedAt":"2026-08-21T17:51:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/91677#pullrequestreview-4995979732","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKCpuxA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKCpuxA","summary":"Reviewed exact head `ca0fc705fdede51ae61e5c91c5ac0e5ae252677c` against PR base `4903993cdd9747a8a0e11d4022d88d1e20b33eb4` and current `main` `5d3c15aaa776cfcb4c88fb6e4f0431a95387eeab`. I inspected the full two-file diff, the actual `/v1/runs` execution inputs, multiplex profile boundary, focused tests, exact-head Actions state, prior run-idempotency work, and the parallel run-stream ordering PR.\n\nThe placement is right: reserving before run-visible state/task creation closes the duplicate-side-effect window, replay-before-concurrency is the correct ordering, approval resolution needs its own receipt, and the process-generation token makes the intentionally process-local contract explicit. I found two blockers in the identity/fingerprint contract.\n\n## 1. The run fingerprint omits inputs that actually change the run\n\n`_run_admission_fingerprint()` hashes `input`, `instructions`, `previous_response_id`, `conversation_history`, `session_id`, `model`, and the gateway session key. But this same handler parses additional execution-semantic inputs through `_request_agent_overrides()` and passes them into `_create_agent()`:\n\n- top-level `provider` → `requested_provider`\n- `model_options` → ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T05:55:24Z","updatedAt":"2026-08-19T05:55:24Z","submittedAt":"2026-08-19T05:55:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89754#pullrequestreview-4968836804"},"data":{"createdAt":"2026-08-19T05:55:24Z","occurredAt":"2026-08-19T05:55:24Z","pullRequest":{"createdAt":"2026-08-19T05:03:36Z","id":"PR_kwDOPRF1G88AAAABAPDsmw","mergedAt":null,"number":89754,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(api): prevent duplicate run/approval processing on client retries","updatedAt":"2026-08-19T05:55:24Z","url":"https://github.com/NousResearch/hermes-agent/pull/89754"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T05:55:24Z","updatedAt":"2026-08-19T05:55:24Z","url":"https://github.com/NousResearch/hermes-agent/pull/89754#pullrequestreview-4968836804","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKCQQOg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKCQQOg","summary":"Reviewed exact head `f6d0ca6245f82d8415dcff4c5b7610f4ec72be3f` against base/current main `395c70d616f6426e990632ff8b57cf1e9499702f`, including the 50-file renderer/Electron diff, connection/profile publication path, REST/WS scoping, stale-response fences, registry persistence, exact-head CI, the original #88325 contribution, and the neighboring identity work in #88922, #88095, and #89609.\n\nThe overall architecture is directionally strong. Making `(connectionId, profile)` explicit at the Sessions control plane is the right next step after the v2 registry: `hermesApi()` carries the active source through the broad REST surface, explicit `local` no longer falls through to a remote v1 primary, cron refresh generations include source identity, projects/session lists fence late results across source activation, and background sockets are retained instead of treating foreground selection as lifetime ownership. The salvage also correctly preserves @dokterdok’s fifteen commits and attribution from #88325 rather than recreating the feature under a new author.\n\nI found two merge blockers at the exact identity/publication seams.\n\n## 1. The new legacy-descriptor bridge can overwrite the exact re","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T04:31:50Z","updatedAt":"2026-08-19T04:31:50Z","submittedAt":"2026-08-19T04:31:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89719#pullrequestreview-4968419386"},"data":{"createdAt":"2026-08-19T04:31:50Z","occurredAt":"2026-08-19T04:31:50Z","pullRequest":{"createdAt":"2026-08-19T04:21:37Z","id":"PR_kwDOPRF1G88AAAABAO4KJA","mergedAt":"2026-08-19T05:03:26Z","number":89719,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(desktop): Sessions workspace gains a registered-gateway switcher (#88307, salvage #88325)","updatedAt":"2026-08-20T16:05:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/89719"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T04:31:50Z","updatedAt":"2026-08-19T04:31:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/89719#pullrequestreview-4968419386","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKCU9mg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKCU9mg","summary":"Reviewed exact head `1c75811c74157db538ff651333305a066c6730a7` against PR base `0b879298a7885b62425e65500c85c584d7c516d5` and current `main` `395c70d616f6426e990632ff8b57cf1e9499702f`. I inspected the parser → `cmd_install` → `_install_plugin_core` path, the actual `plugin_guard` policy, the install test, current docs, exact-head Actions state, merged provenance in #80728, and the active false-positive repair in #89613 / #89610. There are no existing formal reviews or inline threads on this head.\n\nThe product need is legitimate: a per-install escape hatch is materially safer operationally than telling an enterprise operator to leave `plugins.scan_on_install: false` globally. But the current implementation makes the escape hatch broader than the trust model described in the PR. I see two merge blockers.\n\n## 1. `--no-scan` is not bound to the artifact that was supposedly verified out of band\n\nThe motivation is specifically a channel that \"pins and verifies plugin content hashes before delivery.\" The implementation accepts `--no-scan` with any mutable source/branch/index name:\n\n```python\nif no_scan:\n    logger.info(\"skipping install-time security scan for %s (--no-scan)\", identifier)\n","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T04:47:24Z","updatedAt":"2026-08-19T04:47:24Z","submittedAt":"2026-08-19T04:47:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89704#pullrequestreview-4968496538"},"data":{"createdAt":"2026-08-19T04:47:24Z","occurredAt":"2026-08-19T04:47:24Z","pullRequest":{"createdAt":"2026-08-19T03:56:59Z","id":"PR_kwDOPRF1G88AAAABAOxm9g","mergedAt":null,"number":89704,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(plugins): add --no-scan to plugins install for verified channels","updatedAt":"2026-08-25T12:59:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/89704"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T04:47:24Z","updatedAt":"2026-08-19T04:47:24Z","url":"https://github.com/NousResearch/hermes-agent/pull/89704#pullrequestreview-4968496538","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKd0uLQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKd0uLQ","summary":"Blocking review on exact head `38325e70e5679882907f0d9b1c0f55dc9c4feaca` against base `ac8dff4fbcf47a392a3cddcbec068aa05930ab47` (current `main` is one unrelated commit ahead at `d9d967e07`). The earlier top-level review concerns have materially moved in the right direction on this head: the duplicated updater work is gone, reset-to-defaults now carries a revision, verified writes can deliberately clear basic auth, and the branch is mergeable. Two current-head blockers remain.\n\n### 1. Config import still bypasses the CAS invariant, while export now serializes a backend-specific CAS token\n\n`handleImport()` replaces the currently loaded record with `JSON.parse(...)` and feeds that object directly into the normal autosave path. `saveHermesConfig()` only sends `expected_revision` when the object itself contains `_revision`.\n\nThat produces two bad modes:\n\n* A pre-#88947 export or hand-authored config has no `_revision`, so importing it discards the current backend revision and performs a **blind full-record PUT**. The server accepts it; `_protect_sensitive_config_fields()` only shields `dashboard.basic_auth`, so provider/fallback/auxiliary and every other supplied field remain outside C","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T20:48:00Z","updatedAt":"2026-08-21T20:52:18Z","submittedAt":"2026-08-21T20:48:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88947#pullrequestreview-4997328429"},"data":{"createdAt":"2026-08-21T20:48:00Z","occurredAt":"2026-08-21T20:48:00Z","pullRequest":{"createdAt":"2026-08-18T05:45:55Z","id":"PR_kwDOPRF1G88AAAABAGiuJQ","mergedAt":null,"number":88947,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): prevent remote config overwrite & preserve basic auth credentials (#88913)","updatedAt":"2026-08-22T01:52:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/88947"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T20:48:00Z","updatedAt":"2026-08-21T20:52:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/88947#pullrequestreview-4997328429","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKDAhKg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKDAhKg","summary":"Reviewed exact head `d236caf7cc1c81e03457ede893c4cf235ea5bf03` against base/current `main` `649c20629eedea5a26d34b01ec8f3e14e96e9249`, including the adapter ingress/key paths, profile-adapter setup, platform sweep, focused regression tests, exact-head Actions state, #88404, and the broader multiplex identity topology in #88715 / #85355 / #69156 / #74285 / #88381.\n\nThe per-credential half of this is real and the implementation has good local properties: `_session_key_profile()` is defensive around partially-constructed adapters/mocks, a carried `source.profile` correctly outranks credential ownership, and the PR closes several direct adapter call sites that currently omit profile entirely. But I found two merge blockers before this becomes the canonical ingress seam.\n\n## 1. Credential owner is not necessarily the routed runtime profile\n\nThe load-bearing fallback is currently:\n\n```python\nsource.profile -> self._owner_profile -> session_store._resolve_profile_for_key(source)\n```\n\nThat works for the simple topology “this adapter is owned by profile X and every event it receives runs as X.” Multiplex already supports route overrides where those axes differ.\n\nConcrete inverse case: #7911","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T06:49:25Z","updatedAt":"2026-08-19T06:49:25Z","submittedAt":"2026-08-19T06:49:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88437#pullrequestreview-4969210154"},"data":{"createdAt":"2026-08-19T06:49:25Z","occurredAt":"2026-08-19T06:49:25Z","pullRequest":{"createdAt":"2026-08-17T13:28:56Z","id":"PR_kwDOPRF1G88AAAABABrHpg","mergedAt":null,"number":88437,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): carry the profile in adapter-derived session keys","updatedAt":"2026-08-19T09:00:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/88437"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T06:49:25Z","updatedAt":"2026-08-19T06:49:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/88437#pullrequestreview-4969210154","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKDgzeg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKDgzeg","summary":"Reviewed exact head `b868cb8106c6cdfc1be2b9d0c158b1e78d8c0a64` against PR base `b44871db0aa2ff361a3c531e3ec2a4e94c08089b` and current `main` `70e818c6e3e3d5dc8ca30fab5d6360e14631d874`. I inspected the shared-pool resolver, storage locking/generation/tombstone model, manager cache/pool ownership, CLI/web/TUI mutation paths, rollback behavior, focused tests, exact-head Actions state, and adjacent cross-profile OAuth/MCP work.\n\nThe architecture is directionally good. In particular: shared use is opt-in at the root; named profiles must carry their own matching server entry; dynamic endpoint/transport/OAuth identity references fail closed; live providers pin the pool path they resolved at construction; unsafe server names no longer alias one token filename; stale provider instances are fenced by pool generation; permanent removal gets a disk tombstone; and the manager correctly treats provider identity separately from storage-pool identity. The new manager test `test_profile_detach_preserves_root_shared_grant` captures an especially important ownership rule: one profile leaving a shared pool must not revoke the root credential used by remaining participants.\n\nI found two merge blockers ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T07:56:19Z","updatedAt":"2026-08-19T07:56:19Z","submittedAt":"2026-08-19T07:56:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89830#pullrequestreview-4969739130"},"data":{"createdAt":"2026-08-19T07:56:19Z","occurredAt":"2026-08-19T07:56:19Z","pullRequest":{"createdAt":"2026-08-19T06:57:58Z","id":"PR_kwDOPRF1G88AAAABAPpqIg","mergedAt":null,"number":89830,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"[DX-2480] feat: share MCP OAuth pools across profiles","updatedAt":"2026-08-19T07:56:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/89830"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T07:56:19Z","updatedAt":"2026-08-19T07:56:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/89830#pullrequestreview-4969739130","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKdYlBQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKdYlBQ","summary":"Blocking finding at exact head `24b65fa3c9d868c153164bb4a6c28695476f2ee5`.\n\nThe new guards correctly admit `codex` / `codex_responses` / `responses` into the existing `finish_reason == \"length\"` continuation machinery, but the canonical Responses truncation shape still does not reach those guards. In the Responses status normalization immediately above, `status == \"incomplete\"` with `incomplete_details.reason in {\"max_output_tokens\", \"length\"}` is deliberately left as `finish_reason = \"incomplete\"`; only the new fallback for missing/unknown `incomplete_details` maps to `\"length\"`.\n\nThat matters because `codex_responses` has a separate `finish_reason == \"incomplete\"` branch later in the loop. It is bounded (three continuation attempts), but it replays/nudges the incomplete response and does **not** run the truncated-tool-call `_ephemeral_max_output_tokens` budget boost added to the `length` path here. So a normal OpenAI Responses function call truncated with `incomplete_details.reason = \"max_output_tokens\"` can still be retried at the same insufficient output budget three times and terminate with `Codex response remained incomplete after 3 continuation attempts`. The new regression ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T19:47:31Z","updatedAt":"2026-08-21T19:47:31Z","submittedAt":"2026-08-21T19:47:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91779#pullrequestreview-4996867333"},"data":{"createdAt":"2026-08-21T19:47:31Z","occurredAt":"2026-08-21T19:47:31Z","pullRequest":{"createdAt":"2026-08-21T19:37:51Z","id":"PR_kwDOPRF1G88AAAABAl6dfA","mergedAt":null,"number":91779,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(agent): truncation continuation for responses-family api modes (codex/codex_responses/responses)","updatedAt":"2026-08-24T05:58:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/91779"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T19:47:31Z","updatedAt":"2026-08-21T19:47:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/91779#pullrequestreview-4996867333","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKE_oFA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKE_oFA","summary":"Reviewed exact head `4abe503937888b529197a2f86a3118d453937433` against base/current `main` `13ce0c5c675e843af70d19c9e5144249cd51c8d1`. I inspected the full four-file change, the existing Kanban claim/run/reaper/timeout contracts, `_default_spawn`'s environment and cwd boundary, the new supervisor's process semantics, the new regression suite, exact-head workflow state, and the adjacent Kanban execution/security work (#31363, #82936/#83565/#55600, and #89934/#84333).\n\nThe basic shape is good: resolving `worker.command` from host-side profile config rather than card data is the right authority boundary; failing loudly on malformed YAML is materially safer than falling through to the agent; `-P` correctly closes Python module shadowing from the task workspace; `expected_run_id` is the right stale-run fence; and making the supervisor report while it is still alive avoids inventing worker-kind state during reap. I also like that agent-only task knobs are explicitly ignored rather than half-applied to a non-agent worker.\n\nI found four merge blockers at the execution/lifecycle boundary.\n\n## 1. `max_runtime` is no longer the existing Kanban timeout contract\n\nThe PR says `max_runtime` behav","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T10:50:43Z","updatedAt":"2026-08-19T10:50:43Z","submittedAt":"2026-08-19T10:50:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89947#pullrequestreview-4971292692"},"data":{"createdAt":"2026-08-19T10:50:43Z","occurredAt":"2026-08-19T10:50:43Z","pullRequest":{"createdAt":"2026-08-19T10:36:55Z","id":"PR_kwDOPRF1G88AAAABARI-1g","mergedAt":null,"number":89947,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(kanban): direct-command workers via profile-level worker.command","updatedAt":"2026-08-19T10:53:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/89947"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T10:50:43Z","updatedAt":"2026-08-19T10:50:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/89947#pullrequestreview-4971292692","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKe2eZw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKe2eZw","summary":"Blocking on approval authority across the review transition at exact head `a21f65a1b9f5b608ee1835969184b8379796e8bb` (base `b6bcb3e791c673e63974029bbab40cc9326803ff`).\n\nThe initial park is well-shaped: flagged `running|ready` completion rides the existing `request_review` CAS/run-close path rather than inventing a parallel lane. The authority contract breaks after that transition, though. `complete_task()` explicitly skips the approval-policy gate for `status == \"review\"`, treating *any* completion from review as the approval act. The new tests bless this directly in `test_human_approval_from_review_lane_unchanged`: a task designated for `reviewer-a` is parked, then `complete_task(..., result=\"approved by human\")` with no actor is expected to mark it done.\n\nThat becomes a deterministic policy bypass when combined with the advertised mid-flight reassignment semantics. Concrete sequence:\n\n1. Task is `approval_required=True`, `approver_profile=\"reviewer-a\"`; implementer completion parks it in `review`, assignee `reviewer-a`.\n2. Creator/dashboard calls `set_approval_policy(... approver_profile=\"reviewer-b\")` while the task is already in `review`. This is currently allowed; the function","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T00:46:50Z","updatedAt":"2026-08-22T00:46:50Z","submittedAt":"2026-08-22T00:46:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91948#pullrequestreview-4998405735"},"data":{"createdAt":"2026-08-22T00:46:50Z","occurredAt":"2026-08-22T00:46:50Z","pullRequest":{"createdAt":"2026-08-22T00:38:43Z","id":"PR_kwDOPRF1G88AAAABAnP3iQ","mergedAt":null,"number":91948,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(kanban): per-task approval policy parking completed work for approver sign-off (#29457)","updatedAt":"2026-08-23T05:38:11Z","url":"https://github.com/NousResearch/hermes-agent/pull/91948"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T00:46:50Z","updatedAt":"2026-08-22T00:46:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/91948#pullrequestreview-4998405735","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKedI4Q","kind":"review","label":"PRR_kwDOPRF1G88AAAABKedI4Q","summary":"Blocking review on exact head `86851bc4ecd464d3ea1f2d474e40a0f06653105f` against base `3bdc2165c3e82b203c43d0187ffa9bb929adf8f5`.\n\nThere is one correctness blocker in the #90778 classifier, plus one exact-head verification gap.\n\n**Blocker — `_hermes_holder_subcommand()` does not actually skip the top-level CLI's value-bearing flags.** The new helper says it returns the first token that is not “a flag or a flag’s value”, but `value_flags` is a handwritten subset: `{--profile, -p, --config, --model, --provider}`. The authoritative top-level parser has several other options that consume a value, including the documented short `-m` alias for `--model`, `--reasoning`, `-t/--toolsets`, `--resume/-r`, `--in`, `--skills/-s`, `--oneshot/-z`, and `--usage-file`.\n\nThat makes valid Hermes argv shapes misparse. For example:\n\n```text\npython -m hermes_cli.main --reasoning high serve\n```\n\nis classified as subcommand `high`, not `serve`; and\n\n```text\npython -m hermes_cli.main -m dashboard serve\n```\n\nis classified as `dashboard`, not `serve`. The latter recreates the exact class this PR is supposed to close: a holder can receive the wrong remediation hint because a *flag value* happens to equal a kn","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T22:53:06Z","updatedAt":"2026-08-21T22:53:06Z","submittedAt":"2026-08-21T22:53:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91869#pullrequestreview-4997990625"},"data":{"createdAt":"2026-08-21T22:53:06Z","occurredAt":"2026-08-21T22:53:06Z","pullRequest":{"createdAt":"2026-08-21T22:43:42Z","id":"PR_kwDOPRF1G88AAAABAm3A0A","mergedAt":"2026-08-22T02:11:56Z","number":91869,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(update): Windows venv-holder guard names holders correctly and can see the gateway it must pause (#90778, #87594 — proven live on windows-latest)","updatedAt":"2026-08-22T02:11:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/91869"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T22:53:06Z","updatedAt":"2026-08-21T22:53:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/91869#pullrequestreview-4997990625","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKeKScA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKeKScA","summary":"Blocking review on exact head `c368c0eb3e102d55e0e344b8856321a071e178e7` against exact base/current `main` `2fb1e62b2ee0723486893ed30d5b481f5ad0b5b6`. I inspected the twelve-file diff, the new native-Windows cross-layer witness, the prior review/repair chronology, #44234, superseded #91063, open #90829, and the wider transactional-deployment invariant in #88683.\n\nThe earlier blockers are materially repaired on this head: builder success now retains rollback authority for `_ensure_desktop_exe_launchable`, the isolated `get-windows` realization is attested against committed lock/override authority before lifecycle execution, and the Windows-only test now crosses the JS settlement/Python launchability boundary. I found one remaining destructive-boundary blocker.\n\n**Blocker — rollback-acquisition failure is still collapsed into the `safe to wipe appOutDir` result.**\n\n`preserveRollbackBackup()` returns `false` for two very different states:\n\n1. there is no valid current packaged app to preserve, where wiping the partial `appOutDir` is intended; and\n2. a valid current packaged app exists, but rollback acquisition failed (for example `clearRollbackSession(backupDir)` cannot unlink a locke","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T21:46:53Z","updatedAt":"2026-08-21T21:46:54Z","submittedAt":"2026-08-21T21:46:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91079#pullrequestreview-4997681776"},"data":{"createdAt":"2026-08-21T21:46:53Z","occurredAt":"2026-08-21T21:46:53Z","pullRequest":{"createdAt":"2026-08-20T20:33:28Z","id":"PR_kwDOPRF1G88AAAABAd9ajw","mergedAt":null,"number":91079,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): make Windows package rebuild transactional and self-healing","updatedAt":"2026-08-31T16:16:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/91079"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T21:46:53Z","updatedAt":"2026-08-21T21:46:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/91079#pullrequestreview-4997681776","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKerbMw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKerbMw","summary":"Blocking — the current patch does not satisfy #84259 / R1-C-003.\n\n1. `chunks = [head, tail]` leaves an attacker-controlled blind interval whenever `len(content) > 2 * MAX_SCAN_CHARS`. This is not merely a docstring caveat. `_scan_context_content()` returns the original content unchanged when the scan reports no finding, so a payload in that interval remains model-visible. The issue contract requires complete overlapping-chunk coverage, or scanning exactly the emitted segments plus a complete omitted-segment verdict; every model-visible segment must be scanned or replaced. Add a regression with a 3×-cap input and the payload in the middle, and do not claim `Fixes #84259` until it passes.\n\n2. There is no pattern overlap. A finding split across the end of the head window and the unscanned middle can still be missed; #84259 explicitly requires overlap when complete input is scanned in chunks.\n\n3. The patch does not version or expose scan completeness in provenance metadata, another explicit #84259 requirement. The scanner and renderer still own separate segment definitions; that authority split is the root defect.\n\n4. `contributors/emails/andrexibiza@gmail.com` should not be split as “","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T23:43:26Z","updatedAt":"2026-08-21T23:43:26Z","submittedAt":"2026-08-21T23:43:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88790#pullrequestreview-4998224691"},"data":{"createdAt":"2026-08-21T23:43:26Z","occurredAt":"2026-08-21T23:43:26Z","pullRequest":{"createdAt":"2026-08-18T00:42:15Z","id":"PR_kwDOPRF1G88AAAABAFMOOQ","mergedAt":null,"number":88790,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(security): scan the tail of oversized input for threats","updatedAt":"2026-08-22T01:47:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/88790"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T23:43:26Z","updatedAt":"2026-08-21T23:43:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/88790#pullrequestreview-4998224691","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKesogA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKesogA","summary":"Blocking finding (GitHub will not let this identity set `REQUEST_CHANGES` without explicit repository access): the resource/admission side of the same outage is still open.\n\nMoving the credential-pool handlers off the event loop is the right boundary, but `_urlopen_bounded()` currently turns a hung DNS resolution into an abandoned daemon thread with no in-flight deduplication or outstanding-worker bound. The existing token-exchange loop is still 3 attempts, and the transient negative cache from #76386 is only populated after that loop finishes. At the default `timeout=10`, a hard-DNS-hang caller can therefore spend ~49.5s before it installs the 60s failure cache: 3 × (10s + 5s grace) + 1.5s + 3s backoff.\n\nThat matters because this PR's own reproduction says the credential-pool endpoint is polled every few seconds. Before the first caller reaches the negative-cache write, overlapping GETs can each enter `asyncio.to_thread(load_pool(...))` and each exchange can abandon up to three `copilot-token-exchange` threads. The API loop stays responsive, but the outage is now allowed to multiply stuck DNS threads and shared default-executor work. If an abandoned `urlopen()` eventually succeeds","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T23:46:40Z","updatedAt":"2026-08-21T23:46:40Z","submittedAt":"2026-08-21T23:46:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91912#pullrequestreview-4998244480"},"data":{"createdAt":"2026-08-21T23:46:40Z","occurredAt":"2026-08-21T23:46:40Z","pullRequest":{"createdAt":"2026-08-21T23:43:07Z","id":"PR_kwDOPRF1G88AAAABAnE7MQ","mergedAt":null,"number":91912,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(server): move blocking credential-pool calls off the event loop (17-min freeze on network loss)","updatedAt":"2026-08-27T21:02:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/91912"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T23:46:40Z","updatedAt":"2026-08-21T23:46:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/91912#pullrequestreview-4998244480","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKeudUQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKeudUQ","summary":"Reviewed exact head `9773a3dd37530024df2d915d2e1e2339ecc6153d`. I found no code blocker in the connection-identity contract.\n\nThis is the surviving resolver authority:\n\n- property presence makes an explicit `connectionId` current-registry-or-fail-closed; malformed/retired claims never fall through to endpoint inference;\n- genuinely unqualified legacy descriptors reuse one canonical full-envelope matcher;\n- URL/cloud identity includes kind, normalized URL, auth mode, token/header envelopes, and org;\n- SSH identity includes host, user, port, key, Hermes path, and remote profile;\n- zero or duplicate matches remain unresolved and registry order never becomes authority.\n\nTopology decision: keep #90913 closed. #90006 and #90924 must consume `connection-route-identity.ts` / `resolvedConnectionId()` rather than introducing a second matcher, endpoint-derived fallback, or receipt-local reconstruction. Stable ID and generation fencing can be layered on the resolved identity; they must not replace the resolver that proves which current registry object the request names.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T23:56:31Z","updatedAt":"2026-08-21T23:56:31Z","submittedAt":"2026-08-21T23:56:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90198#pullrequestreview-4998274385"},"data":{"createdAt":"2026-08-21T23:56:31Z","occurredAt":"2026-08-21T23:56:31Z","pullRequest":{"createdAt":"2026-08-19T18:33:55Z","id":"PR_kwDOPRF1G88AAAABAUkf0g","mergedAt":"2026-08-23T05:01:40Z","number":90198,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(desktop): preserve authoritative connectionId, fail-closed legacy fallbacks — #90048","updatedAt":"2026-08-23T12:07:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/90198"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T23:56:31Z","updatedAt":"2026-08-21T23:56:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/90198#pullrequestreview-4998274385","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKf7zYw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKf7zYw","summary":"Blocking review (GitHub will not permit this identity to set `REQUEST_CHANGES` without explicit repository review access).\n\nThe new empty-key check correctly prevents the reported non-multiplexed startup/resume miss from becoming an unauthenticated request, but it is not yet a complete fail-closed security boundary because `_scoped_key_env()` can turn the canonical multiplex fail-closed signal into a non-empty process-global credential *before* this new guard runs.\n\nThe exact path on this head is:\n\n1. A named custom provider declares `key_env`; `resolve_provider_client()` calls `_scoped_key_env(custom_key_env)`.\n2. `agent.secret_scope.get_secret()` is explicitly designed to raise `UnscopedSecretError` when `multiplex_profiles` is active and no profile scope is installed. Its contract says this must fail closed because `os.environ` may hold another profile's credential.\n3. `agent.auxiliary_client._scoped_key_env()` catches that `UnscopedSecretError` and then deliberately falls through to `os.getenv(name)`.\n4. If the process environment contains a non-empty key (for example the default/another profile's key), `custom_key` becomes non-empty, so this PR's new `if not custom_key and cus","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T07:54:33Z","updatedAt":"2026-08-22T07:54:33Z","submittedAt":"2026-08-22T07:54:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92125#pullrequestreview-4999541603"},"data":{"createdAt":"2026-08-22T07:54:33Z","occurredAt":"2026-08-22T07:54:33Z","pullRequest":{"createdAt":"2026-08-22T07:47:26Z","id":"PR_kwDOPRF1G88AAAABAodlrg","mergedAt":null,"number":92125,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(auxiliary): fail closed when a declared key_env resolves empty","updatedAt":"2026-08-22T16:59:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/92125"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T07:54:33Z","updatedAt":"2026-08-22T07:54:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/92125#pullrequestreview-4999541603","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKfac0A","kind":"review","label":"PRR_kwDOPRF1G88AAAABKfac0A","summary":"Blocking review (GitHub will not permit this identity to set `REQUEST_CHANGES` without explicit repository review access).\n\nThe core deny mechanism itself is well placed: `hermes_cli.plugins` checks the ContextVar-backed forbidden set before plugin directives, and the new copied-context test proves the restriction reaches concurrent tool workers. The `require_summary` check is also centralized in `complete_task`, so the problem is not those enforcement sites. It is how the worker acquires the constraint policy in the first place.\n\n`install_task_constraint_guard()` explicitly fails open. Any exception while opening/reading the board or installing the guard is logged and converted to `None`, and `cli.py` then continues into the worker turn. `None` therefore means two materially different states: (a) the task was authoritatively read and has no `forbidden_tools`, or (b) Hermes could not establish what constraints the task has. The tests codify this weaker contract: `test_worker_session_guard_survives_unknown_task_gracefully` expects an unknown/broken-board task to proceed unconstrained. That contradicts the PR title and #46582's reason for existing: a hard behavioral constraint cannot","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T04:44:42Z","updatedAt":"2026-08-22T04:44:42Z","submittedAt":"2026-08-22T04:44:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92051#pullrequestreview-4998995152"},"data":{"createdAt":"2026-08-22T04:44:42Z","occurredAt":"2026-08-22T04:44:42Z","pullRequest":{"createdAt":"2026-08-22T04:32:39Z","id":"PR_kwDOPRF1G88AAAABAn3oAA","mergedAt":null,"number":92051,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(kanban): hard-enforce forbidden_tools and require_summary on created tasks (#46582)","updatedAt":"2026-08-23T05:37:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/92051"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T04:44:42Z","updatedAt":"2026-08-22T04:44:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/92051#pullrequestreview-4998995152","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKFd1Xg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKFd1Xg","summary":"Reviewed exact head `fd77a2b4d67612d45cd3d859e1417a9163ca038a` against base/current `main` `13ce0c5c675e843af70d19c9e5144249cd51c8d1`, the #89938 reproduction, the request-assembly paths in `conversation_loop.py` and the independently assembled max-iteration summary, exact-head CI, and the overlapping image-lifecycle work in #64440/#63850/#87555/#89776.\n\nThe core direction is right: this belongs at request projection, not in durable history. I verified that the main loop structurally clones each message before the new transform, and the summary path's shallow copy is still safe here because `_strip_old_image_parts()` replaces the copied row's top-level `content` list rather than mutating nested image parts in place. Running before prompt-cache planning is also the correct ordering, and covering the summary path closes the same independent-send seam that earlier screenshot work had to discover separately.\n\nI would not merge this exact head yet, because the unified newest-three policy drops the **active user's image while that same user turn is still in flight**.\n\n## Blocker — image recency is being counted across roles/messages, but the active user turn is semantic input, not histor","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T11:54:44Z","updatedAt":"2026-08-19T11:54:44Z","submittedAt":"2026-08-19T11:54:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89965#pullrequestreview-4971787614"},"data":{"createdAt":"2026-08-19T11:54:44Z","occurredAt":"2026-08-19T11:54:44Z","pullRequest":{"createdAt":"2026-08-19T11:21:25Z","id":"PR_kwDOPRF1G88AAAABARcPWw","mergedAt":null,"number":89965,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(agent): bound historical image payloads per request","updatedAt":"2026-08-28T13:33:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/89965"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T11:54:44Z","updatedAt":"2026-08-19T11:54:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/89965#pullrequestreview-4971787614","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKFFnvA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKFFnvA","summary":"**Blocking review on exact head `a980956cfae2988ab553e10b9ed86161e57fe729`** (base `dc77f2c87f11c4929e151e65396b8f321a1d6a14`).\n\nI reviewed the complete 19-file diff (`+1,334/-141`), including all 560 changed production lines, the added/modified tests, current consumers of terminal-backend resolution, managed-config precedence, Docker/session routing, file/media path authority, Camofox SSRF behavior, prior review history, and current-head CI state. This is a coherent trust-boundary change; raw line count is not a technical reason to split or decline review.\n\n## P1 — falsey managed config documents still bypass the fail-closed probe\n\n`_probe_managed_config_unreadable()` currently parses the managed file as:\n\n```python\ndata = yaml.safe_load(f) or {}\n```\n\nThe `or {}` erases the distinction between a genuinely parsed empty mapping and several present-but-untrustworthy falsey documents before `_terminal_config_shape_unreadable()` sees them. A direct parse probe against the exact implementation gives:\n\n| Managed `config.yaml` contents | `yaml.safe_load` | Current probe result |\n|---|---:|---|\n| empty document | `None` | readable — incorrect |\n| comment-only document | `None` | readable —","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T11:03:03Z","updatedAt":"2026-08-19T13:48:47Z","submittedAt":"2026-08-19T11:03:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/61882#pullrequestreview-4971390908"},"data":{"createdAt":"2026-08-19T11:03:03Z","occurredAt":"2026-08-19T11:03:03Z","pullRequest":{"createdAt":"2026-07-10T05:26:30Z","id":"PR_kwDOPRF1G87wB3mX","mergedAt":null,"number":61882,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): fail closed when terminal config bridge is unavailable","updatedAt":"2026-08-19T14:20:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/61882"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T11:03:03Z","updatedAt":"2026-08-19T13:48:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/61882#pullrequestreview-4971390908","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKfKu8g","kind":"review","label":"PRR_kwDOPRF1G88AAAABKfKu8g","summary":"Current-head refresh: the branch moved while I was reviewing. I re-checked exact head `1b91b70dbd7db89b229ae1d20ba18e9e52b2c4c8` against base/current `main` `7d6db4efb885856078e4d19f804035226df81e0d`.\n\nThe only delta from the previously inspected `69cf632c...` is commit `1b91b70d...`, which changes `tests/hermes_cli/test_cmd_update.py` to assert that `Hermes.exe` survives the release-dir graft. That is a good correction to the Desktop-preservation witness and does not touch `_zip_overlay_block_reason()` or the ZIP swap itself.\n\nTherefore the blocking finding from review #4998736688 remains current on this exact head: `git status --porcelain --untracked-files=all` still omits ignored local files, while `_update_via_zip()` still swaps whole archive-owned top-level directories. An ignored file under a replaced directory can therefore be absent from both safety checks and be deleted during commit. The required repair remains: enumerate ignored paths as part of both admission checks (with explicit policy exclusions only for known disposable/preserved updater-owned state) and add a real-git `.git/info/exclude` regression across both the initial check and the staging-window recheck.\n\nThe ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T02:52:10Z","updatedAt":"2026-08-22T02:52:10Z","submittedAt":"2026-08-22T02:52:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92013#pullrequestreview-4998737650"},"data":{"createdAt":"2026-08-22T02:52:10Z","occurredAt":"2026-08-22T02:52:10Z","pullRequest":{"createdAt":"2026-08-22T02:42:02Z","id":"PR_kwDOPRF1G88AAAABAnlmQA","mergedAt":"2026-08-22T05:08:17Z","number":92013,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(update): ZIP fallback no longer destroys user work or the desktop build (#87331, #91962, #87304, #70337 — salvage #87878 + #70477)","updatedAt":"2026-08-22T05:08:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/92013"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T02:52:10Z","updatedAt":"2026-08-22T02:52:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/92013#pullrequestreview-4998737650","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKfopBA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKfopBA","summary":"Blocking review (GitHub will not permit this identity to set `REQUEST_CHANGES` without explicit repository review access) at exact head `b91a658d97e4046a995ae36741611c32d038b4f2`. This is independent of the privacy-notice/redaction/view-URL/dismissal findings already posted by @helix4u.\n\n### The diagnostics upload is not bound to the source that produced the failed turn\n\nThe PR description says that on remote connections “the backend (which owns the failed turn) bundles its own agent/gateway logs.” The implementation does not preserve that ownership.\n\n`ErrorRecoveryActions` renders on a historical failed assistant message, but the new click path is:\n\n```ts\nrequestSendDiagnostics(diagnosticsText())\n```\n\nOnly the formatted error text enters the store. No `connectionId`, profile, backend scope, or source gateway is captured with the failed message. Later, after the user has read the consent modal and clicks Upload, `confirmSendDiagnostics()` does:\n\n```ts\nconst gateway = $gateway.get()\n...\nawait gateway.request('diagnostics.share_nous', params, 120_000)\n```\n\nThat is the **currently selected global gateway at confirmation time**, not necessarily the gateway/profile that emitted the erro","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T05:49:35Z","updatedAt":"2026-08-22T05:49:35Z","submittedAt":"2026-08-22T05:49:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92020#pullrequestreview-4999227652"},"data":{"createdAt":"2026-08-22T05:49:35Z","occurredAt":"2026-08-22T05:49:35Z","pullRequest":{"createdAt":"2026-08-22T02:55:17Z","id":"PR_kwDOPRF1G88AAAABAnnxZQ","mergedAt":"2026-08-22T06:01:31Z","number":92020,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(desktop): Send Diagnostics — error card uploads a redacted debug bundle with support handoff","updatedAt":"2026-08-22T06:02:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/92020"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T05:49:35Z","updatedAt":"2026-08-22T05:49:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/92020#pullrequestreview-4999227652","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKfoQNw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKfoQNw","summary":"Blocking review (GitHub will not permit this identity to set `REQUEST_CHANGES` without explicit repository review access) at exact head `d9f66a6df80ccc919ccfe72b69db794e9f61a4c4` against current `main` / PR base `9ddb6547a062a81510a943cc54f525c25cf63d8f`.\n\nThe backend plumbing is substantial, the host-side `SPRITE_TOKEN` handling is the right direction, and the classification sweep is much more complete than the earlier Sprites branch. Two authority/isolation problems still block the advertised contract, though.\n\n### 1. The production router collapses task/profile ownership before Sprites ever sees it\n\nThe PR says autonomous work runs in “isolated, task-scoped cloud environments,” `tools.md` says Hermes creates “one deterministically named Sprite per task,” and `sprite_name_for_task()` is written to produce exactly that. But the production `terminal_tool()` path does this first:\n\n```py\neffective_task_id = _resolve_container_task_id(task_id)\n...\nnew_env = _create_environment(... task_id=effective_task_id, ...)\n```\n\nThe existing repository contract for `_resolve_container_task_id` is explicit in `tests/tools/test_shared_container_task_id.py`: ordinary top-level sessions and `delegate","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T05:46:58Z","updatedAt":"2026-08-22T05:46:58Z","submittedAt":"2026-08-22T05:46:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92075#pullrequestreview-4999221303"},"data":{"createdAt":"2026-08-22T05:46:58Z","occurredAt":"2026-08-22T05:46:58Z","pullRequest":{"createdAt":"2026-08-22T05:32:05Z","id":"PR_kwDOPRF1G88AAAABAoEhEg","mergedAt":null,"number":92075,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat: add native Fly Sprites terminal backend","updatedAt":"2026-08-22T05:46:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/92075"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T05:46:58Z","updatedAt":"2026-08-22T05:46:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/92075#pullrequestreview-4999221303","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKfQg4A","kind":"review","label":"PRR_kwDOPRF1G88AAAABKfQg4A","summary":"Blocking review (GitHub will not permit this identity to set `REQUEST_CHANGES` without explicit repository review access).\n\n### 1. GitLab's documented dual-token migration becomes a 401 regression\n\n`_validate_signature()` now treats the presence of *any* `svix-*` / `webhook-*` field as authoritative and returns immediately through `_validate_svix_signature()` before the existing `X-Gitlab-Token` branch. That is not backward-compatible with the migration state GitLab explicitly documents.\n\nGitLab 19.x supports a legacy `Secret token` (`X-Gitlab-Token`) and a separate Standard Webhooks `Signing token` (`whsec_<base64>`). Their docs recommend configuring **both** during migration, then updating the receiver, then removing the old token: https://docs.gitlab.com/user/project/integrations/webhooks/#signing-tokens\n\nHermes currently has only one route `secret`. A deterministic existing-install sequence is therefore:\n\n1. Hermes route is configured with the existing legacy secret `old-secret`.\n2. GitLab sends `X-Gitlab-Token: old-secret`; current `main` accepts it.\n3. Operator follows GitLab's zero-downtime migration guidance and additionally enables a *different* `whsec_...` signing token. ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T03:45:56Z","updatedAt":"2026-08-22T03:45:56Z","submittedAt":"2026-08-22T03:45:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92024#pullrequestreview-4998832352"},"data":{"createdAt":"2026-08-22T03:45:56Z","occurredAt":"2026-08-22T03:45:56Z","pullRequest":{"createdAt":"2026-08-22T03:13:01Z","id":"PR_kwDOPRF1G88AAAABAnqi_A","mergedAt":null,"number":92024,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(webhook): Standard Webhooks senders now authenticate (fixes #47451, salvage #47849)","updatedAt":"2026-08-22T23:06:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/92024"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T03:45:56Z","updatedAt":"2026-08-22T03:45:56Z","url":"https://github.com/NousResearch/hermes-agent/pull/92024#pullrequestreview-4998832352","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKFUXwQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKFUXwQ","summary":"Reviewed exact head `a84499e54ea6ecef23f3ca250030c0bd52ca19a4`.\n\n**No blocking findings. Clear to merge from code-review perspective.**\n\nThis fixes the defect at the ownership/routing seam rather than papering over the artifact-preview symptom. Both remote filesystem and remote Git facades now enter the existing `hermesApi()` path, so the active registered gateway's `connectionId` reaches Electron's registry-backed `hermes:api` branch. The merge order inside `hermesApi()` is also correct: ambient connection scope is added first, while each facade's explicit `profile` remains authoritative.\n\nLocal behavior is preserved. The filesystem and Git facades still select their native Electron IPC implementations before these REST helpers are called, so local reads, writes, and Git operations do not get redirected through the gateway path.\n\nThe regression coverage matches the contract boundary:\n\n- filesystem GET and POST paths carry both `connectionId` and `profile`;\n- Git GET and mutation paths carry the same pair;\n- request bodies/methods remain unchanged;\n- the module-global connection scope is reset between tests;\n- existing local-mode and profile-only routing cases remain covered.\n\nArch","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T11:34:00Z","updatedAt":"2026-08-19T11:34:00Z","submittedAt":"2026-08-19T11:34:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89918#pullrequestreview-4971632577"},"data":{"createdAt":"2026-08-19T11:34:00Z","occurredAt":"2026-08-19T11:34:00Z","pullRequest":{"createdAt":"2026-08-19T09:59:20Z","id":"PR_kwDOPRF1G88AAAABAQ4zrg","mergedAt":null,"number":89918,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): route remote file requests by connection","updatedAt":"2026-08-24T06:33:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/89918"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T11:34:00Z","updatedAt":"2026-08-19T11:34:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/89918#pullrequestreview-4971632577","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKFXHaw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKFXHaw","summary":"**Blocking review — changes required** at exact head `03d5b8fd15dc71670ec111f4f1c22cb6f1a11722`.\n\nThe presentation half of this patch consistently introduces `(connection, profile)` identity, and the session grouping/tagging plus explicit foreign-agent activation are pointed in the right direction. The blocking problem is that three downstream control boundaries collapse that identity back to a bare profile name:\n\n1. **Native rail selection after a gateway hop.** Once `$profiles` follows the attached secondary, its squares still enter `selectProfile` / `ensureGatewayProfile`, the legacy profile-only pool. A named secondary profile can therefore activate the primary/local same-named profile.\n2. **Manage Profiles' primary section.** The registry primary is encoded as `connectionId: ''`, but an omitted override means “use the ambient attached connection,” not “use the registry primary.” While attached to a secondary, the primary-labelled section reads that secondary again and primary-labelled writes target the wrong machine.\n3. **Rename/delete lifecycle.** These dialogs now accept remote entries but still invoke the deliberately local-only retirement seam, and delete decides whether t","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T11:40:11Z","updatedAt":"2026-08-19T11:40:11Z","submittedAt":"2026-08-19T11:40:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89915#pullrequestreview-4971677547"},"data":{"createdAt":"2026-08-19T11:40:11Z","occurredAt":"2026-08-19T11:40:11Z","pullRequest":{"createdAt":"2026-08-19T09:53:00Z","id":"PR_kwDOPRF1G88AAAABAQ1oDA","mergedAt":null,"number":89915,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(desktop): true separation by gateway in the sidebar, profile rail and Manage Profiles","updatedAt":"2026-08-20T14:08:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/89915"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T11:40:11Z","updatedAt":"2026-08-19T11:40:11Z","url":"https://github.com/NousResearch/hermes-agent/pull/89915#pullrequestreview-4971677547","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKfy4rg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKfy4rg","summary":"Blocking review (GitHub will not permit this identity to set `REQUEST_CHANGES` without explicit repository review access) on exact head `4a8914d9844de703803460e8fcb0e08dee57f514`.\n\nI agree with the existing top-level review that this branch also restores the exact `SKILLS_GUIDANCE` sentence already proven by #82154/#86677 to break Anthropic subscription OAuth; I am not duplicating that finding here. There is a separate runtime blocker in the new Plan F/B task routing itself:\n\n**`HERMES_TASK` is being introduced as unfenced process-global task identity inside a scheduler that deliberately runs workdir-less jobs concurrently.**\n\n`cron/scheduler.py` now does:\n\n```py\n_hermes_task = job.get(\"task\") or job.get(\"skill\") or (job.get(\"skills\") or [None])[0]\nif _hermes_task:\n    os.environ[\"HERMES_TASK\"] = _hermes_task\nagent = AIAgent(...)\n```\n\nThere is no save/reset token, no `finally` restoration, and the no-task branch does not clear a prior value. At the same time this same scheduler explicitly documents that env-mutating jobs require serialization because `os.environ` is process-global, but dispatch still serializes only jobs with `workdir`; workdir-less jobs remain on the persistent pa","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T06:50:23Z","updatedAt":"2026-08-22T06:50:23Z","submittedAt":"2026-08-22T06:50:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91951#pullrequestreview-4999395502"},"data":{"createdAt":"2026-08-22T06:50:23Z","occurredAt":"2026-08-22T06:50:23Z","pullRequest":{"createdAt":"2026-08-22T00:45:27Z","id":"PR_kwDOPRF1G88AAAABAnRFHQ","mergedAt":null,"number":91951,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(runtime): Plan F 護欄 + Plan B runtime toolset + 軟警告 + 競爭 SOP","updatedAt":"2026-08-23T03:56:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/91951"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T06:50:23Z","updatedAt":"2026-08-22T06:50:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/91951#pullrequestreview-4999395502","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKG02yA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKG02yA","summary":"Re-reviewed exact current head `723dbda0414ce2d8fdc86283b76302537d91b724` against current `main` `13ce0c5c675e843af70d19c9e5144249cd51c8d1`.\n\n## Conflict status: verified clear\n\nGitHub reports this head as `mergeable: true`. The current base is the merge base, and the branch is 2 commits ahead / 0 behind. The merge commit is signature-verified and has the prior reviewed feature head plus current `main` as its two parents. There are no unresolved inline review threads.\n\n## Original code blockers: closed\n\n1. **Alias translation:** one `backendTargetProfile` seam now drives backend response matching and nested profile-keyed requests. `prepareBotSource()`, `ensureBotMetadata()`, and `openBotCanonicalChat()` use the backend identity, including `preferred_session_ids`. Executable regressions cover non-identity Edit hydration/save, context-menu/group mutation routing, and canonical-pin reuse.\n2. **v2 metadata failure atomicity:** `commitBotMetaV2()` captures the previously committed snapshot/marker and restores them when a successor commit fails. The regression starts from committed B, fails D, reloads, and proves B remains authoritative.\n3. **Semantic CLI rewriting:** `rewriteCliProfileO","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T14:24:25Z","updatedAt":"2026-08-19T14:24:25Z","submittedAt":"2026-08-19T14:24:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90006#pullrequestreview-4973213384"},"data":{"createdAt":"2026-08-19T14:24:25Z","occurredAt":"2026-08-19T14:24:25Z","pullRequest":{"createdAt":"2026-08-19T12:34:46Z","id":"PR_kwDOPRF1G88AAAABAR7R7g","mergedAt":"2026-08-23T06:25:24Z","number":90006,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(desktop): route remote bot actions by connection","updatedAt":"2026-08-23T06:25:38Z","url":"https://github.com/NousResearch/hermes-agent/pull/90006"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T14:24:25Z","updatedAt":"2026-08-19T14:24:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/90006#pullrequestreview-4973213384","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKg5PMA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKg5PMA","summary":"Reproduced independently against exact head [`12aba067`](https://github.com/NousResearch/hermes-agent/commit/12aba0677d50b3baefad6d6b592b1d8ca8821d63) and current main [`999703fd`](https://github.com/NousResearch/hermes-agent/commit/999703fd43ab6d75c4a5c7bc8b610dd73ecece76).\n\nWin10 shape: `navigator.platform = 'Win32'`, `glassSupported = false`, empty v2 book. Current main computes `GLASS_IS_WINDOWS = false`, so light resolves `{ mode: 'clear', intensity: 66, material: 'header' }`; the shipped opacity function yields `0.69508`. Dark resolves intensity `22` / opacity `0.96612`. With this PR's behavior change, platform identity is `true` and the renderer resolves the Windows table: light intensity `20` / opacity `0.972`, dark intensity `5` / opacity `0.99825`, both on `under-window`.\n\nThat matches the main-process `IS_WINDOWS` authority and the explicit Windows defaults introduced in [#90587](https://github.com/NousResearch/hermes-agent/pull/90587). Reverting the changed call to `GLASS_IS_WINDOWS` makes the new test fail on both the appearance values and material, so this is a real regression guard rather than a tautology.\n\nNo blocking code finding. Platform family and glass capabili","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T16:15:04Z","updatedAt":"2026-08-22T16:15:04Z","submittedAt":"2026-08-22T16:15:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90852#pullrequestreview-5000548144"},"data":{"createdAt":"2026-08-22T16:15:04Z","occurredAt":"2026-08-22T16:15:04Z","pullRequest":{"createdAt":"2026-08-20T14:08:26Z","id":"PR_kwDOPRF1G88AAAABAbR5kA","mergedAt":null,"number":90852,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): resolve Win10 translucency defaults from platform, not glass capability","updatedAt":"2026-08-22T17:31:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/90852"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T16:15:04Z","updatedAt":"2026-08-22T16:15:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/90852#pullrequestreview-5000548144","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKg84-w","kind":"review","label":"PRR_kwDOPRF1G88AAAABKg84-w","summary":"Blocking review (GitHub will not permit this identity to set `REQUEST_CHANGES` without explicit repository review access).\n\nThe core handoff machinery is thoughtfully built: the bearer is 256-bit and digest-only at rest, terminal states stop rendering the live URL, browser retention is tied to the durable handoff/wake state, `claim_wake()` is an atomic single-delivery boundary, and the turn loop now has an explicit wait boundary rather than asking the model to keep acting while the human owns the browser. I also verified this exact head against current `main` (`999703fd43ab6d75c4a5c7bc8b610dd73ecece76`): CI `32584694775`, Docker `32584694468`, and Nix `32584694449` are all green.\n\nThere is one blocking routing defect in the claimed raw-API + multiplex path.\n\n**Blocker — a `/p/<profile>` API-origin handoff loses the selected profile before the URL and wake identities are persisted.**\n\nThe production chain on this head is:\n\n1. `APIServerAdapter`'s profile-prefix middleware correctly resolves `/p/worker/...`, sets `_api_request_profile`, and enters `_profile_scope(\"worker\")`. That makes `get_hermes_home()` / secrets / profile-local state point at the worker profile for the request.\n2.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T16:50:13Z","updatedAt":"2026-08-22T16:50:13Z","submittedAt":"2026-08-22T16:50:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92350#pullrequestreview-5000607995"},"data":{"createdAt":"2026-08-22T16:50:13Z","occurredAt":"2026-08-22T16:50:13Z","pullRequest":{"createdAt":"2026-08-22T16:00:44Z","id":"PR_kwDOPRF1G88AAAABAp30bA","mergedAt":null,"number":92350,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat: add secure browser human handoff","updatedAt":"2026-08-22T20:36:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/92350"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T16:50:13Z","updatedAt":"2026-08-22T16:50:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/92350#pullrequestreview-5000607995","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKg84dA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKg84dA","summary":"**Final re-review on exact head `60d75b9f0cef26164c9b3e65decc3453cb8818f5` — substantive approval and merge recommendation.**\n\nI re-read the current diff and checked the pinned upstream contracts rather than accepting the round-7 checklist at face value. Every substantive review finding is closed.\n\n### Round 1 — v1 command/config surface\n\n- **`message write` editor claim:** corrected. [`message-composition.md`](https://github.com/NousResearch/hermes-agent/blob/60d75b9f0cef26164c9b3e65decc3453cb8818f5/skills/email/himalaya/references/message-composition.md) now states that `message write` is a visible alias of `message compose` and does not open `$EDITOR` in v2.\n- **Removed `template` subgroup:** corrected. Executable `himalaya template ...` paths are gone; body composition uses `message compose`, while complete RFC 5322 input uses `message send` or `message add`.\n- **Invalid reply flags:** corrected. `--all` / `--quote` are gone; reply-all is expressed through `--to` / `--cc`, and quote behavior through `--posting-style` / `--quote-headline`.\n- **Fake Fastmail JMAP example:** corrected. [`SKILL.md`](https://github.com/NousResearch/hermes-agent/blob/60d75b9f0cef26164c9b3e65decc3453c","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T16:50:08Z","updatedAt":"2026-08-22T16:50:08Z","submittedAt":"2026-08-22T16:50:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/75212#pullrequestreview-5000607860"},"data":{"createdAt":"2026-08-22T16:50:08Z","occurredAt":"2026-08-22T16:50:08Z","pullRequest":{"createdAt":"2026-07-31T04:46:50Z","id":"PR_kwDOPRF1G8742xIy","mergedAt":null,"number":75212,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(skills/himalaya): upgrade bundled skill to himalaya v2 schema","updatedAt":"2026-08-22T19:10:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/75212"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T16:50:08Z","updatedAt":"2026-08-22T16:50:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/75212#pullrequestreview-5000607860","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKgb13Q","kind":"review","label":"PRR_kwDOPRF1G88AAAABKgb13Q","summary":"Blocking review at exact head `c0f779ef2a66961f2d39730fd3e397c450907b29` (base/current `main` `261a4efb90d7dbe4e71786861858f721b4ab730c`). The visibility/durability direction is right: provider failures are no longer debug-only, the tool result exposes degraded mirror state, the queue is profile-local and restart-persistent, and exact-head CI/Docker/Nix are green. Two ordering/ownership holes remain before this is a safe durable outbox.\n\n1. **A failed replay does not actually fence later writes, so FIFO can be violated.** `MemoryManager.on_memory_write()` calls `_replay_provider_writes(provider)` and then unconditionally attempts the *current* write directly. `_replay_provider_writes()` logs that replay paused when the oldest row fails, but it returns no state that prevents that direct write. Deterministic sequence:\n\n   - write A fails during an outage and is queued;\n   - later write B arrives;\n   - replay of A is attempted first and fails again (poison row, action-specific failure, or transient failure at that instant);\n   - the same call then sends B directly and B succeeds;\n   - A remains in the outbox and can replay *after* B later.\n\n   That contradicts this PR's advertised FIF","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T11:47:34Z","updatedAt":"2026-08-22T11:47:34Z","submittedAt":"2026-08-22T11:47:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92235#pullrequestreview-5000066525"},"data":{"createdAt":"2026-08-22T11:47:34Z","occurredAt":"2026-08-22T11:47:34Z","pullRequest":{"createdAt":"2026-08-22T11:36:44Z","id":"PR_kwDOPRF1G88AAAABApGv5g","mergedAt":null,"number":92235,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(memory): prevent silent loss of external provider writes","updatedAt":"2026-08-22T17:27:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/92235"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T11:47:34Z","updatedAt":"2026-08-22T11:47:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/92235#pullrequestreview-5000066525","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKgKaiQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKgKaiQ","summary":"Blocking on one remaining refresh-authority hole at exact head `094e35523a39b008fbb24727776420ea0a5ec164`.\n\nThe current branch fixed the earlier cross-provider cache-leak concern by adding `provider_hint` to `_native_refresh_cache_key()`, and it normalizes unknown hints so arbitrary strings cannot partition the cache. That is useful, but the **recognized** hint is still not an ownership proof in Hermes' auth model. Current `main` documents the canonical contract in `dashboard_auth/middleware.py::_attempt_refresh`: the hint only changes candidate order; `RefreshExpiredError` from one provider cannot prove token ownership because a provider may reject a foreign opaque token, so Hermes continues trying the remaining providers.\n\nThat makes the current single-flight key too strong in exactly the wrong dimension. A deterministic violating sequence is:\n\n1. Providers A and B are registered; the old rotating refresh token belongs only to A.\n2. Two requests from the same client present the same old RT concurrently. Request 1 carries recognized hint A; request 2 carries recognized hint B.\n3. Because `provider_hint` is part of `cache_key`, the requests intentionally get independent locks (the ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T08:44:12Z","updatedAt":"2026-08-22T08:44:12Z","submittedAt":"2026-08-22T08:44:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/71548#pullrequestreview-4999781001"},"data":{"createdAt":"2026-08-22T08:44:12Z","occurredAt":"2026-08-22T08:44:12Z","pullRequest":{"createdAt":"2026-07-25T19:45:01Z","id":"PR_kwDOPRF1G872Ywse","mergedAt":null,"number":71548,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): coalesce concurrent native OAuth refresh requests","updatedAt":"2026-08-28T09:56:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/71548"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T08:44:12Z","updatedAt":"2026-08-22T08:44:12Z","url":"https://github.com/NousResearch/hermes-agent/pull/71548#pullrequestreview-4999781001","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKglFNg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKglFNg","summary":"Blocking review on exact head `6f2a1fd35ef008c84ca2ccdee1db8631219fdd8d` (base/current `main` `261a4efb90d7dbe4e71786861858f721b4ab730c`). There were no prior PR reviews or comments when I inspected this head.\n\nThe exact-id/atomic-winner work is directionally careful, but I see one concrete correctness defect in the public contract plus one repository-topology blocker that now supersedes the premise of the PR.\n\n1. **The documented subscriber→resolve path loses the profile capability on the executor hop, so secondary-profile interactions fail closed against their own valid target.**\n\n`PendingInteractionService.register()` correctly mints `target.profile_id` from `_active_profile_id()`. In a multiplex gateway that profile is normally established by Hermes' context-local `set_hermes_home_override()`: `get_active_profile_name()` calls `get_hermes_home()`, and `get_hermes_home()` explicitly reads `_HERMES_HOME_OVERRIDE`, a `ContextVar`.\n\nBut `_emit()` dispatches every subscriber through a raw `ThreadPoolExecutor.submit(...)` without `contextvars.copy_context()` or the repository's `propagate_context_to_thread()` helper. Hermes already documents why this matters in `tools/thread_context.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T12:55:48Z","updatedAt":"2026-08-22T13:05:53Z","submittedAt":"2026-08-22T12:55:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92257#pullrequestreview-5000217910"},"data":{"createdAt":"2026-08-22T12:55:48Z","occurredAt":"2026-08-22T12:55:48Z","pullRequest":{"createdAt":"2026-08-22T12:44:53Z","id":"PR_kwDOPRF1G88AAAABApTFWg","mergedAt":null,"number":92257,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(agent): let backend plugins resolve exact live prompts","updatedAt":"2026-08-22T13:34:24Z","url":"https://github.com/NousResearch/hermes-agent/pull/92257"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T12:55:48Z","updatedAt":"2026-08-22T13:05:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/92257#pullrequestreview-5000217910","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKgp5Cg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKgp5Cg","summary":"Blocking review on exact head `614977c2b47c2fc6cc8bbb1a7ee9fe031af7ca00` (current `main`/base `261a4efb90d7dbe4e71786861858f721b4ab730c`). The central `SessionDB` narrowing is correct, but two production repair authorities still bypass the invariant this PR is trying to establish.\n\n### 1. Gateway transcript persistence still classifies generic structural corruption as FTS corruption and rebuilds online\n\nThis PR correctly changes `SessionDB._is_fts_write_corruption_error()` so bare `database disk image is malformed` no longer authorizes an FTS rebuild. But `gateway/session.py` has a second classifier in `SessionStore._is_fts_corruption_error()` that still explicitly matches:\n\n```python\n\"database disk image is malformed\",\n\"malformed database schema\",\n\"messages_fts\",\n\"no such table: messages_fts\",\n```\n\nand `_append_to_transcript_serialized()` still does:\n\n```python\nif self._is_fts_corruption_error(exc) and self._rebuild_fts_once():\n    ... retry append ...\n```\n\nSo the exact sequence on this head is still:\n\n1. canonical transcript append reaches `SessionDB`;\n2. SQLite raises generic `SQLITE_CORRUPT` / `database disk image is malformed`;\n3. the newly-narrowed `SessionDB` correctly refus","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T13:48:01Z","updatedAt":"2026-08-22T13:48:01Z","submittedAt":"2026-08-22T13:48:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91585#pullrequestreview-5000296714"},"data":{"createdAt":"2026-08-22T13:48:01Z","occurredAt":"2026-08-22T13:48:01Z","pullRequest":{"createdAt":"2026-08-21T14:48:17Z","id":"PR_kwDOPRF1G88AAAABAkF8sw","mergedAt":null,"number":91585,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(state): fail closed on unscoped SQLite corruption","updatedAt":"2026-08-24T09:37:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/91585"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T13:48:01Z","updatedAt":"2026-08-22T13:48:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/91585#pullrequestreview-5000296714","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKgQ7Uw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKgQ7Uw","summary":"Blocking finding on exact head `e842a685e5833ea83ff011e7eb238f92f9b16726`.\n\nThe matcher change itself is correct for #92146: protected basenames and configured extra patterns now run before the active-`HERMES_HOME` exemption, while ordinary active-home files still skip only the broad immediate-parent `.hermes` rule. The remaining problem is the **approval object identity**.\n\n`_protected_instruction_reason()` returns only `base` for the basename/extra-pattern cases. `_check_protected_instruction_write()` collects those strings, then `_request_protected_instruction_approval()` does:\n\n```py\ntargets = \", \".join(dict.fromkeys(reasons))\n```\n\nand sends `<write to {targets}>` / `Write to protected agent-instruction file(s): {targets}` to the approval surface. That was already lossy for project copies; this PR makes it security-relevant because the same label now authorizes the *live profile instruction file*.\n\nA deterministic violating case is one V4A patch that touches both `/repo/AGENTS.md` and the active `~/.hermes/AGENTS.md`. Both resolve to the reason `AGENTS.md`, `dict.fromkeys` collapses them, and the user sees one target: `AGENTS.md`. Approving once authorizes both writes, even tho","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T09:50:44Z","updatedAt":"2026-08-22T09:50:44Z","submittedAt":"2026-08-22T09:50:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92155#pullrequestreview-4999887699"},"data":{"createdAt":"2026-08-22T09:50:44Z","occurredAt":"2026-08-22T09:50:44Z","pullRequest":{"createdAt":"2026-08-22T09:29:10Z","id":"PR_kwDOPRF1G88AAAABAoyGpA","mergedAt":null,"number":92155,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(file-tools): stop active-profile instruction persistence from bypassing approval","updatedAt":"2026-08-22T16:34:38Z","url":"https://github.com/NousResearch/hermes-agent/pull/92155"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T09:50:44Z","updatedAt":"2026-08-22T09:50:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/92155#pullrequestreview-4999887699","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKGuJlQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKGuJlQ","summary":"Reviewed exact head `74adcdb9a363c3f7c59e545b93b2a880a2274e94` against current `main` (`13ce0c5c675e843af70d19c9e5144249cd51c8d1`). The earlier ordering defect is fixed: the obsolete main-error call sites are gone, attribution now emits from the completed compression-abort path, classification resets per attempt, and endpoint query stripping is structural.\n\nTwo source-to-sink defects remain against #72636’s requirement that the diagnostic describe the **last physical wire attempt with that attempt’s own failure classification**.\n\n### [P2] Preserve the error belonging to the final fallback route\n\nThe route observer updates `_last_aux_call_*` immediately before each fallback request. But `_call_fallback_candidate_sync()` deliberately catches an unrefreshable fallback 401, quarantines that provider, and returns `None`. If no later candidate is available, `_call_llm_impl()` reaches its final bare `raise`, which re-raises the earlier `first_err` from the primary route.\n\nThat splits the diagnostic into two different attempts:\n\n- `_last_aux_call_*` identifies the **last fallback**;\n- `_generate_summary()` classifies the **earlier primary exception** that was re-raised.\n\nConcrete shape:\n\n`","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T14:13:37Z","updatedAt":"2026-08-19T14:13:37Z","submittedAt":"2026-08-19T14:13:37Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/72637#pullrequestreview-4973103509"},"data":{"createdAt":"2026-08-19T14:13:37Z","occurredAt":"2026-08-19T14:13:37Z","pullRequest":{"createdAt":"2026-07-27T12:10:17Z","id":"PR_kwDOPRF1G8725KmP","mergedAt":null,"number":72637,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(compression): attribute auxiliary failures to the actual wire route","updatedAt":"2026-08-20T02:08:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/72637"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T14:13:37Z","updatedAt":"2026-08-19T14:13:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/72637#pullrequestreview-4973103509","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKgVYbw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKgVYbw","summary":"Blocking review on exact head `e86208ef062c09a20985db7627f5b541c305a1c3` (GitHub does not permit this identity to submit `REQUEST_CHANGES` without explicit repository review access).\n\nThe priority inheritance change is mechanically sound in isolation, and the orchestrator-worker exception is aimed at a real asymmetry. Two things block this exact object from being merge-safe, though.\n\n1. **The new board-routing grant is built on a fail-open ownership predicate.**\n\n`_is_orchestrator_worker()` now grants the orchestrator-only surface when `HERMES_PROFILE` matches `kanban.orchestrator_profile`, `HERMES_KANBAN_TASK` is present, and `_is_dispatcher_owned_worker()` returns true. That last helper is not an authority proof: today it does\n\n```python\ntry:\n    from agent.delegation_context import is_dispatcher_owned_worker_context\n    return is_dispatcher_owned_worker_context()\nexcept Exception:\n    return True\n```\n\nwhile `_is_delegated_child_context()` likewise returns `False` on any exception. So if the context module/import/probe is unavailable or broken, the exact pair of safety checks this PR relies on both fail in the permissive direction. A process carrying the orchestrator profile/task","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T10:45:11Z","updatedAt":"2026-08-22T10:45:11Z","submittedAt":"2026-08-22T10:45:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92206#pullrequestreview-4999960687"},"data":{"createdAt":"2026-08-22T10:45:11Z","occurredAt":"2026-08-22T10:45:11Z","pullRequest":{"createdAt":"2026-08-22T10:38:30Z","id":"PR_kwDOPRF1G88AAAABAo9e8Q","mergedAt":null,"number":92206,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(kanban): auto-decomposed subtrees are dispatchable and the orchestrator worker can see the board","updatedAt":"2026-08-22T17:41:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/92206"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T10:45:11Z","updatedAt":"2026-08-22T10:45:11Z","url":"https://github.com/NousResearch/hermes-agent/pull/92206#pullrequestreview-4999960687","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKgW1EA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKgW1EA","summary":"Blocking review.\n\nThe live foreground/background split is coherent while everything stays in one process: external Telegram ingress reads the durable `telegram_foreground_route`, `/bg` gives the detached agent a `session_route_id`, and `_apply_persisted_session_route()` correctly refuses to rewrite internal events to whichever route happens to be foreground now. The missing side is that the **selected agent route itself is not durable**.\n\n`SessionSource.session_route_id` is deliberately omitted from `to_dict()` / `from_dict()` (the new tests assert a restored source has `session_route_id is None`), but production background completion routing reconstructs its source from persisted `SessionEntry.origin`. That makes the new route suffix disappear exactly across the persistence/restart boundary where asynchronous work still needs an immutable owner.\n\nA deterministic failure is:\n\n1. Telegram chat has physical key `K`; `/bg` or `/back` creates a live routed agent at `K:route:fg_A`.\n2. That agent launches asynchronous/background work. Its in-memory `SessionEntry.origin` contains `fg_A`.\n3. The gateway/process state is checkpointed and later rehydrated. Because `session_route_id` is inten","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T11:03:14Z","updatedAt":"2026-08-22T16:18:54Z","submittedAt":"2026-08-22T11:03:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92197#pullrequestreview-4999984400"},"data":{"createdAt":"2026-08-22T11:03:14Z","occurredAt":"2026-08-22T11:03:14Z","pullRequest":{"createdAt":"2026-08-22T10:22:46Z","id":"PR_kwDOPRF1G88AAAABAo7CYw","mergedAt":null,"number":92197,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(gateway): route live Telegram agents between foreground and background","updatedAt":"2026-08-22T16:18:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/92197"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T11:03:14Z","updatedAt":"2026-08-22T16:18:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/92197#pullrequestreview-4999984400","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKh4Vjg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKh4Vjg","summary":"Blocking re-review at exact head `0b01599eefcb2ec8d464c8c7b2b11289bb37c207` (GitHub still does not permit this identity to set `REQUEST_CHANGES`, so this is submitted as a review comment).\n\nThe Linux-lane repair is real and cleanly scoped. The exact `fe95ed3930e3fe203c703a3893928e31b5ccbb69...0b01599eefcb2ec8d464c8c7b2b11289bb37c207` compare is one commit touching only `hermes_cli/_install_repair.py` and `tests/hermes_cli/test_uninstall_windows_bin_launchers.py`. Exact-head [CI `32614708070`](https://github.com/NousResearch/hermes-agent/actions/runs/32614708070), [Docker `32614707624`](https://github.com/NousResearch/hermes-agent/actions/runs/32614707624), and [Nix `32614707607`](https://github.com/NousResearch/hermes-agent/actions/runs/32614707607) are all green.\n\nIt does **not** close the cross-install ownership blocker.\n\n`hermes_cli/uninstall.py` is byte-identical to the blocked head: GitHub returns blob `fbced3bab7f2db75e29b7687055a49975f525662` at both `fe95ed3` and `0b01599`. On the exact new head:\n\n- [`remove_windows_bin_launchers()` still accepts no uninstall-target identity and unconditionally selects `get_default_hermes_root() / \"bin\"`](https://github.com/NousResearch/her","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T03:29:27Z","updatedAt":"2026-08-23T03:29:27Z","submittedAt":"2026-08-23T03:29:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92636#pullrequestreview-5001581966"},"data":{"createdAt":"2026-08-23T03:29:27Z","occurredAt":"2026-08-23T03:29:27Z","pullRequest":{"createdAt":"2026-08-23T02:32:52Z","id":"PR_kwDOPRF1G88AAAABArhJ5Q","mergedAt":"2026-08-23T03:58:00Z","number":92636,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(windows): stage hermes launchers in the managed binary dir, not the git checkout","updatedAt":"2026-08-23T03:58:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/92636"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T03:29:27Z","updatedAt":"2026-08-23T03:29:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/92636#pullrequestreview-5001581966","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKh6jqA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKh6jqA","summary":"Reviewed exact head `af3fbacdfde5cf96a5ef9039cefb9be3bb4e176e` against current `main` `fd760435c6688a2b6c6b7436dde30e267237baef`.\n\nThe core shape is good: this is a live-only, ownership-scoped snapshot; the activity read happens outside the registry lock; the target is revalidated afterward; the event ring is bounded; capture failures degrade explicitly instead of breaking the child; and reasoning, assistant text, raw arguments, and raw results are deliberately excluded. Those are the right boundaries.\n\n## Blocker — URL credentials carried in path segments remain model-visible\n\n`tools/delegate_tool.py:854-879` rebuilds a URL after dropping userinfo, query, and fragment, but keeps `parsed.path` verbatim:\n\n```python\nreturn urlunsplit((parsed.scheme, netloc, parsed.path, \"\", \"\"))\n```\n\nThe upstream progress path does not close this gap. `agent/tool_executor.py:1020-1029` forwards display arguments into `tool_progress_callback`, while `agent/display.py:400-414` only redacts `browser_type.text`; generic `url` / `urls` / `endpoint` arguments are returned unchanged. The new inspect tee therefore receives the original URL and preserves every credential embedded in its path.\n\nExact reproduct","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T04:00:14Z","updatedAt":"2026-08-23T04:00:14Z","submittedAt":"2026-08-23T04:00:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92649#pullrequestreview-5001618344"},"data":{"createdAt":"2026-08-23T04:00:14Z","occurredAt":"2026-08-23T04:00:14Z","pullRequest":{"createdAt":"2026-08-23T02:58:43Z","id":"PR_kwDOPRF1G88AAAABArkqrg","mergedAt":null,"number":92649,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(delegation): add bounded live subagent inspect","updatedAt":"2026-08-30T04:08:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/92649"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T04:00:14Z","updatedAt":"2026-08-23T04:00:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/92649#pullrequestreview-5001618344","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKh8vSg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKh8vSg","summary":"## Exact-head rereview — lifecycle blocker closed; acceptance now blocked only on fresh CI\n\nReviewed exact head `c435c0ac809de13b8735167b31e6bc4b4d066c53` against my prior `f828c27457bf8e1f2df296463e2104e9a2c48359` lifecycle-authority finding.\n\nThe code-level blocker is closed.\n\n- Shell-hook idempotence teardown/replay is now current-home scoped instead of clearing the process-global ledger.\n- Outbound webhooks now participate in the same force-reload restoration path, so callback state and idempotence state remain symmetric.\n- `PluginManager.discover_and_load(force=True)` executes under `_plugin_home_scope(self.home_path)`, so the \"current home\" used by both re-registration helpers is the manager actually being reloaded.\n- `get_plugin_manager()` is already cached per resolved Hermes home, so manager ownership and the new home-qualified ledgers now align on the same identity dimension.\n- The new two-manager shell-hook regression exercises force-reload A followed by B recovery and proves B remains wired exactly once; the outbound-webhook regression proves the reloaded callback is restored and fires once.\n\nI do not see a remaining code-level blocker in this seven-file shape.\n\nExact-h","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T04:29:04Z","updatedAt":"2026-08-23T04:29:04Z","submittedAt":"2026-08-23T04:29:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92682#pullrequestreview-5001654090"},"data":{"createdAt":"2026-08-23T04:29:04Z","occurredAt":"2026-08-23T04:29:04Z","pullRequest":{"createdAt":"2026-08-23T03:43:49Z","id":"PR_kwDOPRF1G88AAAABArquVg","mergedAt":null,"number":92682,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): register secondary profiles' shell hooks and outbound webhooks","updatedAt":"2026-08-23T16:36:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/92682"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T04:29:04Z","updatedAt":"2026-08-23T04:29:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/92682#pullrequestreview-5001654090","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKh998Q","kind":"review","label":"PRR_kwDOPRF1G88AAAABKh998Q","summary":"Blocking review on exact head `13d6f392dacc50407836a2b5675bcadf85b18bc2`.\n\nThe release guard/default-path centralization is directionally correct, but the core source-checkout exclusion predicate is anchored to the process working directory rather than to the path whose safety it is supposed to prove.\n\n`_get_default_hermes_home()` explicitly honors `HERMES_HOME`. `_profile_export_directory()` then constructs `<default_home>/profile-exports`, but discovers `checkout_root` only by walking `Path.cwd()` and its parents. That leaves a deterministic bypass:\n\n1. `/tmp/repo/.git` exists;\n2. `HERMES_HOME=/tmp/repo`;\n3. Hermes is launched from `/tmp/outside` (no `.git` ancestor);\n4. `_profile_export_directory()` gets `checkout_root=None` and returns `/tmp/repo/profile-exports`.\n\nThe default export archive is therefore written *inside the source checkout* again—the exact artifact-in-repository input this PR is intended to make impossible after #92457/#92394. The same bug appears when cwd is inside unrelated checkout A while `HERMES_HOME` is inside checkout B: the candidate is tested only against A, so B is not recognized as a checkout at all.\n\nThe new regression covers only the favorable topo","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T04:45:43Z","updatedAt":"2026-08-23T04:45:43Z","submittedAt":"2026-08-23T04:45:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92689#pullrequestreview-5001674225"},"data":{"createdAt":"2026-08-23T04:45:43Z","occurredAt":"2026-08-23T04:45:43Z","pullRequest":{"createdAt":"2026-08-23T04:08:15Z","id":"PR_kwDOPRF1G88AAAABArt-1A","mergedAt":null,"number":92689,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(security): prevent profile export archives from reaching source and images","updatedAt":"2026-08-23T07:55:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/92689"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T04:45:43Z","updatedAt":"2026-08-23T04:45:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/92689#pullrequestreview-5001674225","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKhD6zw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKhD6zw","summary":"I reviewed exact head `ec8e722a84525a4711f64647fed7d6206100a45e` against current `main` / PR base `0cde4dd93aa794c65fee6cc85b0b5e4eee77e8e2`. The raw Responses/health split is a useful direction, and the new inbound-key option and provider-header overlay are meaningful pieces. I do not think this head is safe to merge yet because two credential-authority boundaries remain open.\n\n**Blocker 1 — Codex subscription spend is still exposable by a legal CLI configuration.** `run_server()` accepts arbitrary `--host`, and `create_app()` deliberately treats `inbound_bearer_key=None` as authorized. The docs then retain the literal LAN recipe `hermes proxy start --host 0.0.0.0 --port 8645`, merely warning that `--auth-key-env` should be used. For `openai-codex`, that means a perfectly accepted command publishes an unauthenticated listener that attaches the user's ChatGPT OAuth bearer to every allowed request. This is not equivalent to an ordinary unauthenticated local proxy: the listener is spending a subscription credential the remote caller never possesses.\n\nThe authority needs to be enforced in code, not left to operator memory. The narrow compatible rule is: `openai-codex` may bind loopbac","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T17:53:01Z","updatedAt":"2026-08-22T17:53:01Z","submittedAt":"2026-08-22T17:53:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92409#pullrequestreview-5000723151"},"data":{"createdAt":"2026-08-22T17:53:01Z","occurredAt":"2026-08-22T17:53:00Z","pullRequest":{"createdAt":"2026-08-22T17:47:14Z","id":"PR_kwDOPRF1G88AAAABAqMWBQ","mergedAt":null,"number":92409,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(proxy): add OpenAI Codex subscription adapter","updatedAt":"2026-08-22T20:26:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/92409"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T17:53:00Z","updatedAt":"2026-08-22T17:53:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/92409#pullrequestreview-5000723151","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKHECeA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKHECeA","summary":"Reviewed exact head `f09df10c5de9313bbc4b12048777dcd2d8535d52` against the PR's pre-loop liveness contract, all nine changed files, the stdlib-only arm/fire path, the race/progress tests, current hosted checks, the existing author follow-up, and the adjacent gateway-liveness / restart / state-repair work.\n\nThe architectural seam is right: a pre-event-loop watchdog must be owned by an OS thread that is armed before the heavy gateway import graph and disarmed exactly when the existing loop-liveness guard becomes authoritative. The follow-up at this head also closes several real holes in the first version: the import-light top-level module, explicit `armed -> disarmed | firing` state transition, legacy entry-point coverage, and explicit kick around the respawn-storm backoff are all good changes.\n\nI would not merge this head yet. I found two remaining class-level blockers in the proof that a watchdog fire both (a) cannot itself wedge and (b) distinguishes the watched startup from unrelated process activity.\n\n## 1. The hard-exit path still depends on blocking logging/filesystem work before `os._exit`\n\nThe PR correctly identifies one critical failure mode: at fire time the main thread ma","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T14:49:05Z","updatedAt":"2026-08-19T14:49:05Z","submittedAt":"2026-08-19T14:49:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89750#pullrequestreview-4973462136"},"data":{"createdAt":"2026-08-19T14:49:05Z","occurredAt":"2026-08-19T14:49:05Z","pullRequest":{"createdAt":"2026-08-19T04:52:41Z","id":"PR_kwDOPRF1G88AAAABAPAtjA","mergedAt":null,"number":89750,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): startup-liveness watchdog for pre-event-loop deadlocks (OOF-298)","updatedAt":"2026-08-22T15:09:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/89750"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T14:49:05Z","updatedAt":"2026-08-19T14:49:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/89750#pullrequestreview-4973462136","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKHGlQg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKHGlQg","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T14:52:58Z","updatedAt":"2026-08-19T14:52:58Z","submittedAt":"2026-08-19T14:52:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89461#pullrequestreview-4973503810"},"data":{"createdAt":"2026-08-19T14:52:58Z","occurredAt":"2026-08-19T14:52:58Z","pullRequest":{"createdAt":"2026-08-18T20:41:23Z","id":"PR_kwDOPRF1G88AAAABAMrNkQ","mergedAt":null,"number":89461,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): enforce SSRF network boundary for browser_exec","updatedAt":"2026-08-23T12:44:29Z","url":"https://github.com/NousResearch/hermes-agent/pull/89461"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T14:52:58Z","updatedAt":"2026-08-19T14:52:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/89461#pullrequestreview-4973503810","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKhhpaw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKhhpaw","summary":"Reviewed exact head `bf035c9623d1a952ede837faab6a024a030c626a` against exact current `main` / base `987064caa4f8845f605ac7346fed5b72fddfb21c`.\n\nThe dependency graph itself looks internally coherent: the Desktop manifest and builder pin both move to Electron 43.4.1, the lock moves Electron onto `@electron/get` 5 + `@electron-internal/extract-zip`, the two vulnerable Nano ID 3.x copies resolve to 3.3.18, and the existing Nano ID 6.0.0 node is preserved. I don't see a lockfile/version-sync defect in those bytes.\n\nI do have two merge blockers at the repository boundary.\n\n**1. This drops the already-proven Linux ARM64 packaged-layout side of the same Electron remediation.** Current `main` still hard-codes `release/linux-unpacked` in `apps/desktop/scripts/test-desktop.mjs`. #89479 by @schmitzi8 hit the real ARM64 package and established that electron-builder emits `release/linux-arm64-unpacked`; that branch adds `packaged-app-layout.mjs`, the x64/ARM64 regression, and routes the validator through the resolved directory name. #92543 changes the Electron runtime again but leaves that known-bad validator untouched, and its own test plan says neither `hermes desktop` / `--dir` packaging nor ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T22:46:39Z","updatedAt":"2026-08-22T22:46:39Z","submittedAt":"2026-08-22T22:46:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92543#pullrequestreview-5001210219"},"data":{"createdAt":"2026-08-22T22:46:39Z","occurredAt":"2026-08-22T22:46:39Z","pullRequest":{"createdAt":"2026-08-22T22:20:51Z","id":"PR_kwDOPRF1G88AAAABAq9EgA","mergedAt":null,"number":92543,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix: bump Electron to 43.4.1 and nanoid to 3.3.18","updatedAt":"2026-08-22T23:57:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/92543"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T22:46:39Z","updatedAt":"2026-08-22T22:46:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/92543#pullrequestreview-5001210219","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKhoc4A","kind":"review","label":"PRR_kwDOPRF1G88AAAABKhoc4A","summary":"Blocking review (GitHub will not permit this identity to set `REQUEST_CHANGES` without explicit repository review access).\n\nThe shell bridge itself is now doing the right thing: the exact `approve` shape from #92553 survives parsing, malformed/unsupported `pre_tool_call` directives become visible and honor `fail_closed`, doctor and runtime share one semantic validator, and the one-hook production path reaches the existing human gate with the supplied reason/rule key. Exact-head CI/Docker/Nix are all green.\n\nThere is still one authority blocker before this should become the documented shell-hook contract, though: **the shared pre-tool aggregator lets an earlier `approve` erase a later hard `block`.**\n\n`agent.shell_hooks.register_from_config()` appends configured shell callbacks to `manager._hooks[event]` in config order. The lifecycle dispatcher runs the callbacks and returns their results in that order. `_get_pre_tool_call_directive_details()` then walks those results and immediately returns on the first valid `block` *or* `approve` directive. That means this deterministic policy stack is unsafe:\n\n1. shell hook A returns `{\"action\":\"approve\",\"message\":\"confirm sensitive write\",\"rul","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T00:07:52Z","updatedAt":"2026-08-23T00:07:52Z","submittedAt":"2026-08-23T00:07:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92562#pullrequestreview-5001321696"},"data":{"createdAt":"2026-08-23T00:07:52Z","occurredAt":"2026-08-23T00:07:52Z","pullRequest":{"createdAt":"2026-08-22T23:25:00Z","id":"PR_kwDOPRF1G88AAAABArG1lA","mergedAt":null,"number":92562,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(hooks): stop shell hook approval requests from bypassing confirmation","updatedAt":"2026-08-23T00:30:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/92562"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T00:07:52Z","updatedAt":"2026-08-23T00:07:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/92562#pullrequestreview-5001321696","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKhonrQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKhonrQ","summary":"## Exact-head verification — merge recommendation\n\nReviewed exact head `77782c3dd6266604216d1a77d0c1bdb66821da2e`, based directly on current `main@530028c213ae9eed5d7f1a826451e0edf24a11d2`.\n\nI re-reviewed the complete three-file diff after the author's rebase rather than inheriting my earlier `COMMENTED` verdict on `0f76b4a...`. The branch is now current, open, non-draft, mergeable, and has no unresolved inline review threads.\n\n**Verdict: the code is clear. I recommend merge after the exact-head hosted workflows are permitted to execute and pass.** No code change requested.\n\nThe two data-loss invariants are closed at the correct authority boundary:\n\n- mutating repair strategies receive only `<db>.repair-scratch`, never the live database;\n- staging uses SQLite's Online Backup API, so committed WAL frames are included;\n- one plain-path SQLite connection acquires `locking_mode=EXCLUSIVE` plus `BEGIN EXCLUSIVE`, rolls back the acquisition transaction, and remains open through staging, strategy execution, and transactional promotion;\n- a writer cannot commit between snapshot and promotion and then be silently overwritten;\n- promotion writes into the guarded destination connection instea","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T00:09:51Z","updatedAt":"2026-08-23T00:09:51Z","submittedAt":"2026-08-23T00:09:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/87409#pullrequestreview-5001324461"},"data":{"createdAt":"2026-08-23T00:09:51Z","occurredAt":"2026-08-23T00:09:51Z","pullRequest":{"createdAt":"2026-08-16T03:18:38Z","id":"PR_kwDOPRF1G87_n7gw","mergedAt":null,"number":87409,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(state): a failed schema repair must not destroy the database","updatedAt":"2026-08-24T01:26:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/87409"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T00:09:51Z","updatedAt":"2026-08-23T00:09:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/87409#pullrequestreview-5001324461","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKhQHIg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKhQHIg","summary":"Reviewed exact head `a1c84851c0b79f69351a8b3e68614fff4749119d` against base/current `main` `13f4cfebfafbce8ac9d1bf29f66731858ed638b5`.\n\nThere is a lot here that is structurally right: the PTY re-validates `embed -> profile` before `accept()`, invalid chat embeds fail closed in the SPA instead of falling back to the normal dashboard, origin strings are parsed as exact HTTP(S) origins, and lifecycle `postMessage` calls use a bounded `targetOrigin`.\n\n**Blocker — `?embed=` makes every SPA route frameable, not only the chat document.**\n\n`hermes_cli/web_server.py::serve_spa()` decides to emit the external `frame-ancestors` policy solely from `bool(request.query_params.get(\"embed\"))`, regardless of the route. `_serve_index()` then emits `Content-Security-Policy: frame-ancestors 'self' <all configured embed_parent_origins>`.\n\nThe frontend makes a different decision: `web/src/App.tsx` enters `EmbeddedChatHost` only when `isChatRoute && searchParams.has(\"embed\")`. Therefore a request such as:\n\n`/settings?embed=console-research`\n\n(or `/sessions?embed=...`, etc.) receives the externally-frameable CSP but renders the ordinary full dashboard because `isChatRoute` is false. On the same-schemeful-","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T19:46:45Z","updatedAt":"2026-08-22T19:46:45Z","submittedAt":"2026-08-22T19:46:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92477#pullrequestreview-5000922914"},"data":{"createdAt":"2026-08-22T19:46:45Z","occurredAt":"2026-08-22T19:46:45Z","pullRequest":{"createdAt":"2026-08-22T19:38:47Z","id":"PR_kwDOPRF1G88AAAABAqhLYg","mergedAt":null,"number":92477,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(dashboard): add policy-pinned embedded chat","updatedAt":"2026-08-27T15:28:41Z","url":"https://github.com/NousResearch/hermes-agent/pull/92477"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T19:46:45Z","updatedAt":"2026-08-22T19:46:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/92477#pullrequestreview-5000922914","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKHrn-A","kind":"review","label":"PRR_kwDOPRF1G88AAAABKHrn-A","summary":"Reviewed exact head `56175a5993b3cc9bef2ac0ed11c32ac21855815c` against current `main` `b5455fdd16fe608214f91149233660e1836b067c` (the PR is directly based on current main). There were no existing formal reviews, inline threads, or PR discussion on this head.\n\nThe core isolation shape is right: capture a mounted `ChatView` surface identity synchronously at click time, require `{target, surfaceId, paneVisible, !inputDisabled}` at the receiver, and fail closed if the concrete surface cannot be proven. The per-surface `useId()` rather than session ID is important because fresh chats have no durable ID and the same stored session can legitimately be mounted more than once. The broader addition over #85911—carrying Review's originating target/worktree so a tile-scoped review returns to that tile—is also the correct next boundary.\n\nI found one merge blocker in that new boundary:\n\n### Blocker: the normal wide-layout `toggleReview()` path drops the exact surface identity\n\n`ChatBar` now calls:\n\n```ts\ntoggleReview(scope.target === 'main' ? null : (cwd ?? null), scope.target, composerSurfaceId)\n```\n\nand `toggleReview()` correctly accepts all three pieces of origin proof. The narrow/collapsed b","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T15:54:09Z","updatedAt":"2026-08-19T15:54:09Z","submittedAt":"2026-08-19T15:54:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90097#pullrequestreview-4974110712"},"data":{"createdAt":"2026-08-19T15:54:09Z","occurredAt":"2026-08-19T15:54:09Z","pullRequest":{"createdAt":"2026-08-19T15:38:18Z","id":"PR_kwDOPRF1G88AAAABATWhmg","mergedAt":null,"number":90097,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): isolate review submit by composer surface","updatedAt":"2026-08-19T16:02:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/90097"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T15:54:09Z","updatedAt":"2026-08-19T15:54:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/90097#pullrequestreview-4974110712","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKhsj-A","kind":"review","label":"PRR_kwDOPRF1G88AAAABKhsj-A","summary":"Verification-style current-head review (GitHub will not permit this identity to set formal `APPROVE` without explicit repository review access).\n\nCurrent head `349ecf58c69cd5fbf3c8ab0419123f3ac34908ae`: **no remaining code-level blocker**.\n\nThis is materially new from my earlier review of `51ec36edd7114bc32bab44161b8305db2cc9ea2e`, not a duplicate submission. The branch was force-pushed/rebased and the two hard acceptance defects from that review are repaired:\n\n- the sole commit is now authored and committed as `218190424+keeltrace@users.noreply.github.com`, so the repository's contributor-attribution gate no longer needs a synthetic `local-hermes-patch@localhost` mapping;\n- `_SQLiteBackupTimeout` now accurately describes a stalled/non-converging snapshot instead of only a continuously busy source.\n\nI re-read the exact current diff rather than inheriting the old verdict. The production state machine is still the same low-water design independently exercised in the prior review:\n\n- the source stays on SQLite's Online Backup API, with `mode=ro`, `timeout=0.0`, `pages=256`, and the existing WAL-consistent/fail-closed path;\n- `SQLITE_DONE` is terminal and does not consume the stall bud","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T00:58:18Z","updatedAt":"2026-08-23T00:58:18Z","submittedAt":"2026-08-23T00:58:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92495#pullrequestreview-5001389048"},"data":{"createdAt":"2026-08-23T00:58:18Z","occurredAt":"2026-08-23T00:58:18Z","pullRequest":{"createdAt":"2026-08-22T20:05:53Z","id":"PR_kwDOPRF1G88AAAABAql8gg","mergedAt":null,"number":92495,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(backup): bound non-advancing SQLite snapshots","updatedAt":"2026-08-23T02:00:20Z","url":"https://github.com/NousResearch/hermes-agent/pull/92495"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T00:58:18Z","updatedAt":"2026-08-23T00:58:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/92495#pullrequestreview-5001389048","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKhTsPw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKhTsPw","summary":"Blocking review on exact head `99bf04ac28e33cc082bb7dce99a3234ea5394325` against current `main` `13f4cfebfafbce8ac9d1bf29f66731858ed638b5`.\n\nThe two blockers from my previous pass are substantively addressed: mount authority is now derived from exact scratch/project/board provenance rather than self-asserted by the workspace envelope, and mount-capable `docker_extra_args` are rejected before Docker is touched.\n\nThe remaining defects are still one class: **the object being authorized is not yet the whole object Docker executes**. I left four inline findings covering the remaining mount-producer split, provenance collapse across nested execution contexts, effective-Docker-endpoint split, and the non-portable physical container key.\n\nThere is also no exact-head hosted receipt yet. [CI](https://github.com/NousResearch/hermes-agent/actions/runs/32592416224), [Docker](https://github.com/NousResearch/hermes-agent/actions/runs/32592415684), and [Nix](https://github.com/NousResearch/hermes-agent/actions/runs/32592415521) all ended `action_required`, so no jobs executed. The new tests validate envelopes/helpers and mock constructor handoff, but I do not see the real witness required by [#915","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T20:22:06Z","updatedAt":"2026-08-22T20:22:06Z","submittedAt":"2026-08-22T20:22:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91981#pullrequestreview-5000981567"},"data":{"createdAt":"2026-08-22T20:22:06Z","occurredAt":"2026-08-22T20:22:06Z","pullRequest":{"createdAt":"2026-08-22T01:36:40Z","id":"PR_kwDOPRF1G88AAAABAnasrA","mergedAt":null,"number":91981,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(kanban): make Docker worker workspaces task-scoped and host-backed","updatedAt":"2026-08-30T03:54:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/91981"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T20:22:06Z","updatedAt":"2026-08-22T20:22:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/91981#pullrequestreview-5000981567","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKhvidA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKhvidA","summary":"Rereview at exact head `908df19c929eb96ab8fc27a76a3a6cf0a6f8f955` — **blocking**.\n\nThe previous credential-provenance blocker is resolved. `_get_peer_token_entries()` now preserves duplicate declarations, and `is_trusted_operator_peer()` fails closed when a named credential aliases `A2A_BEARER_TOKEN` or when one secret names multiple peers. The focused unit coverage and live HTTP collision witness exercise those paths. Filtering, slash-command wrapping, and outbound credential redaction remain active. Exact-head CI, Docker amd64/arm64 integration, and Nix flake checks are green.\n\nOne end-to-end authority break remains:\n\n**[security] Operator authorization is peer-scoped only when selecting the prompt frame; the task and conversation data planes are still shared across authenticated peers.**\n\nThis PR intentionally allows a named operator peer to request local/private work and therefore permits sensitive material to enter A2A replies. But the request handler dispatches `tasks/get`, `tasks/list`, `tasks/subscribe`, `tasks/cancel`, and every push-config operation without the authenticated identity. `TaskStore` records `peer` but `_in_scope()` checks only `agent_slug` and `tenant`; `Lis","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T01:36:02Z","updatedAt":"2026-08-23T01:36:02Z","submittedAt":"2026-08-23T01:36:02Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91192#pullrequestreview-5001437812"},"data":{"createdAt":"2026-08-23T01:36:02Z","occurredAt":"2026-08-23T01:36:02Z","pullRequest":{"createdAt":"2026-08-21T00:39:55Z","id":"PR_kwDOPRF1G88AAAABAfL8hg","mergedAt":null,"number":91192,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(a2a): authorize named peers for local operator tasks","updatedAt":"2026-08-25T05:20:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/91192"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T01:36:02Z","updatedAt":"2026-08-23T01:36:02Z","url":"https://github.com/NousResearch/hermes-agent/pull/91192#pullrequestreview-5001437812","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKhvzwQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKhvzwQ","summary":"Re-reviewed exact head `0aff67e4ae13ae82a71a70fe9a3239b03261c840` after the two post-review commits. The delta from the previously reviewed `000e04fe1ad7fa0f74567c5a58a47d475b2d2639` is limited to the requested config-authority/documentation closure: canonical `reconnect_stable_after` default + env bridge, the omitted-key/stale-env regressions, and the corrected instability-episode documentation/checklist truth. The `cli-config.yaml.example` box is now correctly unchecked; no unrelated surface was added.\n\nExact-head hosted evidence is green: CI `32602408951`, Docker `32602408617`, Nix `32602408620`. There are zero inline review threads and the PR is mergeable. The previously identified blocking/document-truth findings are closed on this exact object.\n\nNo blocking findings. Landing order remains #92247 before #92381.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T01:39:23Z","updatedAt":"2026-08-23T01:39:23Z","submittedAt":"2026-08-23T01:39:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92247#pullrequestreview-5001442241"},"data":{"createdAt":"2026-08-23T01:39:23Z","occurredAt":"2026-08-23T01:39:23Z","pullRequest":{"createdAt":"2026-08-22T12:12:58Z","id":"PR_kwDOPRF1G88AAAABApNr5g","mergedAt":null,"number":92247,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): keep the reconnect attention clock across a flapping platform","updatedAt":"2026-08-23T01:46:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/92247"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T01:39:23Z","updatedAt":"2026-08-23T01:39:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/92247#pullrequestreview-5001442241","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKhw0GQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKhw0GQ","summary":"Re-reviewed exact head `1089960897ef0f1c8c37b9cfe92d42b2e96f093c` against my prior blocking pass.\n\nThe prior authority/state blockers are closed in the current implementation:\n\n- rotated credentials no longer attempt to rewrite `.env` or a managed secret source. The profile-owned `session_tokens.json` pair is loaded before connection, is gated by a fingerprint of the complete static bootstrap authority, and is written as one locked atomic pair before the new access token becomes active in memory;\n- refresh failure classification now retains raw HTTP/Matrix semantics. Network/429/5xx are retryable, hard refresh-token rejection is terminal, and password reauthentication is attempted only for explicit soft logout with a password/user identity available;\n- `MATRIX_REFRESH_TOKEN` is now part of Matrix plugin metadata and the config/reload regression surface, so deleting it does not leave a stale process environment authority;\n- password login uses a tokenless HTTPAPI wrapper and requests a refresh token, while preserving the live device id where available;\n- duplicate Matrix credential ownership is guarded with the platform lock and password-only identity path rather than depending only","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T01:52:05Z","updatedAt":"2026-08-23T01:52:05Z","submittedAt":"2026-08-23T01:52:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85813#pullrequestreview-5001458713"},"data":{"createdAt":"2026-08-23T01:52:05Z","occurredAt":"2026-08-23T01:52:05Z","pullRequest":{"createdAt":"2026-08-14T04:03:20Z","id":"PR_kwDOPRF1G87-6-JF","mergedAt":null,"number":85813,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(matrix): keep bots online when MAS tokens expire","updatedAt":"2026-08-25T16:04:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/85813"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T01:52:05Z","updatedAt":"2026-08-23T01:52:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/85813#pullrequestreview-5001458713","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKhwchQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKhwchQ","summary":"Re-reviewed exact head `4ee4c9a8eeae264028bdc089b12e5da3bf633697` after the two fixes responding to my blocking threads.\n\nBoth blockers are closed on the submitted object:\n\n- the successful-bind transition now consumes `_note_reconnect_recovery()`'s single hold-pending decision, so `reconnect_stable_after: 0` records no recovery hold and immediately clears an existing escalation; the full watcher/status-writer regression `test_a_zero_window_clears_even_an_escalated_reconnect` exercises the operator-visible path, with companion helper tests pinning positive-window and unflagged behavior;\n- the user guide now states the actual state machine: positive windows report `connected` at bind while holding `needs_attention` / `retrying_since` until stability expiry, while `0` restores clear-on-bind semantics.\n\nThe delta from reviewed head `a0de50d83cf895d7c3d4eca139e3c3db7174db1b` is limited to `gateway/run.py`, the focused reconnect tests, and the corrected documentation. Exact-head CI `32610451404`, Docker `32610451111`, and Nix `32610451097` are all green.\n\nI also attempted to resolve the two now-fixed inline threads after verification; the connected GitHub integration is denied `resolveR","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T01:47:42Z","updatedAt":"2026-08-23T01:47:42Z","submittedAt":"2026-08-23T01:47:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92381#pullrequestreview-5001452677"},"data":{"createdAt":"2026-08-23T01:47:42Z","occurredAt":"2026-08-23T01:47:42Z","pullRequest":{"createdAt":"2026-08-22T17:12:17Z","id":"PR_kwDOPRF1G88AAAABAqFqFw","mergedAt":null,"number":92381,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): warn once per flapping episode, not once per bind","updatedAt":"2026-08-23T01:47:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/92381"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T01:47:42Z","updatedAt":"2026-08-23T01:47:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/92381#pullrequestreview-5001452677","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKhwnxw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKhwnxw","summary":"Re-reviewed exact head `4d138a08e8857c5e233cec161eb0ffe41b690f9e` after the response to my two blocking findings.\n\nBoth implementation gaps are closed on this object. Recovery now waits on the captured failed generation's `agent_ready`, revalidates that the same event still owns the session and that `agent_error is not None`, and `_restart_completed_failed_agent_build()` performs the generation replacement under `agent_build_lock`. The barrier regression holds the original build inside `finally`, issues the model switch, and proves replacement resolution/build do not begin until the old generation completes.\n\nThe model-switch authority is also now profile-scoped: `_session_profile_runtime_scope()` binds the resumed session's `HERMES_HOME` and secret scope around the real `_apply_model_switch()` and persistence path. The two-profile regression gives launch and resumed profiles conflicting provider endpoints/key variables/secrets and verifies the selected/rebuilt/persisted runtime comes only from the owning resumed profile.\n\nThe two inline findings have author replies tied to this exact fix; one is already outdated and the remaining code thread points at the now-scoped call site. I c","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T01:49:54Z","updatedAt":"2026-08-23T01:49:54Z","submittedAt":"2026-08-23T01:49:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92528#pullrequestreview-5001455559"},"data":{"createdAt":"2026-08-23T01:49:54Z","occurredAt":"2026-08-23T01:49:54Z","pullRequest":{"createdAt":"2026-08-22T21:15:18Z","id":"PR_kwDOPRF1G88AAAABAqyNkw","mergedAt":null,"number":92528,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(tui): recover model switches after failed session resume","updatedAt":"2026-08-28T11:58:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/92528"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T01:49:54Z","updatedAt":"2026-08-23T01:49:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/92528#pullrequestreview-5001455559","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKhWqVg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKhWqVg","summary":"Reviewed exact head `a8e91abb5267b33d30ddbf07e3806afdb7d0a847` against current `main` / PR base `13f4cfebfafbce8ac9d1bf29f66731858ed638b5`. The target/profile/toolset separation is mostly well-shaped: `_hermes` is resolved only after request authentication, stripped before filters/scripts/prompt/raw persistence, the target must be both route-allowlisted and actually served, toolsets are server-owned per target, egress does not select execution identity, and the new provenance makes the source/target split inspectable.\n\nThere is one blocking replay/idempotency authority hole before this can safely become the terminal/file-bearing relay described by #92493.\n\n`_validate_signature()` authenticates the body (plus timestamp for generic V2), but `_handle_webhook()` later derives the dedupe key from `X-GitHub-Delivery`, `svix-id`, `X-Request-ID`, or a local timestamp. For generic V2 the signed material is only `<timestamp>.<body>`; `X-Request-ID` is not signed. GitHub likewise signs the body, not `X-GitHub-Delivery`; Linear is body-only; legacy generic V1 is explicitly documented in this file as replayable. `_record_delivery_id()` then stores only that caller/header-derived ID in the proce","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T20:51:59Z","updatedAt":"2026-08-22T20:51:59Z","submittedAt":"2026-08-22T20:51:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92511#pullrequestreview-5001030230"},"data":{"createdAt":"2026-08-22T20:51:59Z","occurredAt":"2026-08-22T20:51:59Z","pullRequest":{"createdAt":"2026-08-22T20:38:26Z","id":"PR_kwDOPRF1G88AAAABAqrzaA","mergedAt":null,"number":92511,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(webhook): let trusted relays hand off to bounded profiles","updatedAt":"2026-08-22T22:08:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/92511"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T20:51:59Z","updatedAt":"2026-08-22T20:51:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/92511#pullrequestreview-5001030230","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKhYNow","kind":"review","label":"PRR_kwDOPRF1G88AAAABKhYNow","summary":"## Review conclusion — do not merge this implementation as written\n\nThe 404/410 classification is correct, but the generic `_retry_on_stale_tab()` crosses page/context authority boundaries by replaying snapshot/click/type/scroll/back/press/get_images/vision against a replacement or adopted tab.\n\nOnly `navigate` carries a complete replacement target and may be retried automatically. All sibling operations must clear the stale `tab_id` and return an actionable `browser_navigate` requirement; refs and page-relative actions died with the old page.\n\nThe selected landing vehicle is [#80298](https://github.com/NousResearch/hermes-agent/pull/80298), after the managed-adoption, eval, SSRF-probe, and subordinate-request amendments recorded here:\n\nhttps://github.com/NousResearch/hermes-agent/pull/80298#issuecomment-5382599981\n\nFull cross-PR landing decision:\n\nhttps://github.com/NousResearch/hermes-agent/issues/92361#issuecomment-5382595464\n\nPreserve this PR's navigate-specific request-retry mechanism as input to #80298. Do not preserve the generic sibling replay.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T21:07:58Z","updatedAt":"2026-08-22T21:07:58Z","submittedAt":"2026-08-22T21:07:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86294#pullrequestreview-5001055651"},"data":{"createdAt":"2026-08-22T21:07:58Z","occurredAt":"2026-08-22T21:07:57Z","pullRequest":{"createdAt":"2026-08-14T19:33:03Z","id":"PR_kwDOPRF1G87_RAEx","mergedAt":null,"number":86294,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(browser): auto-recover Camofox tabs from 410 (page crash) as well as 404","updatedAt":"2026-08-22T21:07:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/86294"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T21:07:57Z","updatedAt":"2026-08-22T21:07:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/86294#pullrequestreview-5001055651","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKhYPNA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKhYPNA","summary":"## Review conclusion — selected landing vehicle, amendments required\n\nThis PR has the correct authority model for the bug class:\n\n- `navigate` carries a complete target URL and may recover automatically;\n- sibling operations must invalidate the stale `tab_id` and require explicit navigation rather than replaying page-bound actions against a replacement tab.\n\nBefore merge, close these remaining gaps:\n\n1. **Managed-adoption false success:** after invalidating the dead ID, resolve/create/adopt the replacement and send the actual `/navigate` request to that resolved tab. Do not synthesize `{ok: true, url: requested_url}` without proving the recovered tab received the navigation.\n2. **Escaping tab-scoped requests:** cover `_camofox_eval`, `_camofox_current_page_private_url`, the post-navigation bonus snapshot, and the vision annotation snapshot with the same stale-tab invalidation authority.\n3. **Evaluate capability distinction:** preserve route/capability-missing `404`/`405`/`501` separately from tab-missing `404`; `410` is stale unconditionally.\n4. Add managed-adoption, eval, hidden-subrequest, no-replay, and non-stale regression coverage.\n5. Rebase onto current `main` and obtain exac","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T21:08:14Z","updatedAt":"2026-08-22T21:08:14Z","submittedAt":"2026-08-22T21:08:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80298#pullrequestreview-5001056052"},"data":{"createdAt":"2026-08-22T21:08:14Z","occurredAt":"2026-08-22T21:08:14Z","pullRequest":{"createdAt":"2026-08-06T11:20:23Z","id":"PR_kwDOPRF1G877jkCj","mergedAt":null,"number":80298,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(browser): recover Camofox stale tabs on HTTP 410 Gone","updatedAt":"2026-08-29T08:13:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/80298"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T21:08:14Z","updatedAt":"2026-08-22T21:08:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/80298#pullrequestreview-5001056052","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKhYQ3A","kind":"review","label":"PRR_kwDOPRF1G88AAAABKhYQ3A","summary":"## Review conclusion — minimal emergency subset, superseded\n\nThe `{404, 410}` navigate change is narrowly safe, but it is not a complete repository fix:\n\n- no regression test is added here;\n- sibling operations and eval paths retain the stale ID;\n- managed adoption can still produce reported success without proving the adopted tab received the requested navigation;\n- the log collapses destruction/crash/restart into garbage collection.\n\nThe selected landing vehicle is [#80298](https://github.com/NousResearch/hermes-agent/pull/80298), with the required amendments recorded here:\n\nhttps://github.com/NousResearch/hermes-agent/pull/80298#issuecomment-5382599981\n\nFull landing decision:\n\nhttps://github.com/NousResearch/hermes-agent/issues/92361#issuecomment-5382595464\n\n**Recommendation: close as superseded. There is no valid second landing after #80298.**","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T21:08:32Z","updatedAt":"2026-08-22T21:08:32Z","submittedAt":"2026-08-22T21:08:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91922#pullrequestreview-5001056476"},"data":{"createdAt":"2026-08-22T21:08:32Z","occurredAt":"2026-08-22T21:08:31Z","pullRequest":{"createdAt":"2026-08-22T00:02:56Z","id":"PR_kwDOPRF1G88AAAABAnI-7g","mergedAt":null,"number":91922,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(camofox): recover on 410 as well as 404 for garbage-collected tabs","updatedAt":"2026-08-22T21:08:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/91922"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T21:08:31Z","updatedAt":"2026-08-22T21:08:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/91922#pullrequestreview-5001056476","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKhYQEw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKhYQEw","summary":"## Review conclusion — correct focused subset, superseded delivery vehicle\n\nThe 404-versus-410 semantics and parameterized navigate coverage here are the strongest of the focused implementations. Preserve them.\n\nThis PR should not land separately because it repairs `camofox_navigate` only. The same stale cached capability remains reachable through sibling tab operations, Camofox eval/console, the post-eval URL probe, and subordinate snapshot calls.\n\nThe selected landing vehicle is [#80298](https://github.com/NousResearch/hermes-agent/pull/80298), amended as specified here:\n\nhttps://github.com/NousResearch/hermes-agent/pull/80298#issuecomment-5382599981\n\nFull landing decision:\n\nhttps://github.com/NousResearch/hermes-agent/issues/92361#issuecomment-5382595464\n\n**Recommendation: transplant this PR's semantic documentation and parameterized tests into #80298, then close this PR as superseded.**","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T21:08:23Z","updatedAt":"2026-08-22T21:08:23Z","submittedAt":"2026-08-22T21:08:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85538#pullrequestreview-5001056275"},"data":{"createdAt":"2026-08-22T21:08:23Z","occurredAt":"2026-08-22T21:08:23Z","pullRequest":{"createdAt":"2026-08-13T18:35:29Z","id":"PR_kwDOPRF1G87-vxPy","mergedAt":null,"number":85538,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(camofox): treat 410 Gone as a dead tab so navigate can recover","updatedAt":"2026-08-22T21:08:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/85538"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T21:08:23Z","updatedAt":"2026-08-22T21:08:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/85538#pullrequestreview-5001056275","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKhYRnA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKhYRnA","summary":"## Review conclusion — preserve the no-blind-replay policy, supersede this branch\n\nThis PR established the correct non-navigation invariant: a destroyed page invalidates refs and page-relative actions, so sibling operations must clear stale state and require `browser_navigate` rather than replaying against another page.\n\nIt should not land separately now because it handles 404 only, is based on substantially older repository state, is currently non-mergeable, and is contained by the selected survivor [#80298](https://github.com/NousResearch/hermes-agent/pull/80298).\n\nRequired survivor amendments:\n\nhttps://github.com/NousResearch/hermes-agent/pull/80298#issuecomment-5382599981\n\nFull landing decision:\n\nhttps://github.com/NousResearch/hermes-agent/issues/92361#issuecomment-5382595464\n\n**Recommendation: preserve this PR's no-blind-replay semantics in #80298, then close this PR as superseded after the survivor lands.**","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-22T21:08:39Z","updatedAt":"2026-08-22T21:08:39Z","submittedAt":"2026-08-22T21:08:38Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/54890#pullrequestreview-5001056668"},"data":{"createdAt":"2026-08-22T21:08:39Z","occurredAt":"2026-08-22T21:08:38Z","pullRequest":{"createdAt":"2026-06-29T12:48:27Z","id":"PR_kwDOPRF1G87ryR-D","mergedAt":null,"number":54890,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(camofox): clear stale tab_id on 404 so the next navigate can recover","updatedAt":"2026-08-22T21:08:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/54890"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-22T21:08:38Z","updatedAt":"2026-08-22T21:08:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/54890#pullrequestreview-5001056668","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKIA5UQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKIA5UQ","summary":"Reviewed exact head `cb2e881ccd32d3262120abb83c3845083f2f025a` against its base `00e5a361b60f621ae2246dffdd0a0252895d8493` and current `main` `6c6c17e0fc1fdb48cd4f7b50d5e263ec86acee5d`.\n\nThe controller/broker direction is strong: server-derived principals, exact session/controller/browser-profile/transport identity, one-shot WS tickets, fail-closed bound routing, owner-aware reconnect/detach, and capability filtering are the right primitives. I also checked the earlier automated reconnect/capability-renegotiation concern: `attach()` rebinds matching pending commands to the successor scope, so I am **not** repeating that advisory as a blocker.\n\nI found two merge blockers, both in the new artifact boundary:\n\n### 1. HTTP-uploaded artifacts and broker-dispatched artifacts are bound to different scope keys\n\n`artifact_scope_key()` hashes `(principal_id, session_id, transport_family)`. The API upload/download handlers store and load with `_ArtifactScopeFacade(principal, transport_family=...)`, i.e. **empty `session_id`**. But the broker's `_validate_artifact_reference()` validates the same artifact with the full `ControllerScope`, whose `session_id` is necessarily non-empty because contro","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T16:30:31Z","updatedAt":"2026-08-19T16:30:31Z","submittedAt":"2026-08-19T16:30:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85351#pullrequestreview-4974459217"},"data":{"createdAt":"2026-08-19T16:30:31Z","occurredAt":"2026-08-19T16:30:31Z","pullRequest":{"createdAt":"2026-08-13T14:21:02Z","id":"PR_kwDOPRF1G87-oYKU","mergedAt":null,"number":85351,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(browser): add authenticated extension controller","updatedAt":"2026-08-21T17:03:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/85351"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T16:30:31Z","updatedAt":"2026-08-19T16:30:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/85351#pullrequestreview-4974459217","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKIBztw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKIBztw","summary":"Re-reviewed exact current head `4102f30bb602f2a7d5ed9d5c965fc0b563f20a16` against the findings from my `3086d363` review.\n\nThe two load-bearing class holes I previously called out are materially repaired at this head:\n\n- The **primary admission gate** no longer uses `_auth_env` for platform/global allow-all and allowlist decisions. `_is_user_authorized()` now routes those reads through `_platform_gate_env`, so an installed multiplex profile scope is authoritative and a scoped miss no longer borrows the default profile's bridged process env.\n- The remaining **bare DM/intake allow-all reads** have been migrated across the sibling surfaces touched by this follow-up (including Weixin, QQBot, Yuanbao, Feishu, plus the Email/WhatsApp paths already in the original slice). Signal's pre-auth reaction gate is also closed on a scoped miss instead of manufacturing `\"*\"`.\n- The Signal/Matrix precedence work is now much closer to one contract: scoped profile value first, profile-local YAML next, unscoped process env only for legacy startup. The routed default-profile handler now resolves the profile home from the source before entering `_handle_message`, which is the right place to keep admissio","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T16:31:52Z","updatedAt":"2026-08-19T16:31:52Z","submittedAt":"2026-08-19T16:31:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88559#pullrequestreview-4974474167"},"data":{"createdAt":"2026-08-19T16:31:52Z","occurredAt":"2026-08-19T16:31:52Z","pullRequest":{"createdAt":"2026-08-17T18:22:56Z","id":"PR_kwDOPRF1G88AAAABADD9Ow","mergedAt":null,"number":88559,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): read adapter allowlists through profile secret scope","updatedAt":"2026-08-19T16:38:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/88559"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T16:31:52Z","updatedAt":"2026-08-19T16:31:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/88559#pullrequestreview-4974474167","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKiDUuw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKiDUuw","summary":"Blocking review on exact head `48089ef88a2dddeebdd8f139a96d93e205082571` (direct child of current `main` `8b09a9df8476010a78e86d6c32254b4ac14a8c4f`). The publication verifier itself is careful, but the new persisted policy is enforced at the wrong authority boundary.\n\n## Blocker — `publication_required` is persisted in the Kanban kernel but can be bypassed through every sibling completion surface\n\nThis PR makes `publication_required` a durable `tasks` column and says worker metadata cannot bypass it, but the actual gate lives only in `tools/kanban_tools.py::_handle_complete`. The canonical transition remains `hermes_cli.kanban_db.complete_task()`, and current repository code has multiple callers that go straight to that function:\n\n- `hermes kanban complete` in `hermes_cli/kanban.py::_cmd_complete` calls `kb.complete_task(...)` directly;\n- the dashboard single-card status update in `plugins/kanban/dashboard/plugin_api.py` calls `kanban_db.complete_task(...)` directly when `status == \"done\"`;\n- the dashboard bulk-status path does the same;\n- other internal callers likewise treat `complete_task` as the completion authority.\n\nNone of those paths can supply, much less verify, `repo_path","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T05:53:25Z","updatedAt":"2026-08-23T05:53:25Z","submittedAt":"2026-08-23T05:53:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92736#pullrequestreview-5001761979"},"data":{"createdAt":"2026-08-23T05:53:25Z","occurredAt":"2026-08-23T05:53:25Z","pullRequest":{"createdAt":"2026-08-23T05:38:38Z","id":"PR_kwDOPRF1G88AAAABAr6JgQ","mergedAt":null,"number":92736,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix: enforce Forge publication before Kanban completion","updatedAt":"2026-08-23T14:03:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/92736"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T05:53:25Z","updatedAt":"2026-08-23T05:53:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/92736#pullrequestreview-5001761979","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKie-Ow","kind":"review","label":"PRR_kwDOPRF1G88AAAABKie-Ow","summary":"Blocking review\n\nThe direct-child guard fixes the exact P→C sequence in #92859, but it does not close the route-takeover class already represented in the repository.\n\nThe new check is:\n\n```py\nnot follows_compression and pinned_row.parent_session_id == prior_session_id\n```\n\nThat assumes the gateway route is still bound to the exact session row that created the delegate. That is not a stable invariant.\n\n### 1. Compression re-opens the same takeover\n\nMerged #69312 deliberately made compression a logical continuation and can advance the gateway route from parent `P` to live compression tip `P2` while a delegation spawned by `P` is still running. The delegate child `C` still has durable `parent_session_id=P`.\n\nNow let a background completion arrive stamped with `C`:\n\n- current routed `session_entry.session_id == P2`;\n- `pinned_row == C`, live, so this is not a compression continuation of *C* and `follows_compression` stays false;\n- `C.parent_session_id == P`, which is not `prior_session_id == P2`;\n- this guard does not fire;\n- the resolver falls through to the existing `switch_session(route, C)` path;\n- `switch_session` promotes the outgoing `P2` row to the hard `session_switch` boundar","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T10:52:07Z","updatedAt":"2026-08-23T11:16:18Z","submittedAt":"2026-08-23T10:52:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92872#pullrequestreview-5002214971"},"data":{"createdAt":"2026-08-23T10:52:07Z","occurredAt":"2026-08-23T10:52:07Z","pullRequest":{"createdAt":"2026-08-23T10:38:09Z","id":"PR_kwDOPRF1G88AAAABAsnkDw","mergedAt":null,"number":92872,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): prevent delegated children from stealing parent routes","updatedAt":"2026-08-23T11:43:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/92872"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T10:52:07Z","updatedAt":"2026-08-23T11:16:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/92872#pullrequestreview-5002214971","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKiggEA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKiggEA","summary":"Exact-head closure review for `f2c831672934b6ecaeb1937a724111b0d3910553`:\n\n- semantic compression is complete: one commit, two owned files, no historical train replay;\n- named-profile YAML is resolved through the context-local Hermes-home override and the prior override is restored in `finally`;\n- the focused regression pins named/default profile isolation, profile-source precedence, route-path ownership, and restoration;\n- CI `32635301833`: **success**;\n- Docker `32635301435`: **success** on amd64 + arm64, including integration tests;\n- Nix `32635301437`: **success**;\n- zero unresolved review threads;\n- GitHub reports mergeable against exact base `b766607b5b92879c21ffd767465487e6de725868`.\n\nNo remaining code, execution, or topology blocker on this Task 7 slice. \n\n@teknium1 the remaining repository operation is a rebase merge of this exact head. Do not substitute an adjacent SHA or resurrect #85523 history; #90236 remains the downstream Task 10 owner.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T11:07:21Z","updatedAt":"2026-08-23T11:11:33Z","submittedAt":"2026-08-23T11:07:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85002#pullrequestreview-5002240016"},"data":{"createdAt":"2026-08-23T11:07:21Z","occurredAt":"2026-08-23T11:07:20Z","pullRequest":{"createdAt":"2026-08-13T03:07:45Z","id":"PR_kwDOPRF1G87-YEY4","mergedAt":null,"number":85002,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(webhook): unify effective config authority","updatedAt":"2026-08-28T21:54:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/85002"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T11:07:20Z","updatedAt":"2026-08-23T11:11:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/85002#pullrequestreview-5002240016","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKIilvA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKIilvA","summary":"Re-review of exact head `eaf71c8ada68ef7416b95b43816c31f3f6766a16` after the #89860 restack.\n\nThe overlap blocker is closed correctly. This head consumes `set_owner_profile()` / `_owner_profile` from merged #89860, drops the duplicate adapter-key implementation, retains @69k4xmdfm2-blip’s ownership/session-key behavior and credit, removes the unrelated image-default change, and keeps the complementary three-axis `RoutingIdentity`, authorization consumption, durable carrier, per-profile persistence model, and repair utility. Docker and Nix are green; every ordinary-CI job exposed by the connector is green, including all exposed Python slices, e2e, attribution, OSV, ruff/ty, blocking ruff, Windows footguns, Windows-only, and macOS-only. The aggregate remains red outside those exposed jobs.\n\nOne architecture blocker remains: **duplicate-credential claimant ambiguity was deleted rather than wired into production identity resolution.**\n\nThe branch removed the unwired `credential_claimants` parameter and now treats duplicate credentials as startup-only policy in `_start_one_profile_adapters()`. That does close the dead helper-test mismatch, but it does not satisfy the durable routing con","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T17:34:55Z","updatedAt":"2026-08-19T17:34:55Z","submittedAt":"2026-08-19T17:34:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89252#pullrequestreview-4975011260"},"data":{"createdAt":"2026-08-19T17:34:55Z","occurredAt":"2026-08-19T17:34:55Z","pullRequest":{"createdAt":"2026-08-18T15:16:25Z","id":"PR_kwDOPRF1G88AAAABAKeLXw","mergedAt":null,"number":89252,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): canonical routing identity — claimant-generation object not published","updatedAt":"2026-08-27T19:33:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/89252"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T17:34:55Z","updatedAt":"2026-08-19T17:34:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/89252#pullrequestreview-4975011260","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKiINwg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKiINwg","summary":"Blocking current-head review (GitHub does not allow this identity to submit `REQUEST_CHANGES` on its own PR) at `20497a3ce9650bddbd7f57b65c8cece7b515ee02`.\n\nThe architecture here is substantially stronger than the older heads: normal existing-generation admission is explicitly bound through `expected_state_db_generation`, the live anchor prevents pathname drift from masquerading as the admitted object, verification failures fail closed, read-only handles do not claim writer authority, and the split with #91852 / #88425 / #92523 keeps adjacent repair responsibilities out of this PR. That shape is right.\n\nThere is still one generation-authority hole in the **first-run / zeroed bootstrap path** before this can land.\n\n`gateway/state_db_authority/_install.py::_bootstrap_install_then_open()` calls the original `SessionDB.__init__` first, so `instance._conn` is already a writable SQLite connection to generation A. It then runs integrity/table probes through that live connection and only afterward calls `stat_identity(path)` to mint the admission identity. Unlike the existing-database path, that bootstrap writer is never reopened under `expected_state_db_generation(...)`.\n\nThat permits thi","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T06:52:49Z","updatedAt":"2026-08-23T06:52:49Z","submittedAt":"2026-08-23T06:52:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91754#pullrequestreview-5001842114"},"data":{"createdAt":"2026-08-23T06:52:49Z","occurredAt":"2026-08-23T06:52:49Z","pullRequest":{"createdAt":"2026-08-21T19:09:17Z","id":"PR_kwDOPRF1G88AAAABAlwJ2Q","mergedAt":null,"number":91754,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(state): fail closed on damaged state.db before gateway writes","updatedAt":"2026-08-23T19:44:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/91754"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T06:52:49Z","updatedAt":"2026-08-23T06:52:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/91754#pullrequestreview-5001842114","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKikPrA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKikPrA","summary":"Blocking finding: the attach-before-REST ordering closes the stale terminal-transcript hole, but the still-running path now has a second authority race.\n\nWhen `session.activate` returns `running: true`, `running` is captured before the new post-attach REST request is awaited. If `turn.finished` lands during that request, the live cache correctly settles to `busy: false`; `overlayConcurrentMessageChanges` only reconciles messages, though, and the final `updateSessionState` writes the earlier `running: true` back into `busy`, `awaitingResponse`, `turnLive`, and `turnStartedAt`. Because the terminal event has already been consumed, the completed reply can then remain stuck busy.\n\nPlease make post-activation terminal state win—by separating liveness settlement from transcript hydration or by guarding the commit with an equivalent generation/state check—and add a deterministic `running: true` regression in which the terminal state lands while the REST promise is deferred. The final assertions should cover both the complete durable answer and `busy: false` / `awaitingResponse: false`.\n\nExact-head CI, Docker, and Nix are green. Separately, this head is currently non-mergeable and 82 commi","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T11:43:56Z","updatedAt":"2026-08-23T11:43:56Z","submittedAt":"2026-08-23T11:43:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92733#pullrequestreview-5002301356"},"data":{"createdAt":"2026-08-23T11:43:56Z","occurredAt":"2026-08-23T11:43:56Z","pullRequest":{"createdAt":"2026-08-23T05:33:25Z","id":"PR_kwDOPRF1G88AAAABAr5c7w","mergedAt":null,"number":92733,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): hydrate transcript after reconnect attach","updatedAt":"2026-08-26T07:44:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/92733"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T11:43:56Z","updatedAt":"2026-08-23T11:43:56Z","url":"https://github.com/NousResearch/hermes-agent/pull/92733#pullrequestreview-5002301356","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKilQnw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKilQnw","summary":"Reviewed exact head `4fe20eca8604257ac43f72a97ddc2ac7f5832165` as the narrowed detection-only progress-lease change. The rewrite correctly removes the unsafe universal settlement authority from the previous shape, preserves task/run/claim authority for tool stamps, and exact-head CI, Docker, and Nix are green.\n\n**Blocking finding:** `detect_no_progress_running()` classifies expiry from an unlocked snapshot, but its write CAS guards only `status`, `claim_lock`, and `current_run_id`. Verified tool progress or a non-terminal durable transition can renew `last_progress_at` after the initial scan and before this write; the detector then still extends the claim and emits/delivers `no_progress_deferred` from stale evidence. That violates the single-authoritative-progress-clock contract and can warn immediately after real progress.\n\nPlease revalidate the effective progress timestamp under the `BEGIN IMMEDIATE` transaction, or include the observed progress value/cutoff in the CAS, before holding the claim and appending the receipt. Add a deterministic two-connection regression: have the second connection call `record_progress()` from the `_pid_alive` probe after the detector's initial snaps","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T11:54:01Z","updatedAt":"2026-08-23T11:54:01Z","submittedAt":"2026-08-23T11:54:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91554#pullrequestreview-5002317983"},"data":{"createdAt":"2026-08-23T11:54:01Z","occurredAt":"2026-08-23T11:54:00Z","pullRequest":{"createdAt":"2026-08-21T14:11:05Z","id":"PR_kwDOPRF1G88AAAABAj0pPg","mergedAt":null,"number":91554,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(kanban): split worker liveness and progress leases","updatedAt":"2026-08-24T12:36:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/91554"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T11:54:00Z","updatedAt":"2026-08-23T11:54:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/91554#pullrequestreview-5002317983","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKILzWA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKILzWA","summary":"Exact-head review at `41e879c518fed1c0d3597cfa05835e848dbb82cc`.\n\nVerified the complete npm dependency graph rather than only the originally named nested nodes:\n\n- the root manifest now durably constrains nanoid 3.x to 3.3.18 while retaining the independent nanoid 6.x override;\n- the root lock contains the expected 3.3.18 copies under both `sanitize-html` and `vite`;\n- the separate `website/` project now uses the scoped 3.x override and its lockfile deduplicates the prior vulnerable postcss child to `node_modules/nanoid@3.3.18`;\n- both min-release-age comments identify the actual fixed version and release date.\n\nThe exact candidate's OSV job scanned all five configured lockfiles (`uv.lock`, root and website npm locks, Photon sidecar, and WhatsApp bridge). GHSA-2v37-7h3g-55p8 no longer appears. The same scan still reports four unrelated vulnerabilities: h2, two Electron advisories, and extract-zip. So this PR correctly closes the named nanoid advisory; it does not—and should not—claim that all surfaced dependency vulnerabilities are gone.\n\nThe remaining Python slice failure and current non-mergeable topology are separate from this dependency change. On the bounded security claim and","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T16:50:53Z","updatedAt":"2026-08-19T16:50:53Z","submittedAt":"2026-08-19T16:50:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89930#pullrequestreview-4974637912"},"data":{"createdAt":"2026-08-19T16:50:53Z","occurredAt":"2026-08-19T16:50:53Z","pullRequest":{"createdAt":"2026-08-19T10:11:06Z","id":"PR_kwDOPRF1G88AAAABAQ91Ig","mergedAt":null,"number":89930,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(deps): bump nested nanoid to 3.3.18 for GHSA-2v37-7h3g-55p8","updatedAt":"2026-08-24T05:08:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/89930"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T16:50:53Z","updatedAt":"2026-08-19T16:50:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/89930#pullrequestreview-4974637912","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKIM1rw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKIM1rw","summary":"Approval-style re-review of exact current head `0e5499b15300f10ad51a211ccf1c76824193feb7` against PR base `b5455fdd16fe608214f91149233660e1836b067c` and current `main` `d21cd51d860454b921abf9f2fe1d5dfd4c071e33`. This is a materially new head since my prior review at `00d108e075480fd3d22a3d03f5121cbb1998ef4d`, so I rechecked the blocker, lifecycle ownership, tests, CI, and adjacent Relay work rather than repeating the old review.\n\n## Previous blocker is closed\n\nThe earlier problem was a state-collapse at the configuration load boundary: an unset `HERMES_NEMO_RELAY_PLUGINS_TOML` and an explicitly selected but missing/malformed/invalid configuration both became `DISABLED`. That is fixed structurally now.\n\n`_configured_plugin_inputs()` returns `None` only when no non-empty config path was selected. Once a path is explicitly selected, load/parse/dynamic-spec failures raise `_RelayPluginConfigurationLoadError`; `_ProcessRelayPluginConfiguration.acquire()` catches that under the failure path and records `FAILED`. The process state now preserves the intended four-way policy:\n\n- no explicit selection → `DISABLED`;\n- explicit selection that cannot be loaded/validated/initialized → `FAILED`;\n","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T16:52:24Z","updatedAt":"2026-08-19T16:52:24Z","submittedAt":"2026-08-19T16:52:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77915#pullrequestreview-4974654895"},"data":{"createdAt":"2026-08-19T16:52:24Z","occurredAt":"2026-08-19T16:52:24Z","pullRequest":{"createdAt":"2026-08-03T18:13:17Z","id":"PR_kwDOPRF1G876KBAg","mergedAt":"2026-08-20T02:11:13Z","number":77915,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(relay)!: initialize static/dynamic plugins via native integration, remove opt-in plugin","updatedAt":"2026-08-20T02:11:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/77915"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T16:52:24Z","updatedAt":"2026-08-19T16:52:24Z","url":"https://github.com/NousResearch/hermes-agent/pull/77915#pullrequestreview-4974654895","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKiNFbw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKiNFbw","summary":"Blocking review (GitHub will not permit this identity to set `REQUEST_CHANGES` without explicit repository review access).\n\nI re-reviewed this as the direct replacement for #91199, including the exact transport/auth hardening rather than inheriting the older verdict. The new downstream-authority half fixes the stop-the-line issue I raised on #91199 for POSIX: `/health` and `/v1/*` authenticate before pool inspection or credential resolution, the comparison is constant-time, the client bearer is stripped rather than forwarded, Codex-owned identity headers override client spellings, the upstream is pinned exactly, raw query/body/SSE handling is preserved, and the cancellation/prepare/stream cleanup tests cover the right failure directions.\n\nThere is still one cross-platform authority blocker on exact head `02a3cc41376720234605424f1c4dbf749d25d58c`:\n\n### Windows does not enforce the owner-only token-file boundary\n\n`_read_client_auth_token()` makes the token file an authorization credential specifically because loopback is only machine-local on a multi-user host. But the ownership/permission checks are entirely inside `if os.name != \"nt\"`.\n\nOn Windows the function currently proves only","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T07:47:30Z","updatedAt":"2026-08-23T07:47:31Z","submittedAt":"2026-08-23T07:47:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92750#pullrequestreview-5001921903"},"data":{"createdAt":"2026-08-23T07:47:30Z","occurredAt":"2026-08-23T07:47:30Z","pullRequest":{"createdAt":"2026-08-23T06:21:26Z","id":"PR_kwDOPRF1G88AAAABAsAHag","mergedAt":null,"number":92750,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(proxy): add authenticated loopback Codex OAuth adapter","updatedAt":"2026-08-23T09:07:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/92750"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T07:47:30Z","updatedAt":"2026-08-23T07:47:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/92750#pullrequestreview-5001921903","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKINJHg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKINJHg","summary":"Exact-head review at `80a8d94db7be11e748aca1f148dca4a53a420dfe`.\n\n**Merge recommendation: changes required.** The request/response relay is the right direction, but the branch does not yet establish its stated invariant: **the draft may clear only after the backend has accepted this prompt for the exact requested session**.\n\n### [P1] A resolved `false` from the normal submit pipeline is acknowledged as success\n\nThe `current` branch in `use-quick-entry-bridge.ts` does:\n\n```ts\nawait submitTextRef.current(text)\nack({ ok: true })\n```\n\nBut `useSubmitPrompt` deliberately returns `false` without calling `prompt.submit` for several normal conditions: the target is busy, provider setup is deferred, the per-session in-flight lock is already held, or another pre-submit guard declines the send. None of those paths throws. Quick Entry therefore receives `{ok:true}`, clears the draft, and hides even though the backend acknowledged no prompt at all.\n\nThis boundary needs an honest typed result, not `Promise<unknown>`. Success must carry the stored/runtime session identity actually accepted by the backend, and the bridge must only ack success when that result proves the requested target was used. T","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T16:52:49Z","updatedAt":"2026-08-19T16:52:49Z","submittedAt":"2026-08-19T16:52:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89920#pullrequestreview-4974659870"},"data":{"createdAt":"2026-08-19T16:52:49Z","occurredAt":"2026-08-19T16:52:49Z","pullRequest":{"createdAt":"2026-08-19T10:05:21Z","id":"PR_kwDOPRF1G88AAAABAQ7auA","mergedAt":null,"number":89920,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): ack quick entry submit and create the session atomically (#85590)","updatedAt":"2026-08-19T16:52:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/89920"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T16:52:49Z","updatedAt":"2026-08-19T16:52:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/89920#pullrequestreview-4974659870","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKINulg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKINulg","summary":"Exact-head review at `de6faf64d862419a9a175012699e5523e45042a8`.\n\n**Merge recommendation: changes required.** The new patterns catch four more source spellings, but they do not close the defect class described by the PR: approval is still decided from the pre-expansion shell source while the destructive/program-bearing meaning is created later by the shell.\n\n### [P1] Bind policy to the argv/executable meaning produced at use time\n\n`detect_dangerous_command()` still runs `_command_detection_variants()` and regexes over the submitted string. Its deobfuscation deliberately evaluates only a few literal `echo`/`printf` substitutions and command-word quoting; it does not—and cannot safely—perform general parameter expansion, command substitution, arrays, brace expansion, globbing, or shell functions. The added regex therefore remains bypassable by ordinary equivalents such as:\n\n```sh\nflag=-delete; find ./target \"$flag\"\nx=dele; find ./target \"-${x}te\"\nset -- -delete; find ./target \"$@\"\nfind ./target \"$(printf '%s%s' -del ete)\"\nfind ./target -{de,}lete\nopt=--pre; rg \"$opt=sh\" pattern ./target\n```\n\nThose source strings do not contain the newly enumerated forms, but the shell constructs the ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T16:53:42Z","updatedAt":"2026-08-19T16:53:42Z","submittedAt":"2026-08-19T16:53:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89945#pullrequestreview-4974669462"},"data":{"createdAt":"2026-08-19T16:53:42Z","occurredAt":"2026-08-19T16:53:42Z","pullRequest":{"createdAt":"2026-08-19T10:26:06Z","id":"PR_kwDOPRF1G88AAAABAREpxw","mergedAt":null,"number":89945,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix: gate dynamic shell words in approval checks","updatedAt":"2026-08-19T16:53:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/89945"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T16:53:42Z","updatedAt":"2026-08-19T16:53:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/89945#pullrequestreview-4974669462","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKIPaPg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKIPaPg","summary":"Exact-head review at `4ddebec11ca66bd392f3a21dd99443ecec7a1a6d`.\n\n**Merge recommendation: changes required.** The production diagnosis is convincing and recording a pre-await baseline is the right primitive. The current implementation, however, still conflates metadata replay with real edits in several normal Slack shapes.\n\n### [P1] The completed-message guard still suppresses every genuine later edit\n\nThe `message_changed` branch first does:\n\n```py\nif original_message_ts and original_message_ts in self._processed_message_ts:\n    return\n```\n\nThat happens before the new body comparison. Once the original message has completed ingress, a text edit, block-only edit, or attachment-only edit is discarded unconditionally. The new `test_block_only_update_during_ingress_still_routes` holds the original inside `users.info`, so it proves only the narrow race window where `_processed_message_ts` is not yet armed; it does not prove the PR body's broader claim that a genuine body change still passes.\n\nReplace the terminal timestamp-only short circuit with the content/revision decision. A completed original should suppress a `message_changed` only when the agent-visible body and revision semanti","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T16:56:04Z","updatedAt":"2026-08-19T16:56:04Z","submittedAt":"2026-08-19T16:56:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89908#pullrequestreview-4974697022"},"data":{"createdAt":"2026-08-19T16:56:04Z","occurredAt":"2026-08-19T16:56:04Z","pullRequest":{"createdAt":"2026-08-19T09:40:48Z","id":"PR_kwDOPRF1G88AAAABAQwEDA","mergedAt":null,"number":89908,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(slack): drop message_changed re-emits whose body is unchanged","updatedAt":"2026-08-20T07:26:16Z","url":"https://github.com/NousResearch/hermes-agent/pull/89908"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T16:56:04Z","updatedAt":"2026-08-19T16:56:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/89908#pullrequestreview-4974697022","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKiPo4Q","kind":"review","label":"PRR_kwDOPRF1G88AAAABKiPo4Q","summary":"## Exact-head rereview — two fail-open paths remain\n\nReviewed exact head `bcdd84af31cc6638c232fa96e3bb9c733e79386e` against current `main@4621a2d699daeaa92efb93dae9db076308cbe823`.\n\nThe latest commit does close the exact CSI+ZWSP/NUL witness from my prior review: non-ESC controls no longer make the join fail open, and `test_mixed_csi_and_bare_control_split_masked` covers both shapes. The earlier `.match` shadow-map repair, `NOT_TOKEN_TEXT` preservation regression, and contributor mapping also remain present.\n\nTwo blocking bypasses remain.\n\n### Blocking — orphan ESC + CSI is still an attacker-selectable emit path\n\nThe replacement gate only narrows the same invalid invariant:\n\n```python\nnot (has_orphan_esc and has_csi)\n```\n\nBoth conditions are controlled by the text being redacted. A bare ESC is already a supported token splitter under #77484; combining it with a formed CSI sequence does not prove that the live bytes are unrelated prose.\n\nExact reproduction on this head:\n\n```python\ntext = \"sk-\" + \"a\" * 5 + \"\\x1b[31m\" + \"b\" * 5 + \"\\x1b\" + \"c\" * 10\nresult = redact_sensitive_text(text, force=True)\nassert result == text  # currently passes: the credential survives unchanged\n```\n\nThe shad","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T08:12:29Z","updatedAt":"2026-08-23T08:12:29Z","submittedAt":"2026-08-23T08:12:29Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/81121#pullrequestreview-5001963745"},"data":{"createdAt":"2026-08-23T08:12:29Z","occurredAt":"2026-08-23T08:12:29Z","pullRequest":{"createdAt":"2026-08-07T15:08:41Z","id":"PR_kwDOPRF1G878GQ5P","mergedAt":null,"number":81121,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(redact): strip complete ANSI CSI sequences before control-split masking","updatedAt":"2026-08-23T16:07:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/81121"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T08:12:29Z","updatedAt":"2026-08-23T08:12:29Z","url":"https://github.com/NousResearch/hermes-agent/pull/81121#pullrequestreview-5001963745","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKISYfQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKISYfQ","summary":"Exact-head architecture decision at `31589910cdbccde76aa2a07a438e5ae5bcedb4bd`.\n\n**Decision: `prefer-modern` should treat the real MCP 1.28.1 `-32602 INVALID_PARAMS` response to the canonical first-flight `server/discover` probe as a candidate legacy-era rejection and perform one bounded legacy `initialize` probe. It should call the peer *proven legacy* only if that initialize succeeds. `strict-modern` must continue to propagate the `-32602` without fallback.**\n\nThe current branch propagates `-32602` and pins that behavior in the real-wire test. That makes `prefer-modern` fail against the actual supported legacy peer for which the compatibility policy exists; on this principal wire shape it becomes operationally indistinguishable from `strict-modern`. The wire, not the ideal JSON-RPC classification, is the acceptance truth here: FastMCP 1.28.1 routes the unknown modern request through its typed request union and emits `INVALID_PARAMS` rather than `METHOD_NOT_FOUND`.\n\nThis must **not** become a global rule that arbitrary `-32602` means “legacy.” Keep the fallback classifier contextual:\n\n1. only before any era has been negotiated;\n2. only for the exact SDK-generated `server/discover`","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T17:01:45Z","updatedAt":"2026-08-19T17:01:45Z","submittedAt":"2026-08-19T17:01:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88875#pullrequestreview-4974745725"},"data":{"createdAt":"2026-08-19T17:01:45Z","occurredAt":"2026-08-19T17:01:45Z","pullRequest":{"createdAt":"2026-08-18T03:19:24Z","id":"PR_kwDOPRF1G88AAAABAF5yAg","mergedAt":null,"number":88875,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"WIP(mcp): dual-era hardening — bounded -32602 proof probe pending","updatedAt":"2026-08-19T20:13:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/88875"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T17:01:45Z","updatedAt":"2026-08-19T17:01:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/88875#pullrequestreview-4974745725","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKiTWrQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKiTWrQ","summary":"Blocking review (GitHub will not permit this identity to set `REQUEST_CHANGES` without explicit repository review access) on exact head `e33e27b3e8fd7b47e5f2ac27f20e4d0c68c842a7`.\n\nThe salvage fixes the blocker from #92689 correctly: checkout detection is now candidate-relative rather than cwd-relative, `.git` files cover worktrees/submodules, the all-candidates-in-checkouts case fails closed, CLI/TUI/API surface that failure cleanly, and the per-uid temp fallback plus symlink/owner checks close the predictable-path precreation shape. The CI/Docker archive guard is also wired into the required aggregate and both build/publish paths. Exact-head CI `32627005328`, Docker `32627004922`, and Nix `32627004878` are all green, including the new Profile Artifact Boundary job, Python/e2e, Windows/macOS, lint/type, supply-chain, attribution, and review-label lanes.\n\nThere is one remaining confidentiality boundary before I think this is safe to merge: **the managed export destination proves ownership, but never makes the directory or archive private.**\n\n`get_profile_export_path()` currently does:\n\n```python\nexport_dir.mkdir(parents=True, exist_ok=True)\n...\nif export_dir.stat().st_uid != os.get","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T08:50:41Z","updatedAt":"2026-08-23T08:50:41Z","submittedAt":"2026-08-23T08:50:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92771#pullrequestreview-5002024621"},"data":{"createdAt":"2026-08-23T08:50:41Z","occurredAt":"2026-08-23T08:50:41Z","pullRequest":{"createdAt":"2026-08-23T07:19:58Z","id":"PR_kwDOPRF1G88AAAABAsIg4Q","mergedAt":null,"number":92771,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): profile exports never land in source checkouts; CI rejects archive artifacts (salvage #92689)","updatedAt":"2026-08-23T08:50:41Z","url":"https://github.com/NousResearch/hermes-agent/pull/92771"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T08:50:41Z","updatedAt":"2026-08-23T08:50:41Z","url":"https://github.com/NousResearch/hermes-agent/pull/92771#pullrequestreview-5002024621","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKiw0Nw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKiw0Nw","summary":"## Exact-head rereview — the two approval-authority blockers are still present at `b8f8773157`\n\nI rechecked current head `b8f877315768d1c4272f7fbfe896ba448b97aa61` after the follow-up comment saying the three later suggestions were applied. Those changes are real, and exact-head CI/Docker/Nix are green (`32637901874`, `32637901601`, `32637901580`), but they do **not** close the two blockers from my earlier review.\n\n### 1. `approvals.ask` is still a replacement authority, not an additive finding\n\nBoth public command guards still do:\n\n```python\nask_pattern = _match_user_ask_rule(command)\nif ask_pattern is not None:\n    return _user_ask_gate(...)\n```\n\nbefore Tirith/dangerous finding collection. In `check_all_command_guards`, the existing gather-then-decide phase is therefore never reached for an ask match. A session/permanent grant for `ask_rule:<glob>` can still suppress the ask prompt and return approved without evaluating an independent Tirith or dangerous-command finding on the same compound command.\n\nThe required invariant remains: an ask match contributes a warning/key to the same findings set; a cached ask grant suppresses only that ask key, never independent security findings.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T13:37:43Z","updatedAt":"2026-08-23T13:37:43Z","submittedAt":"2026-08-23T13:37:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92437#pullrequestreview-5002507319"},"data":{"createdAt":"2026-08-23T13:37:43Z","occurredAt":"2026-08-23T13:37:43Z","pullRequest":{"createdAt":"2026-08-22T18:30:38Z","id":"PR_kwDOPRF1G88AAAABAqUlLA","mergedAt":null,"number":92437,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(approvals): user-defined ask rules — Claude Code-style ask/allow/deny trio","updatedAt":"2026-08-25T12:30:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/92437"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T13:37:43Z","updatedAt":"2026-08-23T13:37:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/92437#pullrequestreview-5002507319","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKiwtuA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKiwtuA","summary":"## Exact-head rereview — blocker closed on `0d9e7ef`; #92606 implementation satisfied\n\nRe-reviewed exact current head `0d9e7ef01dd63c811b27880e88e26b8a81f04edf` against the four remaining blockers in review 5001607825 / correction 5001629577.\n\nThe blocker set is closed on this head:\n\n- canonical single-use settlement is now fail-closed: after a successful Anthropic redemption, the canonical pool generation is retried while `_auth_store_lock` is still held and a persistent canonical-write failure returns no refreshed credential instead of publishing a memory-only success;\n- the post-authority local handoff is generation-fenced through `_adopt_refresh_result`, so a delayed N→N+1 actor cannot overwrite a newer in-process N+2 generation;\n- the terminal-failure regression now enters through `_refresh_entry()` and therefore exercises the production `hermes_pkce` authority/winner-adoption path;\n- the Windows contention regression is selected and actually executed natively. Exact-head Windows job `97148924058` selected `tests/hermes_cli/test_auth_store_lock_concurrent.py`, and `test_concurrent_windows_lock_initialization_is_retried` passed on `win32`.\n\nThe real two-process witness remains ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T13:36:54Z","updatedAt":"2026-08-23T13:36:54Z","submittedAt":"2026-08-23T13:36:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92619#pullrequestreview-5002505656"},"data":{"createdAt":"2026-08-23T13:36:54Z","occurredAt":"2026-08-23T13:36:54Z","pullRequest":{"createdAt":"2026-08-23T01:47:42Z","id":"PR_kwDOPRF1G88AAAABArbAHg","mergedAt":null,"number":92619,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(auth): keep Anthropic OAuth sessions valid after token rotation","updatedAt":"2026-08-30T01:38:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/92619"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T13:36:54Z","updatedAt":"2026-08-23T13:36:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/92619#pullrequestreview-5002505656","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKiZiQA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKiZiQA","summary":"Verification-style current-head review. GitHub will not permit this identity to formally approve its own PR, so this is recorded as `COMMENTED`.\n\nI re-reviewed exact head `dcee4b2fdee5d0f595b1260477f132ad0aba2279`, not the previously reviewed `b72f26abc6787c357c0bb6a2ef6202439f395bfc`. **The P0 blocker from my prior review is closed, and I do not find a remaining code-level blocker in this control plane.**\n\nThe important repair is now complete: the standalone `website` dependency graph is a first-class materialization lane rather than an implied child of the root workspace. That matters because `website` is not in the root npm workspace list and current repository truth still carries its own Nano ID `3.3.17` override/lock state. This head now:\n\n- adds `.github/scripts/materialize_pr91906_website_nanoid.py`, accepting only `3.3.17` or already-reconciled `3.3.18`, converging to `3.3.18`, and failing closed on an unrecognized source;\n- independently verifies the website manifest and lock, requires `3.3.18`, and rejects every other Nano ID `3.x` lock entry;\n- runs a standalone website `npm audit` rather than treating root/web/TUI/Desktop audits as coverage for it;\n- expands the publica","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T09:55:47Z","updatedAt":"2026-08-23T09:55:47Z","submittedAt":"2026-08-23T09:55:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92046#pullrequestreview-5002125888"},"data":{"createdAt":"2026-08-23T09:55:47Z","occurredAt":"2026-08-23T09:55:47Z","pullRequest":{"createdAt":"2026-08-22T04:22:04Z","id":"PR_kwDOPRF1G88AAAABAn2Cdw","mergedAt":null,"number":92046,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"ci: install one-shot PR 91906 dependency materializer","updatedAt":"2026-08-26T19:24:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/92046"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T09:55:47Z","updatedAt":"2026-08-23T09:55:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/92046#pullrequestreview-5002125888","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKJ74lg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKJ74lg","summary":"## Re-review — original blockers closed; one P1 lifecycle blocker remains\n\nReviewed current head `25e05dc57556831ae0915347d49c83012bab8c3b`.\n\nThe two blockers from my previous review are closed:\n\n- The `close_on_disconnect` branch now claims through `_pop_session_by_id(sid)` under `_session_resume_lock -> _sessions_lock`, preserving the canonical `_closing` lifecycle barrier before removal. The regression proves `_drain_queued_prompt()` cannot dispatch queued work after that claim.\n- The deterministic `close_on_disconnect=False` regression now covers the detach/orphan half of the snapshot → reattach → claim race and verifies that the live transport is not stomped, teardown is not called, and orphan reap is not scheduled.\n- Slow teardown and timer work remain outside the global locks. I found no new lock inversion in the changed path.\n\nOne opposite-ordering blocker remains.\n\n`session.resume` is pool-dispatched with a copied ContextVar transport. `handle_ws` can close that transport and complete `_close_sessions_for_transport()`—including the new final sweep—while the resume worker is still queued or doing pre-commit work. The stale worker can then acquire `_session_resume_lock` and:","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T20:29:47Z","updatedAt":"2026-08-19T20:29:47Z","submittedAt":"2026-08-19T20:29:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/77129#pullrequestreview-4976474262"},"data":{"createdAt":"2026-08-19T20:29:47Z","occurredAt":"2026-08-19T20:29:47Z","pullRequest":{"createdAt":"2026-08-02T22:29:15Z","id":"PR_kwDOPRF1G875wAdK","mergedAt":null,"number":77129,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(tui-gateway): close WS disconnect/reconnect session race","updatedAt":"2026-08-24T01:59:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/77129"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T20:29:47Z","updatedAt":"2026-08-19T20:29:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/77129#pullrequestreview-4976474262","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKjBzlA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKjBzlA","summary":"Reviewed exact head `11784164298d7b05253acb88349bea086589f0c3` against base `f293e7206b4ddd66042329442c6afebc19a8808d`, including the scheduler/ledger receipt boundary, Telegram + Matrix typed acknowledgements, media path, recovery/read-side projection, focused tests, existing review history, and adjacent cron/delivery work.\n\nThere is one correctness blocker on the current head:\n\n**Typed `unknown` / `failed` media receipts can still settle the target as delivered and trigger delivery-only side effects.**\n\n`_send_media_via_adapter()` appends every typed receipt to `receipts_out`, then separately records `SendResult.success == False` as a media error. The caller surfaces `_media_errors` into `delivery_errors`, but does not clear `adapter_ok`. It then calls `_persist_target_text_receipts(..., components={\"media\"})`. That helper considers a preregistered component satisfied whenever `record_transport_receipt()` persisted its expected key; it does not require `receipt.outcome == \"delivered\"`. `record_transport_receipt()` intentionally persists `unknown` and `failed` outcomes and returns `True` when that write succeeds.\n\nThat combination is reachable through the real provider adapters ad","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T15:58:48Z","updatedAt":"2026-08-23T15:58:48Z","submittedAt":"2026-08-23T15:58:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93009#pullrequestreview-5002785684"},"data":{"createdAt":"2026-08-23T15:58:48Z","occurredAt":"2026-08-23T15:58:48Z","pullRequest":{"createdAt":"2026-08-23T15:31:24Z","id":"PR_kwDOPRF1G88AAAABAtd8LQ","mergedAt":null,"number":93009,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(cron): persist conservative transport receipts","updatedAt":"2026-08-30T12:04:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/93009"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T15:58:48Z","updatedAt":"2026-08-23T15:58:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/93009#pullrequestreview-5002785684","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKjclXA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKjclXA","summary":"## Blocking exact-head review — `3a841dbb2c7e988eae7527bf4ef4492a7cbcd872`\n\nCI, Docker, and Nix are green, but this head encodes two false-success transitions and should not merge.\n\n1. **The broader probe catch bypasses the existing corruption dispatcher.** On current `main`, a recognized malformed-schema `sqlite3.DatabaseError` from the first `PRAGMA journal_mode` is deliberately allowed to propagate to the outer `SessionDB` initialization handler, which classifies it with `is_malformed_schema_error()` and routes it through `repair_state_db_schema()`. Changing `_on_disk_journal_mode()` to catch every `DatabaseError` converts that signal to `None`; `_apply_delete_for_wal_reset_bug()` then returns `\"wal\"`. That masks the condition at the boundary designed to dispatch or fail it loudly.\n\n2. **The automatic DELETE branch reports a mode SQLite did not establish.** If `_set_journal_mode_no_wait(..., \"DELETE\")` raises a non-lock `DatabaseError`, this implementation catches it and falls through to `\"delete\"`. The new test explicitly asserts that false state even though SQLite rejected the change.\n\n3. **The tests stop below the load-bearing control flow.** Helper-only assertions do not exe","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T19:49:06Z","updatedAt":"2026-08-23T19:49:06Z","submittedAt":"2026-08-23T19:49:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93112#pullrequestreview-5003224412"},"data":{"createdAt":"2026-08-23T19:49:06Z","occurredAt":"2026-08-23T19:49:06Z","pullRequest":{"createdAt":"2026-08-23T18:13:21Z","id":"PR_kwDOPRF1G88AAAABAuAUEQ","mergedAt":null,"number":93112,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(state): keep malformed schemas from disabling session persistence","updatedAt":"2026-08-24T00:03:16Z","url":"https://github.com/NousResearch/hermes-agent/pull/93112"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T19:49:06Z","updatedAt":"2026-08-23T19:49:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/93112#pullrequestreview-5003224412","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKjCmqg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKjCmqg","summary":"Blocking re-review at exact head `7dd920ea5ee123e2a8138e3580dda426f4e2b92c`: the original terminal-frame, empty-argument, and indexed mixed-stream findings are closed. One P1 ordering hole remains.\n\nThe fallback sequence is not actually the first-observed item order. `response.output_item.added` assigns a sequence only to pending function calls; when an earlier announced call later receives `response.output_item.done`, the done path discards that original sequence and assigns a new `next_output_sequence`. As soon as any item lacks `output_index`, the final fallback sort can therefore invert the calls.\n\nDeterministic witness:\n\n1. `output_item.added` A, no `output_index`\n2. `output_item.added` B, no `output_index`\n3. `output_item.done` A, no `output_index`\n4. `response.completed`\n\nExpected output order: `[A, B]`. Current head produces `[B, A]`, because B retains its added-event sequence while A is re-sequenced at `.done`. That can still reverse dependent tool side effects. The current `test_missing_done_output_index_preserves_observed_order` does not catch this because its `.done` message was never announced by an earlier `output_item.added` event.\n\nPlease retain first-observed order","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T16:05:03Z","updatedAt":"2026-08-23T16:05:03Z","submittedAt":"2026-08-23T16:05:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92767#pullrequestreview-5002798762"},"data":{"createdAt":"2026-08-23T16:05:03Z","occurredAt":"2026-08-23T16:05:03Z","pullRequest":{"createdAt":"2026-08-23T07:07:27Z","id":"PR_kwDOPRF1G88AAAABAsGrYQ","mergedAt":null,"number":92767,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(codex): settle pending Responses tool calls when output_item.done is omitted","updatedAt":"2026-08-24T02:04:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/92767"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T16:05:03Z","updatedAt":"2026-08-23T16:05:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/92767#pullrequestreview-5002798762","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKjcpZg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKjcpZg","summary":"## Blocking exact-head re-review — `79b0fde89544dd72a98ab0a7fc8f070b32f51d04`\n\nThe latest commits do close one prior blocker: the cache lifecycle generation now rejects and closes a stale successful opener after `close_all()`, preserves the original exception for a stale failed opener, and the new tests cover replacement handles racing that teardown. The routing merge added after fallback-only startup is also a real improvement.\n\nCI, Docker, and Nix are green. The remaining blockers are architectural, not test-run failures:\n\n### 1. A successful pathname open is still promoted directly to `ok`\n\n`RecoverableHandleCache.get()` installs any handle returned by `opener()`, publishes `session_store.status = ok`, and lets the runner clear `_session_db_init_error`. There is still no proof that the handle belongs to the current authorized canonical generation, no replacement/generation fence, and no persistence/readback canary before declaring recovery.\n\nThat violates #93088's own composition contract with #89737: constructor success cannot silently bless a pathname whose generation changed under live holders.\n\n### 2. The profile transition is split across two independent caches\n\n`SessionSto","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T19:49:39Z","updatedAt":"2026-08-23T19:49:39Z","submittedAt":"2026-08-23T19:49:39Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93114#pullrequestreview-5003225446"},"data":{"createdAt":"2026-08-23T19:49:39Z","occurredAt":"2026-08-23T19:49:39Z","pullRequest":{"createdAt":"2026-08-23T18:19:42Z","id":"PR_kwDOPRF1G88AAAABAuBong","mergedAt":null,"number":93114,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): restore session history after transient database failure","updatedAt":"2026-08-24T01:26:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/93114"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T19:49:39Z","updatedAt":"2026-08-23T19:49:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/93114#pullrequestreview-5003225446","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKjjx7w","kind":"review","label":"PRR_kwDOPRF1G88AAAABKjjx7w","summary":"Reviewed exact head `bf2d4fb78453ff016d224267a76103e1b72d5f76` against base `2eaa863112d2980bbe6f15ea409a6a29e50964fe`. Current `main` is `981101239a064c020a9d18fc3b1060ae306934ed`, one unrelated Bot Mode relay merge ahead of that base, so the state/FTS findings below are still current.\n\nThe production diagnosis is important and the serialization direction is right, but I do not think this closes the corruption class yet.\n\n### 1. The new admission gate fails open and therefore recreates the exact race it is supposed to forbid\n\n`_acquire_fts_rebuild_lock()` returns `None` after 30 seconds, or after an `os.open` / flock setup failure, and `rebuild_fts()` then enters the full structural rebuild anyway under only `self._lock`.\n\nThat is incompatible with this PR's own invariant. If two cross-process full FTS rebuilds are capable of corrupting `state.db`, then \"SQLite writer lock is the final backstop\" cannot be the reason to deliberately run without the cross-process ownership proof. A slow first rebuild is precisely the case where the second process must *not* start another one. Large/corrupt stores can plausibly take longer than 30s; main's existing state repair lock budgets 120s beca","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T20:51:45Z","updatedAt":"2026-08-23T20:51:45Z","submittedAt":"2026-08-23T20:51:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93200#pullrequestreview-5003342319"},"data":{"createdAt":"2026-08-23T20:51:45Z","occurredAt":"2026-08-23T20:51:44Z","pullRequest":{"createdAt":"2026-08-23T20:07:22Z","id":"PR_kwDOPRF1G88AAAABAuXZmQ","mergedAt":null,"number":93200,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(state): serialize cross-process FTS rebuild with file lock (fixes recurring DB corruption)","updatedAt":"2026-08-24T02:00:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/93200"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T20:51:44Z","updatedAt":"2026-08-23T20:51:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/93200#pullrequestreview-5003342319","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKjlzBQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKjlzBQ","summary":"Verified at exact head `d8ed4290c35853aca121af85376599985ebea599`.\n\nThe shared timeout fix is correct: the timeout handler now settles unconditionally, while the existing single-settle guard safely absorbs later `exit`/`close` events. The daemonized-grandchild regression is active and exact-head CI, Docker, and Nix are green. Main has advanced 13 commits since this branch point, but none touch either changed file.\n\nOne linked-issue acceptance item remains outside this PR: `tmuxLoadBuffer()` still needs `resolveOnExit: true` so a successful daemonizing `tmux load-buffer` call settles on the direct process exit instead of waiting for inherited pipes or degrading into a synthetic timeout. I am handling that as a narrow companion change on current main; this review validates #93148's shared timeout primitive, not full closure of #93134 by this PR alone.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T21:09:26Z","updatedAt":"2026-08-23T21:09:26Z","submittedAt":"2026-08-23T21:09:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93148#pullrequestreview-5003375365"},"data":{"createdAt":"2026-08-23T21:09:26Z","occurredAt":"2026-08-23T21:09:26Z","pullRequest":{"createdAt":"2026-08-23T19:08:44Z","id":"PR_kwDOPRF1G88AAAABAuLwiA","mergedAt":null,"number":93148,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(tui): settle execFileNoThrow on timeout even when a daemon holds stdio","updatedAt":"2026-08-24T01:26:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/93148"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T21:09:26Z","updatedAt":"2026-08-23T21:09:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/93148#pullrequestreview-5003375365","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKJMCDA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKJMCDA","summary":"Reviewed exact head `c8cfdf4c9b460b537bdd51689667416633970b0b` against PR base `eab087c06fd6bc46903499663e6bf0687011bf4b`, current `main` `b2057c16856fc01eeb17a40aa65853a68e61b981`, the current Kanban DAG/storage contracts, and the adjacent supervision/notification work.\n\nThe motivating `active_pr` correction is sound: a PR URL is now a **respawn** guard only after a real run, review-lane bypass is retained, later requeue events invalidate the guard, and `recent_success` still protects genuinely completed runs. The Remoko reservation/recovery path is also materially stronger than a naive “send then persist” implementation: external IDs are reserved before the side effect, accepted-but-uncommitted requests can be reconciled after a crash, and failed sends remain retryable. Exact-origin notification handling is moving in the right direction too.\n\nI would not treat this head as merge-ready, though. I found three blockers at the architecture boundary.\n\n## 1. The exact head violates its own `LS-2776 only` topology: it has absorbed LS-2777\n\nThe PR body explicitly says `LS-2776 only`, but this head contains the full iteration-budget Remoko keep-alive surface: `hermes_cli/kanban_budget_kee","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T18:52:13Z","updatedAt":"2026-08-19T18:52:13Z","submittedAt":"2026-08-19T18:52:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90033#pullrequestreview-4975690252"},"data":{"createdAt":"2026-08-19T18:52:13Z","occurredAt":"2026-08-19T18:52:13Z","pullRequest":{"createdAt":"2026-08-19T13:41:55Z","id":"PR_kwDOPRF1G88AAAABAScK7w","mergedAt":null,"number":90033,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(kanban): canonical fan-in, authenticated review receipts, budget keep-alive [LS-2776][LS-2777]","updatedAt":"2026-08-20T12:35:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/90033"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T18:52:13Z","updatedAt":"2026-08-19T18:52:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/90033#pullrequestreview-4975690252","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKJp7nQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKJp7nQ","summary":"Reviewed exact head `2b119d2869e7c413cc512cf434f32ecebf076a46` against its recorded base `28803e68b452d39435c89b148407d327e91b0735` and current `main` `f0ffcbc7532f5ca58d62eba474b0a398082c6e93`.\n\nThe dead-owner recovery direction is sound: `reclaim_stale_executions()` preserves the ledger's existing exact-PID/start-time liveness proof and transitions abandoned attempts to `unknown`, and putting a synchronous CLI-side sweep before `cron run` is a reasonable complement to the already-merged periodic/immediate recovery work in #86853/#86899. I also checked the current head for existing review coverage; there were no prior PR comments or formal reviews, so this is not repeating an unchanged-head review.\n\nI found two merge blockers.\n\n### 1. The model-pin fix splits provider/model routing identity\n\nThe fallback code's own existing contract says: **“Keeping provider+model atomic still applies — never swap only the provider while retaining a paid primary model.”** Current `main` enforces that by resolving each fallback entry with `(fb_provider, fb_model)` and then setting `model = fb_model`.\n\nThis head resolves the fallback runtime using the fallback pair:\n\n```python\nfb_kwargs = {\n    \"req","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T19:53:56Z","updatedAt":"2026-08-19T19:53:56Z","submittedAt":"2026-08-19T19:53:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90122#pullrequestreview-4976180125"},"data":{"createdAt":"2026-08-19T19:53:56Z","occurredAt":"2026-08-19T19:53:56Z","pullRequest":{"createdAt":"2026-08-19T16:19:31Z","id":"PR_kwDOPRF1G88AAAABATqQPQ","mergedAt":null,"number":90122,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(cron): reclaim stale executions + preserve model pin across fallback (#90089)","updatedAt":"2026-08-21T13:22:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/90122"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T19:53:56Z","updatedAt":"2026-08-19T19:53:56Z","url":"https://github.com/NousResearch/hermes-agent/pull/90122#pullrequestreview-4976180125","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKjSwiw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKjSwiw","summary":"Re-reviewed exact head `4748c490b01fc3e3f5e347dcc45d8c1131381250` against current `main` `f293e7206b4ddd66042329442c6afebc19a8808d`.\n\nThe rewrite materially improves the branch and closes two original blockers cleanly:\n\n- the `clone_config` no-op and its non-RED regression are gone;\n- the unrelated #92450 stack is gone: this is now one commit on current main, changing only `gateway/run.py` and `tests/test_89315_replace_ownership_guard.py`;\n- the unreadable-cmdline fallback now fails closed and only trusts a persisted home after PID/start-time binding;\n- #89328 / @jiao1yin2he3 provenance is now explicit.\n\nThis exact head is still not safe/complete to merge for the following reasons.\n\n### 1. Blocker: the readable-cmdline path still does not prove HERMES_HOME ownership\n\nThe new helper returns immediately here:\n\n```python\nlive_cmdline = _read_process_cmdline(existing_pid)\nif live_cmdline:\n    return not _command_line_belongs_to_profile(live_cmdline, our_home)\n```\n\nThat reuses a read-side liveness heuristic as destructive authority. `_command_line_belongs_to_profile()` performs substring matching, not token-exact identity matching. Concrete remaining cross-profile witnesses:\n\n- current ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T18:25:55Z","updatedAt":"2026-08-23T18:25:55Z","submittedAt":"2026-08-23T18:25:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93084#pullrequestreview-5003063435"},"data":{"createdAt":"2026-08-23T18:25:55Z","occurredAt":"2026-08-23T18:25:55Z","pullRequest":{"createdAt":"2026-08-23T17:37:20Z","id":"PR_kwDOPRF1G88AAAABAt49Ew","mergedAt":null,"number":93084,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): refuse --replace when target ownership cannot be proven","updatedAt":"2026-08-24T10:06:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/93084"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T18:25:55Z","updatedAt":"2026-08-23T18:25:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/93084#pullrequestreview-5003063435","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKjVNOw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKjVNOw","summary":"Reviewed exact head `77114d9147dc887d543414adff631553fdb42ee3` against PR base `90803f22a5d299a7542f44f3743ea9902ef1d25d`. Current `main` is `0159b51f2b1cdaa8fcf65d181fc0527692724fae`, three commits ahead, but those intervening changes are Desktop-only and do not alter the findings below. There are no prior reviews/comments on this head. Exact-head CI, Docker, and Nix runs are currently `action_required`, so there is not yet a canonical executed CI receipt.\n\nI like the goal, but I found four merge blockers in the authority/transition boundary.\n\n1. **The “normal cascade” probe is not the route Hermes actually runs.** `FlightManager.tick()` reduces normal health to `_normal_target(config)` and `_probe_openai()`: one raw `model.provider`/`model.default` pair, one `providers[provider].base_url`, and an unconditional OpenAI `/chat/completions` request. That bypasses the shared runtime provider resolver, provider registry/default base URLs, API-mode selection, profile-scoped credential resolution, aliases, and `get_fallback_chain()`. A failed primary with a healthy configured fallback therefore counts as “offline”; native Anthropic / Codex / Responses routes can also be healthy in Hermes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T18:46:26Z","updatedAt":"2026-08-23T18:46:26Z","submittedAt":"2026-08-23T18:46:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93124#pullrequestreview-5003103547"},"data":{"createdAt":"2026-08-23T18:46:26Z","occurredAt":"2026-08-23T18:46:26Z","pullRequest":{"createdAt":"2026-08-23T18:37:04Z","id":"PR_kwDOPRF1G88AAAABAuFJoA","mergedAt":null,"number":93124,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(flight): automatic offline local-model continuity","updatedAt":"2026-08-23T18:48:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/93124"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T18:46:26Z","updatedAt":"2026-08-23T18:46:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/93124#pullrequestreview-5003103547","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKjxRnw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKjxRnw","summary":"Reviewed exact head `73c74bec34d5f101fa88999b46327e2ce45bc125` against base `739bc555b1932e66c169b20edec3a48368e2dd3f` and current `main` (`650cf3348f8b3912e09da43b8ab96c62d88de2df` at review time). This is a materially stronger treatment of the stale-device/Megolm problem than #61126, but I do not think this exact head is safe to merge yet.\n\n### Blocker 1 — the known first-refresh sentinel bug from #61126 is still present\n\n`_refresh_encrypted_room_devices()` throttles with:\n\n```py\nnow - self._device_refresh_ts.get(room_id, 0.0) < self._device_refresh_interval\n```\n\nFor an unseen room on a machine whose monotonic uptime is below the default 300-second interval, the first readiness check returns before either `query_keys()` or `crypto._fetch_keys()` runs. A gateway started shortly after host boot therefore skips the very peer-device refresh this PR is meant to guarantee before reconnect/first send.\n\nThis is not a new theoretical concern: @teknium1 already identified the exact `0.0` sentinel defect in the review of #61126. #93256 broadens/supersedes that implementation but reintroduces the same condition. The new tests cover `interval=0`, retries, identity changes, etc., but do not pi","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-23T22:49:10Z","updatedAt":"2026-08-23T22:49:10Z","submittedAt":"2026-08-23T22:49:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93256#pullrequestreview-5003563423"},"data":{"createdAt":"2026-08-23T22:49:10Z","occurredAt":"2026-08-23T22:49:10Z","pullRequest":{"createdAt":"2026-08-23T22:16:49Z","id":"PR_kwDOPRF1G88AAAABAuwfeQ","mergedAt":null,"number":93256,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix: harden Matrix E2EE key delivery across reconnects","updatedAt":"2026-08-24T13:01:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/93256"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-23T22:49:10Z","updatedAt":"2026-08-23T22:49:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/93256#pullrequestreview-5003563423","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKK-VwQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKK-VwQ","summary":"Reviewed exact head `be6a8bdbf92207131eca58242e705550b9508a64` against base `7b25941b0ecd1a2d367edc7b6ef89a0958c10822`. Current `main` is `9ec5750aca33bf6e977cfde468868b0f0d66e339`, three unrelated commits ahead of the merge base; there is no direct file overlap with this tool-routing change. There were no prior human reviews or inline threads on this head. Exact-head CI, Docker, and Nix are all green.\n\nThe class-level direction is right: one persisted provider identity, a read-only legacy `use_gateway` compatibility shim, and no credential-presence rerouting after an explicit choice. The cross-category sweep and the selected-broken-provider error contract are materially stronger than the previous per-call-site fixes. I found three authority/transition blockers before this can safely become the canonical rule.\n\n### 1. The new runtime authority bypasses the administrator-managed config layer\n\n`tools.tool_backend_helpers.read_selection()` and `selection_exists()` read only `hermes_cli.config.read_raw_config_readonly()`. That API intentionally returns the user's raw `~/.hermes/config.yaml` without defaults **or the managed-scope overlay**. But `hermes_cli.managed_scope` defines `/etc/","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T23:12:10Z","updatedAt":"2026-08-19T23:12:10Z","submittedAt":"2026-08-19T23:12:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90317#pullrequestreview-4977563073"},"data":{"createdAt":"2026-08-19T23:12:10Z","occurredAt":"2026-08-19T23:12:10Z","pullRequest":{"createdAt":"2026-08-19T22:28:14Z","id":"PR_kwDOPRF1G88AAAABAV_K7g","mergedAt":"2026-08-19T23:10:01Z","number":90317,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(tools): the provider selected in hermes tools is what runs — credential presence never reroutes","updatedAt":"2026-08-19T23:12:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/90317"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T23:12:10Z","updatedAt":"2026-08-19T23:12:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/90317#pullrequestreview-4977563073","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKkCEGg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKkCEGg","summary":"Reviewed exact head `ea99393a3d90411adf7a703617013cd502bd061e` against its recorded base and current `main` (`fe483de4d3e7b5340e2dbb16253dca5914bbe31e`). Exact-head CI, Docker, and Nix are green. The generation-selector shape is the right boundary for #93314, and the fail-closed resolver / generation exclusions are well aimed, but I see two correctness blockers before this is safe to call atomic recovery.\n\n**1. Activation is atomic only for one caller; there is no generation/selector authority that serializes concurrent activations or live checkpoint writers.** `activate_store_generation()` has no interprocess lock and `_write_store_selector()` uses one shared `.store.current.tmp`. The CLI module also says these commands are “Safe to call any time.” Two activations can therefore both pass the generation-count / rollback-anchor checks and race the same temp file. A concrete bad interleaving is: A writes generation A to `.store.current.tmp`; B truncates/writes generation B; A `os.replace()`s that shared temp into `store.current` (so A reports success while the pointer actually names B); B then fails its replace because the temp path was moved and its error path removes generation B. ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T00:48:15Z","updatedAt":"2026-08-24T00:48:15Z","submittedAt":"2026-08-24T00:48:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93376#pullrequestreview-5003838490"},"data":{"createdAt":"2026-08-24T00:48:15Z","occurredAt":"2026-08-24T00:48:15Z","pullRequest":{"createdAt":"2026-08-24T00:34:43Z","id":"PR_kwDOPRF1G88AAAABAvLjdA","mergedAt":null,"number":93376,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(checkpoints): atomic store activation via generation selector","updatedAt":"2026-08-25T02:23:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/93376"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T00:48:15Z","updatedAt":"2026-08-24T00:48:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/93376#pullrequestreview-5003838490","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKkE-_A","kind":"review","label":"PRR_kwDOPRF1G88AAAABKkE-_A","summary":"Exact-head review of `16dc85640a33acc096a70eef0cd980dee2bce5d7`: no remaining correctness blocker found.\n\nThis closes the two repair-attempt authority blockers previously identified on #93275: snapshot-staging corruption is classified through `_repair_failure_consumes_attempt()` so deterministic `SQLITE_CORRUPT`/`SQLITE_NOTADB` failures consume the persistent budget while environmental aborts remain retriable; and persistent exhaustion is re-read after the cross-process repair lock is acquired, with a queued-repairer regression proving surgery cannot begin after the previous holder consumes the final attempt.\n\nThe stronger #93064 boundary is preserved: destructive repair runs only on the isolated SQLite online-backup snapshot, exclusion spans staging through transactional promotion, committed WAL frames are retained, failed repair preserves the canonical recovery source, scratch cleanup/space admission fail closed, and repair-outcome publication remains inside the cross-process critical section. The #93088 half replaces process-lifetime negative SessionDB caching with bounded single-flight recovery and reconciles fallback-loaded routing state before whole-index persistence resumes.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T01:06:50Z","updatedAt":"2026-08-24T01:06:50Z","submittedAt":"2026-08-24T01:06:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93353#pullrequestreview-5003886332"},"data":{"createdAt":"2026-08-24T01:06:50Z","occurredAt":"2026-08-24T01:06:50Z","pullRequest":{"createdAt":"2026-08-24T00:16:05Z","id":"PR_kwDOPRF1G88AAAABAvHdMw","mergedAt":"2026-08-24T01:25:12Z","number":93353,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(state): failed state.db repair no longer destroys canonical data; gateway retries failed SessionDB opens (#93064, #93088)","updatedAt":"2026-08-24T01:25:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/93353"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T01:06:50Z","updatedAt":"2026-08-24T01:06:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/93353#pullrequestreview-5003886332","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKKF0qw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKKF0qw","summary":"Reviewed exact head `d84ddd8c6d22672f1d7d2dbb203efaff585979b1` against its recorded base `f0ffcbc7532f5ca58d62eba474b0a398082c6e93` and current `main` `657550716f370bd5d1e848a57fc24b9c404cf982`. The only commits that moved `main` after this PR's base are the #90239 Desktop preview-close merge plus its JS format follow-up, so there is no new semantic overlap in this PR's Python surfaces. Hosted CI, Docker, and Nix are green on the exact head.\n\nThe core placement is correct: the Relay overlay can admit a provider field absent from Hermes' original request, so enforcing the consumer-Codex contract at the final `responses.create()` boundary is the right ownership layer. The endpoint predicate is appropriately narrow (`codex_responses` + `chatgpt.com` + `/backend-api/codex`), the real-endpoint regression protects Meta/Bedrock/direct OpenAI from accidental widening, and preserving `prompt_cache_key` independently is the right cache invariant. I also verified the provenance chain: this is a salvage of #89969 by @thacid22/Falko with authorship mapped, and @jackulau's Relay-overlay root-cause analysis is preserved rather than silently absorbed.\n\nThere is one merge blocker carried forward fr","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T20:51:51Z","updatedAt":"2026-08-19T20:51:51Z","submittedAt":"2026-08-19T20:51:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90243#pullrequestreview-4976637099"},"data":{"createdAt":"2026-08-19T20:51:51Z","occurredAt":"2026-08-19T20:51:51Z","pullRequest":{"createdAt":"2026-08-19T20:05:31Z","id":"PR_kwDOPRF1G88AAAABAVKxAA","mergedAt":"2026-08-19T21:45:15Z","number":90243,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(codex): strip unsupported cache retention at the consumer Codex wire (salvages #89969)","updatedAt":"2026-08-19T21:54:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/90243"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T20:51:51Z","updatedAt":"2026-08-19T20:51:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/90243#pullrequestreview-4976637099","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKkFazg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKkFazg","summary":"Supersession reconciliation: this implementation should not land in parallel with #93353.\n\nThe two exact-head authority blockers I raised here are closed in canonical successor #93353 at `16dc85640a33acc096a70eef0cd980dee2bce5d7`: deterministic snapshot-staging corruption is charged through `_repair_failure_consumes_attempt()`, and persistent exhaustion is rechecked after acquiring the cross-process repair lock, with the queued-repairer regression present. #93353 also carries the stronger non-destructive repair contract from #93268/#87409 and exact-head CI/Docker/Nix are green.\n\nCanonical review receipt: https://github.com/NousResearch/hermes-agent/pull/93353#pullrequestreview-5003886332\n\nI attempted to close this superseded competing PR after reconciliation, but GitHub rejected the state mutation with `403 Resource not accessible by integration`. That is an authorization boundary, not a remaining code finding.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T01:09:36Z","updatedAt":"2026-08-24T01:09:36Z","submittedAt":"2026-08-24T01:09:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93275#pullrequestreview-5003893454"},"data":{"createdAt":"2026-08-24T01:09:36Z","occurredAt":"2026-08-24T01:09:36Z","pullRequest":{"createdAt":"2026-08-23T22:46:40Z","id":"PR_kwDOPRF1G88AAAABAu13Jw","mergedAt":null,"number":93275,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(state): repair malformed databases on isolated candidates","updatedAt":"2026-08-24T01:26:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/93275"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T01:09:36Z","updatedAt":"2026-08-24T01:09:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/93275#pullrequestreview-5003893454","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKkkoYw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKkkoYw","summary":"Reviewed exact head `0bf78cfbd66e3ead782a78e6e655829b3cedfd7a`. The request-only/non-persistent placement is a good boundary, and preserving complete historical user/tool groups is substantially safer than message-by-message clipping. I found two correctness blockers plus one merge-topology blocker before this can be treated as a provider-side context cap.\n\n### Blocker 1 — fixed-prefix provenance is computed before a hook that may replace the request wholesale\n\nIn [`agent/conversation_loop.py`](https://github.com/NousResearch/hermes-agent/blob/0bf78cfbd66e3ead782a78e6e655829b3cedfd7a/agent/conversation_loop.py#L2521-L2558), `_request_fixed_prefix_count` is derived from the pre-selection request, then `_apply_context_engine_selection()` is allowed to replace/reorder/filter the request, and the old positional count is passed unchanged into `_apply_request_context_budget_window()`.\n\nThat crosses the public `ContextEngine.select_context()` ownership boundary. A legitimate engine can, for example, drop two ephemeral prefills and return `[system, retrieved_user, latest_user]`. If the original fixed count was 3, the budget helper clamps that stale count to 3 and treats *all three selected","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T03:49:32Z","updatedAt":"2026-08-24T03:49:32Z","submittedAt":"2026-08-24T03:49:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93489#pullrequestreview-5004404835"},"data":{"createdAt":"2026-08-24T03:49:32Z","occurredAt":"2026-08-24T03:49:32Z","pullRequest":{"createdAt":"2026-08-24T03:19:52Z","id":"PR_kwDOPRF1G88AAAABAvzQtA","mergedAt":null,"number":93489,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(agent): add request context budget window","updatedAt":"2026-08-24T03:49:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/93489"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T03:49:32Z","updatedAt":"2026-08-24T03:49:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/93489#pullrequestreview-5004404835","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKkMDTA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKkMDTA","summary":"Reviewed exact head `765f2556adcd6240fd54e4bb6520cf415e1fb2ab` (base recorded by the PR: `f293e7206b4ddd66042329442c6afebc19a8808d`; current `main` at review: `654d537088aa499e14b2a859534652dc80b16e7f`). I inspected the sensitive-worker spawn/env boundary, `kanban_sensitive` validator, all three tool-dispatch paths, plugin hook semantics, artifact redaction/preservation, workspace preflight/lease fences, the focused sensitive tests, existing discussion, and the related credential-containment graph.\n\nThere is one security blocker in the new policy composition.\n\n`hermes_cli.plugins._get_pre_tool_call_directive_details()` still preserves the existing “first valid block/approve directive wins” behavior. This PR adds the `kanban_sensitive` validator to that same ordered result stream, but the function returns immediately when it sees an earlier `approve` directive. That early return bypasses the later sensitive-mode check that requires a `policy == \"kanban_sensitive\"` validator. `_resolve_block_from_details()` can then turn that earlier `approve` into `None` after human approval, and `_dispatch_pre_tool_call_hooks()` only runs validators carried in the already-returned directive. If the","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T01:45:57Z","updatedAt":"2026-08-24T01:45:57Z","submittedAt":"2026-08-24T01:45:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93021#pullrequestreview-5004002124"},"data":{"createdAt":"2026-08-24T01:45:57Z","occurredAt":"2026-08-24T01:45:57Z","pullRequest":{"createdAt":"2026-08-23T15:47:12Z","id":"PR_kwDOPRF1G88AAAABAthHhw","mergedAt":null,"number":93021,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(kanban): harden reliability and sensitive execution boundaries","updatedAt":"2026-08-24T17:28:22Z","url":"https://github.com/NousResearch/hermes-agent/pull/93021"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T01:45:57Z","updatedAt":"2026-08-24T01:45:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/93021#pullrequestreview-5004002124","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKkNucg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKkNucg","summary":"Reviewed exact head `f7b20ac9869b699905c02c9740c41d31db514432` against base `654d537088aa499e14b2a859534652dc80b16e7f` and current `main` `8c8193dce5faf71d80bf98eb52bd896ee7be8a27`. Current main is one formatter commit ahead of the PR base and only changes four Desktop test/store files outside this diff, so it does not change the finding below. Exact-head CI `32680878271`, Docker `32680877901`, and Nix `32680877909` are green.\n\n## Blocker — the startup sweep can end a session that is still live in another process\n\n`_sweep_orphaned_session_rows()` calls `SessionDB.sweep_orphaned_sessions()` with `exclude_ids=tuple(_live_session_ids())`, but `_live_session_ids()` is deliberately only this process's `_sessions`. The DB, however, is shared by sibling Hermes processes on the same profile. The new DB predicate then treats `ended_at IS NULL` + source in `tui/desktop/subagent` + both clocks older than `_SESSION_TTL_S` as sufficient proof of orphanhood.\n\nThat is not equivalent to “owning process is dead.” The existing in-memory TTL contract shows the missing axis: `_session_is_evictable()` refuses to reap any session whose transport is still live, regardless of age. A concrete reachable int","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T01:54:58Z","updatedAt":"2026-08-24T01:54:58Z","submittedAt":"2026-08-24T01:54:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93430#pullrequestreview-5004029554"},"data":{"createdAt":"2026-08-24T01:54:58Z","occurredAt":"2026-08-24T01:54:58Z","pullRequest":{"createdAt":"2026-08-24T01:46:39Z","id":"PR_kwDOPRF1G88AAAABAvbmOQ","mergedAt":"2026-08-24T01:58:41Z","number":93430,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(sessions): gateway restarts no longer strand rows, and closing sockets can't unbind live sessions (ring 2, 5 salvages)","updatedAt":"2026-08-24T01:58:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/93430"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T01:54:58Z","updatedAt":"2026-08-24T01:54:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/93430#pullrequestreview-5004029554","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKKvFTw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKKvFTw","summary":"## Full second pass — changes required\n\nReviewed exact head `0502d095d303340dc1a5490a9478cc348a02de59`, including the repaired implementation, all prior review threads, focused tests, and the current `main` architecture. The nine earlier substantive findings remain closed. This pass found new class-level blockers that the current test shape cannot observe.\n\n### P1 — the loopback hop erases Hermes' profile credential boundary\n\nFreemaxxing is process-global in every place where Hermes is profile-scoped:\n\n- `plugins/model-providers/freemaxxing/__init__.py` creates one `_LOCAL_TOKEN`, writes it into process-global `os.environ`, owns one global `BackendPool`, and builds that pool only once.\n- `build_models_payload()` unconditionally reaches `_freemaxxing_provider_row()`, which calls `_ensure_freemaxxing_proxy()`. A read-only model-listing surface can therefore become the first caller that fixes the process-global pool's credential authority.\n- `_build_pool()` resolves Nous/OpenRouter/HF credentials under whichever profile context reaches it first. Every later profile reuses those `Backend` objects and their stored keys.\n- Requests then cross into `ThreadingHTTPServer` worker threads. Th","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T22:32:45Z","updatedAt":"2026-08-19T22:32:45Z","submittedAt":"2026-08-19T22:32:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85631#pullrequestreview-4977313103"},"data":{"createdAt":"2026-08-19T22:32:45Z","occurredAt":"2026-08-19T22:32:45Z","pullRequest":{"createdAt":"2026-08-13T20:52:20Z","id":"PR_kwDOPRF1G87-zPrr","mergedAt":null,"number":85631,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Freemaxxing: authenticated proven-free local failover router","updatedAt":"2026-08-21T02:00:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/85631"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T22:32:45Z","updatedAt":"2026-08-19T22:32:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/85631#pullrequestreview-4977313103","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKkynQg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKkynQg","summary":"Reviewed exact head `25920a8f075f1f05ebfcb97a146623a156fbfef8` against exact/current `main` `ec44116d596d798d6cb230825f1a635bc6dd38e9`.\n\nThe code changed in this PR is directionally and mechanically correct: the Weixin/WeCom construction-time reads now use their existing scoped readers, Yuanbao uses the canonical `_platform_gate_env`, and the startup guard now uses scoped `_getenv`. The regressions exercise real adapter construction/authorization state (not just helper aliases) in both directions: a secondary profile sees its own scoped value, and a scoped miss does not borrow the default profile's process env. Exact-head CI `32689969937`, Docker `32689969471`, and Nix `32689969464` are all green; the Python test/lint/e2e jobs executed successfully.\n\nThere is still one merge blocker in the publication/topology, though: **this head says `Fixes #93522`, but it does not actually close all of #93522 on current main.**\n\n#93522 explicitly includes the fail-open intake/authorization reads in Weixin, Signal, and WeCom. Those sites are still live on `main` after applying this PR's delta:\n\n- `gateway/platforms/weixin.py::_open_dm_opted_in()` still reads both `GATEWAY_ALLOW_ALL_USERS` and `WE","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T04:52:54Z","updatedAt":"2026-08-24T04:52:54Z","submittedAt":"2026-08-24T04:52:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93545#pullrequestreview-5004633922"},"data":{"createdAt":"2026-08-24T04:52:54Z","occurredAt":"2026-08-24T04:52:54Z","pullRequest":{"createdAt":"2026-08-24T04:25:41Z","id":"PR_kwDOPRF1G88AAAABAwEVIA","mergedAt":null,"number":93545,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): scope multiplex-profile authorization reads (weixin/yuanbao/wecom)","updatedAt":"2026-08-24T10:34:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/93545"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T04:52:54Z","updatedAt":"2026-08-24T04:52:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/93545#pullrequestreview-5004633922","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKkYPLw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKkYPLw","summary":"Reviewed exact head `aeafa8a59a0817574705eb176efd7f5567effbd8` against PR base `3f5d37568eea351825b5e3ccbbdc1e8161f2c61d` and current `main` `608a56ed7f50926ecfae1db39447b280a0bc4d1e`. Exact-head CI `32682872086`, Docker `32682871748`, and Nix `32682871693` are all green. The scoped-miss regression itself is real, and `{label!r}` does close the current waiter’s source-injection primitive, but I think two boundaries still need repair before this is complete.\n\n### 1. Multiplex auth still fails open when the authorization check is *unscoped*\n\n`_auth_env()` now delegates to `_platform_gate_env()`, but `_platform_gate_env()` is authoritative only when `current_secret_scope() is not None and is_multiplex_active()`. If multiplexing is active with **no scope installed**, it still falls through to process-global `os.getenv()`.\n\nThat is reachable in a security-relevant production path on this head: `GatewayRunner._schedule_resume_pending_sessions()` is called directly from startup and again after platform reconnect; it takes `source = entry.origin` and calls `_is_user_authorized(source)` before dispatching the synthesized resume turn. There is no `_profile_runtime_scope(...)` around that aut","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T02:50:19Z","updatedAt":"2026-08-24T02:50:19Z","submittedAt":"2026-08-24T02:50:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93446#pullrequestreview-5004201775"},"data":{"createdAt":"2026-08-24T02:50:19Z","occurredAt":"2026-08-24T02:50:19Z","pullRequest":{"createdAt":"2026-08-24T02:22:51Z","id":"PR_kwDOPRF1G88AAAABAvkXwg","mergedAt":"2026-08-24T03:00:31Z","number":93446,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(gateway): multiplex profiles no longer inherit another profile's allowlist; bot_relay stops running roster fields as code (#93157)","updatedAt":"2026-08-24T03:00:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/93446"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T02:50:19Z","updatedAt":"2026-08-24T02:50:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/93446#pullrequestreview-5004201775","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKlCoZw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKlCoZw","summary":"Reviewed exact head `5156d98d629d177537da516c1b54d2775fe9510f` against base `6ed8bcee8dc7c27965a2ee1fb8e8370b0bfd6169` and current `main` `91e867631e9d2eb9fbd69edd4459475d38070979` (20 commits ahead of the PR base). Exact-head CI `32692363207`, Docker `32692362931`, and Nix `32692362804` are green. I also traced the direct donor #30112 and its July review: this salvage does close the old profile-scoping and backend-classification blockers, so I am not repeating those.\n\nI still see three merge blockers in the new/current shape:\n\n1. **`container_persistent: false` is not actually an isolation boundary for Sprites.** Current `terminal_tool.py::_docker_session_isolation_enabled()` explicitly codifies the repository contract established by merged #82731: non-persistent means state must not survive/share across sessions, so Docker keys the sandbox per session instead of collapsing to `\"default\"`. #93523 wires `container_persistent` into `SpritesEnvironment`, but `_resolve_container_task_id()` still only applies that per-session branch to Docker. In CLI/no-session-key mode Sprites therefore still resolves to `\"default\"`; `_resolve_sprite_name()` produces the same deterministic `hermes-def","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T05:57:49Z","updatedAt":"2026-08-24T05:57:49Z","submittedAt":"2026-08-24T05:57:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93523#pullrequestreview-5004896359"},"data":{"createdAt":"2026-08-24T05:57:49Z","occurredAt":"2026-08-24T05:57:49Z","pullRequest":{"createdAt":"2026-08-24T04:05:55Z","id":"PR_kwDOPRF1G88AAAABAv-irw","mergedAt":null,"number":93523,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(tools): add Sprites stateful sandbox backend (salvage of #30112)","updatedAt":"2026-08-25T03:25:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/93523"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T05:57:49Z","updatedAt":"2026-08-24T05:57:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/93523#pullrequestreview-5004896359","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKLduYQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKLduYQ","summary":"Reviewed exact head `fdab017f9434864630d2b71738ef648f9c765269` against recorded base `13ce0c5c675e843af70d19c9e5144249cd51c8d1`. Current `main` is `ad889540f20ba49157976487a29becb762ce7933`, 113 commits ahead of this branch's merge base. There were no prior human review submissions or inline threads on this exact head.\n\n**Verdict: the P0 fix is technically sound on the defect it targets. I do not see a code-level blocker in this diff.** I would still rebase onto current main and require a fresh exact-head matrix before merge because two of the touched ownership sites (`agent/agent_runtime_helpers.py`, `agent/conversation_loop.py`) have moved materially since the recorded base.\n\n### What I verified\n\nThe mechanism from #89886 is real and the repair closes both halves of it. `@johmobit` supplied the production failure; `@liuhao1024` traced the request-shape bug precisely: on the envelope/OpenAI wire, Hermes can put `cache_control` on a `role:tool` content part; LiteLLM's OpenAI→Anthropic translation carries that part into `tool_result.content[]`, where Anthropic rejects the nested marker with a non-retryable 400. Native Anthropic is a different shape: the marker is top-level on the to","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T00:56:12Z","updatedAt":"2026-08-20T00:56:12Z","submittedAt":"2026-08-20T00:56:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89931#pullrequestreview-4978077281"},"data":{"createdAt":"2026-08-20T00:56:12Z","occurredAt":"2026-08-20T00:56:12Z","pullRequest":{"createdAt":"2026-08-19T10:11:26Z","id":"PR_kwDOPRF1G88AAAABAQ9-fQ","mergedAt":null,"number":89931,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(prompt-caching): tool-using sessions no longer 400 behind LiteLLM Anthropic proxies (#89886)","updatedAt":"2026-08-29T06:39:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/89931"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T00:56:12Z","updatedAt":"2026-08-20T00:56:12Z","url":"https://github.com/NousResearch/hermes-agent/pull/89931#pullrequestreview-4978077281","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKLEFVw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKLEFVw","summary":"# Post-merge root-cause review\n\n## Verdict\n\n**#90330 is a valid hotfix and should remain merged. Its claim that the “whole effort-vocabulary bug class is fixed at every translation site” is not supportable.** It closes the known `ultra` leaks and several reasoning-ladder inversions. It does not remove the architecture that produced them.\n\nMerged as `9ec5750aca33bf6e977cfde468868b0f0d66e339` from reviewed head `952e0d9330ee0fd73b35e134e48571d8bcde3a7f`.\n\n## Root cause\n\nThe root cause is **an uncompiled semantic intent crossing a late-bound provider boundary**.\n\nHermes has a global, user-facing reasoning ladder:\n\n```text\nnone < minimal < low < medium < high < xhigh < max < ultra\n```\n\nBut `reasoning_config` is represented as a largely provider-agnostic dictionary whose `effort` string is also treated as though it were already a valid wire value. Provider and model selection can change after that configuration is created—through cron overrides, fallback, auxiliary routing, MoA/delegation, or per-turn model selection.\n\nThere is no mandatory final step equivalent to:\n\n```python\ncompile_reasoning(\n    requested_intent,\n    final_provider,\n    final_model,\n    final_transport,\n    final_en","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T23:32:04Z","updatedAt":"2026-08-19T23:32:04Z","submittedAt":"2026-08-19T23:32:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90330#pullrequestreview-4977657175"},"data":{"createdAt":"2026-08-19T23:32:04Z","occurredAt":"2026-08-19T23:32:04Z","pullRequest":{"createdAt":"2026-08-19T22:41:48Z","id":"PR_kwDOPRF1G88AAAABAWDo8g","mergedAt":"2026-08-19T23:04:23Z","number":90330,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix: reasoning effort 'ultra' no longer 400s on non-Anthropic wires (#89503 class, salvage #89509)","updatedAt":"2026-08-19T23:32:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/90330"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T23:32:04Z","updatedAt":"2026-08-19T23:32:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/90330#pullrequestreview-4977657175","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKLM-qg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKLM-qg","summary":"## Architecture review — one blocker before this can claim class closure\n\nReviewed exact head `c2f66739ef3bcb8f78198d7797713ff6328329e4` against base `4a83b03c3ad83ff8770711284b0f059636be3dda`, including the 16-file diff, the new clamp tests, the existing transport/profile suites, #90330 and its post-merge RCA, #34968, and current CI. CI/Docker/Nix are green on this head; the CI bot's OSV warnings are pinned-dependency findings unrelated to this diff.\n\nThe direction is right. `EFFORT_LADDER` + one `clamp_effort()` policy is a real improvement over the hand-written maps, and the xAI split already demonstrates the right instinct: capability data may differ by model family even when the transport is identical. The catalog-driven OpenRouter/Copilot path and LM Studio's model-advertised `allowed_options` are also complementary capability sources, not duplicate implementations.\n\n### Blocker: `CODEX_RESPONSES_EFFORTS` is a transport vocabulary, but the actual contract is model-specific\n\n`agent/reasoning_effort.py` declares one fixed:\n\n```py\nCODEX_RESPONSES_EFFORTS = (\"low\", \"medium\", \"high\", \"xhigh\", \"max\")\n```\n\nand both `agent/transports/codex.py` and `agent/auxiliary_client.py` clamp ev","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-19T23:55:10Z","updatedAt":"2026-08-19T23:55:10Z","submittedAt":"2026-08-19T23:55:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90350#pullrequestreview-4977802922"},"data":{"createdAt":"2026-08-19T23:55:10Z","occurredAt":"2026-08-19T23:55:10Z","pullRequest":{"createdAt":"2026-08-19T23:31:27Z","id":"PR_kwDOPRF1G88AAAABAWS7EQ","mergedAt":"2026-08-20T02:29:13Z","number":90350,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"refactor: reasoning-effort clamps can no longer drift per vendor — one canonical ladder + declared wire vocabularies","updatedAt":"2026-08-20T02:29:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/90350"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-19T23:55:10Z","updatedAt":"2026-08-19T23:55:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/90350#pullrequestreview-4977802922","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKlrplQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKlrplQ","summary":"Reviewed exact head `7cb62237ee2656c3ca2bb91fd2b8ea2c881006df` against current `main` `a0ca7c19204e514f9590ce3b812e029b315ab9e9` (merge base `7e67f64fcee9340f40a1c6f912fc650aa4984510`). Exact-head CI `32702203904`, Docker `32702203281`, and Nix `32702203232` are all green. The current-main delta since the merge base is in cron/dashboard/console surfaces, not these gateway authz files, so I do not see a composition collision there.\n\nThe Weixin/Yuanbao/WeCom/startup-guard changes close the publication gap left on #93545, and the Signal helper does remove the original cross-profile `os.environ` borrowing. There is still one security blocker on the Signal side, though:\n\n**Blocker — a scoped `SIGNAL_ALLOWED_USERS` miss still becomes wildcard authority before the runner auth gate.** In `gateway/platforms/signal.py`, the constructor now does `_sig_secret(\"SIGNAL_ALLOWED_USERS\", \"*\")`. With multiplexing active and a secondary profile scope installed but no `SIGNAL_ALLOWED_USERS` entry, the scoped read returns the supplied default, so `self.dm_allow_from` becomes `{\"*\"}`. The existing reaction gate treats `\"*\"` as authorized, and that reaction path intentionally runs before `run.py` authori","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T07:47:43Z","updatedAt":"2026-08-24T07:47:43Z","submittedAt":"2026-08-24T07:47:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93639#pullrequestreview-5005568405"},"data":{"createdAt":"2026-08-24T07:47:43Z","occurredAt":"2026-08-24T07:47:43Z","pullRequest":{"createdAt":"2026-08-24T07:28:13Z","id":"PR_kwDOPRF1G88AAAABAw8k-g","mergedAt":"2026-08-24T10:20:07Z","number":93639,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(gateway): secondary-profile allowlists work and allow-all no longer leaks across profiles (#93522, salvage #93545 + #93605)","updatedAt":"2026-08-24T10:20:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/93639"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T07:47:43Z","updatedAt":"2026-08-24T07:47:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/93639#pullrequestreview-5005568405","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKLvntw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKLvntw","summary":"Reviewed exact head `a9f94ce1aa28a605a2f78f863e6d10dbe5657e53` against recorded base / merge-base `cf64ca20c5ab99ebf7e8ca272c69edc7ea0636ed` and current `main` `fab8479aa005e3c6f9e779a2b9da4e186a17db4a`. This PR has no prior human review/comments on the exact head. It is currently 7 commits ahead and **573 commits behind** main, non-mergeable, so everything below is a semantic review of the exact current branch plus a restack gate.\n\nThe branch closes several real failure modes from #88224: the mtime-based repair budget was structurally wrong for malformed-schema databases that still accept writes; the raw-fd lock cancellation issue is correctly avoided with `offline_file_access`; the liveness-alternation budget fix is directionally right; rollback journals belong in the forensic bundle; low-disk refusal is correctly fail-closed; and the staging prefix fix prevents copy-stage debris from being counted as a backup. The tests are unusually good at reproducing those specific failures.\n\nI found two blocking data-integrity gaps in the new backup identity/publication model.\n\n### 1. One fingerprint is being asked to mean two incompatible things\n\n`_db_fingerprint()` is deliberately designed","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T01:50:05Z","updatedAt":"2026-08-20T01:50:05Z","submittedAt":"2026-08-20T01:50:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88425#pullrequestreview-4978370487"},"data":{"createdAt":"2026-08-20T01:50:05Z","occurredAt":"2026-08-20T01:50:05Z","pullRequest":{"createdAt":"2026-08-17T13:04:13Z","id":"PR_kwDOPRF1G88AAAABABfHDQ","mergedAt":"2026-08-22T09:03:21Z","number":88425,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(state): stop the unbounded state.db repair loop (salvage of #88224)","updatedAt":"2026-08-23T16:36:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/88425"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T01:50:05Z","updatedAt":"2026-08-20T01:50:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/88425#pullrequestreview-4978370487","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKLVwKQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKLVwKQ","summary":"Reviewed exact head `095f00337710446f6e446515d63781080326802f` against base `2eb0b3b2c895e4a6f99714a52d35578088ad8ec7`. Current `main` is `de322448ac435b720177b94496e51ae6c10ad543`, four Desktop-only commits beyond the merge base with no direct overlap in this web/provider diff. There were no prior human reviews or inline threads on this head. Exact-head CI, Docker, and Nix are all green.\n\nThe core architecture is good: keyless capability is kept separate from ordinary `is_available()`, the anonymous tier sits behind configured/keyed/managed/DDGS routes, the existing input secret/URL-safety gates remain above provider dispatch, and the Parallel correlation id is random per process with the optional analytics field omitted. I found three blockers at the egress-policy, selection-identity, and registration boundaries.\n\n### 1. `web.keyless_fallback: false` is not an authoritative kill switch\n\nThe docs and config comment say this setting disables the keyless tier entirely, but `plugins/web/keyless_mcp.py::use_keyless()` checks `provider_tier == \"free\"` first and returns `True` without consulting `keyless_enabled()`. An explicit Free row therefore still sends requests to Exa/Parallel whi","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T00:25:21Z","updatedAt":"2026-08-20T00:25:21Z","submittedAt":"2026-08-20T00:25:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90313#pullrequestreview-4977946665"},"data":{"createdAt":"2026-08-20T00:25:21Z","occurredAt":"2026-08-20T00:25:21Z","pullRequest":{"createdAt":"2026-08-19T22:18:09Z","id":"PR_kwDOPRF1G88AAAABAV8R7Q","mergedAt":"2026-08-20T02:47:13Z","number":90313,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat: web search works keyless on fresh installs (Parallel + Exa free tiers)","updatedAt":"2026-08-20T02:47:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/90313"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T00:25:21Z","updatedAt":"2026-08-20T00:25:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/90313#pullrequestreview-4977946665","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKmMdKQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKmMdKQ","summary":"Reviewing exact head `f50d6abd87ae5e910e8d9f72d0f13685021c0349` against current `main` `a0ca7c19204e514f9590ce3b812e029b315ab9e9`.\n\nI’m blocking on two things.\n\n**1. The sync timeout path can rewrite an idle timeout into a total-ceiling timeout after the decision has already been made.**\n\n`run_compress_context_with_progress_timeout()` decides to leave the wait loop from the sampled `waited` / `seconds_since_progress`, but it does not freeze that cause. It then cancels the future, races through `try_cancel_before_commit()`, releases the cancelled compression lock, and only *after that* re-samples `fence.seconds_since_progress()` and calls `classify_compression_timeout()`. That classifier discards `waited_seconds` entirely and returns `total_ceiling` whenever the final sampled progress age is below the idle budget.\n\nConcrete interleaving with `idle=120s`, `ceiling=600s`: no progress reaches 120s, so the wait loop correctly breaks on idle exhaustion; before fence cancellation wins, the still-running worker emits one final progress tick; the post-cancel sample is now ~0s since progress, so this code reports `total_ceiling` even though only ~120s elapsed and the 600s ceiling was nowhere","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T08:56:06Z","updatedAt":"2026-08-24T08:56:06Z","submittedAt":"2026-08-24T08:56:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93241#pullrequestreview-5006105897"},"data":{"createdAt":"2026-08-24T08:56:06Z","occurredAt":"2026-08-24T08:56:06Z","pullRequest":{"createdAt":"2026-08-23T21:33:34Z","id":"PR_kwDOPRF1G88AAAABAuoX9Q","mergedAt":null,"number":93241,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(compression): bound large-session compaction","updatedAt":"2026-08-30T20:02:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/93241"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T08:56:06Z","updatedAt":"2026-08-24T08:56:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/93241#pullrequestreview-5006105897","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKMQXGQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKMQXGQ","summary":"Reviewed exact head `d6c333742d696d9dc8aa71dabe9a99392640f57d` against base `aebab05f9ec08c29672dd709db2e639d00a8544a`; current `main` is `a72c9ca248a051b8c7e8a69ff422c7be5066cdc4`, four commits beyond the base with no overlap in `gateway/run.py`. Exact-head CI, Docker, and Nix are green, and there were no prior formal reviews on this head.\n\nThe local hunk is sensible defense-in-depth: if a retryable fatal callback arrives for an already-queued platform, checking watcher liveness without resetting `attempts` / `next_retry` is strictly better than silently returning, and the two guard tests correctly prevent re-enqueue/backoff reset and duplicate spawning.\n\nI do **not** think the current evidence proves the P1 is closed, though. There are two architecture blockers.\n\n### 1. The healer is still event-coupled after the event source is gone\n\nThe predecessor architecture says this explicitly. #72366 (salvage of #71867 by `@ygd58`) restored `_spawn_supervised` because `_ensure_reconnect_watcher_running()` was only reached from **a new fatal-error arrival**; if the watcher died while a platform was already queued and no later platform failed, nothing noticed it. Supervision fixed that by a","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T03:52:57Z","updatedAt":"2026-08-20T03:52:57Z","submittedAt":"2026-08-20T03:52:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90448#pullrequestreview-4978906905"},"data":{"createdAt":"2026-08-20T03:52:57Z","occurredAt":"2026-08-20T03:52:57Z","pullRequest":{"createdAt":"2026-08-20T02:47:17Z","id":"PR_kwDOPRF1G88AAAABAXHijA","mergedAt":null,"number":90448,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): heal a dead reconnect watcher when the platform is already queued","updatedAt":"2026-08-22T11:26:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/90448"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T03:52:57Z","updatedAt":"2026-08-20T03:52:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/90448#pullrequestreview-4978906905","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKMz-dQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKMz-dQ","summary":"Reviewed exact head `2c765549825961bfce0c1bbdbf703c2688a047da` (base snapshot `9c12d2d6c33176ecc8392d83f07b9e0beb2638d2`; current `main` is `bbb7b607b4c125a5f0cedf1ce29adc6ae4a59b40`). CI, Docker, and Nix are green on this head; the OSV bot warning is repository dependency state, not caused by this 3-file diff.\n\nThe core direction is right — sparse writes are the correct boundary for #89184/#89597 — but I see two correctness blockers on the current implementation.\n\n### 1. The dirty-key authority is session-long, so the original stale-clobber bug comes back after the first successful save\n\n`editedKeysRef` is monotonic for the lifetime of `ConfigSettingsInner`: keys are added in `applyConfig`, but never retired after a successful autosave. `fullSaveRef` is likewise one-way: once a JSON import sets it, every later autosave is a whole-record PUT forever.\n\nThat means the payload is not actually “what this save owns”; it is “everything this page has ever owned.” A concrete same-profile witness:\n\n1. Open Settings; edit `model`; autosave succeeds. (`editedKeysRef = {model}`.)\n2. Change the model out-of-band through composer `/model` / Model page / CLI.\n3. Toggle an unrelated field such as ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T05:52:47Z","updatedAt":"2026-08-20T05:52:47Z","submittedAt":"2026-08-20T05:52:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90537#pullrequestreview-4979490421"},"data":{"createdAt":"2026-08-20T05:52:47Z","occurredAt":"2026-08-20T05:52:47Z","pullRequest":{"createdAt":"2026-08-20T05:15:17Z","id":"PR_kwDOPRF1G88AAAABAXxJfg","mergedAt":null,"number":90537,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): config autosave sends only session-edited keys — stale drafts stop reverting newer changes","updatedAt":"2026-08-31T17:07:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/90537"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T05:52:47Z","updatedAt":"2026-08-20T05:52:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/90537#pullrequestreview-4979490421","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKnEkrA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKnEkrA","summary":"Reviewed exact head `749608614ac944a161bf45a831ba324a0308236e` against base `9fbe3cc0408069aee6c7643194dc1aaeadf7b17d` and current main `85958abf092490d5885bc1b27067e9794768c2b9`. The capability-gated `gateway.ping` wire contract and the shared Desktop client's socket-generation invalidation are well-shaped, and exact-head CI (`32717022365`), Docker (`32717021643`), and Nix (`32717021620`) are green.\n\n**Blocker — the Ink TUI's advertised exponential reconnect backoff is reset before every automatic retry, so repeated failures retry every 1s rather than 1s/2s/4s/8s/... capped at 30s.**\n\nAt this exact head, `ui-tui/src/gatewayClient.ts::scheduleReconnect()` computes the delay from `reconnectAttempts`, increments it, and schedules a callback that calls `this.start()`. But `start()` immediately calls `clearReconnect()` (twice in the current method), and `clearReconnect()` sets `reconnectAttempts = 0`. If that retry fails before a successful connection, the next `handleTransportExit()` therefore enters `scheduleReconnect()` with attempt 0 again and schedules another 1s retry. Under a sustained gateway/network outage this creates a 1s reconnect/child/socket churn loop, defeating the boun","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T10:53:24Z","updatedAt":"2026-08-24T10:53:25Z","submittedAt":"2026-08-24T10:53:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93792#pullrequestreview-5007025324"},"data":{"createdAt":"2026-08-24T10:53:24Z","occurredAt":"2026-08-24T10:53:24Z","pullRequest":{"createdAt":"2026-08-24T10:29:10Z","id":"PR_kwDOPRF1G88AAAABAyJ6fA","mergedAt":"2026-08-24T11:01:54Z","number":93792,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(gateway): silent socket drops heal themselves on every surface (salvage #89958, #90012, #89984)","updatedAt":"2026-08-24T11:01:56Z","url":"https://github.com/NousResearch/hermes-agent/pull/93792"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T10:53:24Z","updatedAt":"2026-08-24T10:53:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/93792#pullrequestreview-5007025324","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKneP2w","kind":"review","label":"PRR_kwDOPRF1G88AAAABKneP2w","summary":"## Blocking review — completion proof still splits from canonical run outcome\n\nReviewed exact head `3032c231c4940365a066e72b4936b47877b41149` against base `ddbd928ee4e881f0c7b3536a00355647c6559fe2`, #93820's acceptance contract, the existing session-lifecycle classifier, the outer cron settlement/delivery path, and exact-head CI. I found two blockers.\n\n1. **The new settlement does not control the user-visible success surfaces that are false-green today.** `run_job()` evaluates and returns its `(success, output, final_response, error)` tuple before the `finally` block runs. This patch only changes `SessionDB.end_session()` inside that `finally`; it does not change the already-evaluated `success=True` returned to `_run_job_body()`. The outer path then uses that original success value for delivery, `mark_job_run(...)`, and `finish_execution(...)` (subject only to the existing empty in-memory `final_response` guard). A non-empty in-memory response plus an `interrupted` persisted session therefore becomes split-brain: session `end_reason=cron_incomplete_no_output`, while job history/execution can still be recorded successful and the response can still be delivered as success. The new `_","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T11:47:19Z","updatedAt":"2026-08-24T11:47:19Z","submittedAt":"2026-08-24T11:47:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93829#pullrequestreview-5007445979"},"data":{"createdAt":"2026-08-24T11:47:19Z","occurredAt":"2026-08-24T11:47:19Z","pullRequest":{"createdAt":"2026-08-24T11:40:14Z","id":"PR_kwDOPRF1G88AAAABAyoAZw","mergedAt":null,"number":93829,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(cron): verify a persisted final assistant message before booking complete","updatedAt":"2026-08-27T14:53:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/93829"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T11:47:19Z","updatedAt":"2026-08-24T11:47:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/93829#pullrequestreview-5007445979","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKNIheg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKNIheg","summary":"Re-reviewed exact current head `8245893e948e407acb3b105a2b5e9caf392f098d` after @rodrigogs' follow-up to the prior blocker. The previous producer→consumer contract break is **materially addressed**: the heartbeat write is off-loop, the new PID-scoped tick socket is loop-owned, the consumer no longer treats an off-loop file timestamp as sufficient authority, and the new tests exercise both the stalled-write/live-loop case and the late-write false-fresh case. That is the right architectural direction.\n\nI still have **one blocker in the new destructive-authority threshold**.\n\n### A single 1s socket miss is not enough proof to bypass the drain floor\n\n`_probe_loop_tick_socket()` defaults to a **1.0s** timeout. In `probe_gateway_loop_liveness()`, once the file is stale and the producer says `loop_tick_socket: true`, one silent socket probe (`witness is False`) immediately returns `GATEWAY_LOOP_WEDGED`. Existing #86860 consumers then take the bounded destructive escalation path and bypass #86684's normal drain floor.\n\nThat creates a false conjunction:\n\n1. the heartbeat file is stale because its off-loop `fsync`/executor work is delayed — precisely the condition this PR is designed to tole","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T06:47:51Z","updatedAt":"2026-08-20T06:47:51Z","submittedAt":"2026-08-20T06:47:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90502#pullrequestreview-4979827066"},"data":{"createdAt":"2026-08-20T06:47:51Z","occurredAt":"2026-08-20T06:47:50Z","pullRequest":{"createdAt":"2026-08-20T04:23:04Z","id":"PR_kwDOPRF1G88AAAABAXiGLA","mergedAt":null,"number":90502,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): the loop watchdog's own heartbeat can freeze the loop it watches","updatedAt":"2026-08-27T16:38:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/90502"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T06:47:50Z","updatedAt":"2026-08-20T06:47:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/90502#pullrequestreview-4979827066","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKNm6kA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKNm6kA","summary":"Reviewed exact head `491c5d5be6a5b1cefd4370fab7eea89b7773454e` against PR base `c2f5d2da211fddf6841aa911a2d79406116203d8` (current `main` had advanced to `27562ad5f80e90f7d552f92dbd4af7f1f511c3c8` by review time).\n\nThe narrow #90424 diagnosis is correct: `desktop-fs` / `desktop-git` were bypassing the connection-aware REST seam, and changing the active-foreground path from `window.hermesDesktop.api(...)` to `hermesApi(...)` does attach the currently active registered `connectionId` while preserving the profile. The added renderer and Electron routing witnesses cover that case.\n\nThere is one architecture-level blocker before I think this should land as the FS/Git routing fix, though:\n\n### Blocker: bind file/Git operations to the resource owner, not the foreground gateway\n\nAt this head, `hermesApi()` gets `connectionId` from the ambient `_apiConnectionId`, while `remoteFsApi()` gets `profile` from the ambient `$connection`. That works only while **resource owner == currently selected gateway**.\n\nDesktop explicitly does not have that invariant anymore:\n\n- #89719 made registered gateways independently live and switchable while background gateways keep their work/sockets alive.\n- `store","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T07:53:08Z","updatedAt":"2026-08-20T07:53:08Z","submittedAt":"2026-08-20T07:53:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90629#pullrequestreview-4980325008"},"data":{"createdAt":"2026-08-20T07:53:08Z","occurredAt":"2026-08-20T07:53:08Z","pullRequest":{"createdAt":"2026-08-20T07:18:30Z","id":"PR_kwDOPRF1G88AAAABAYbmMg","mergedAt":null,"number":90629,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): route remote file APIs to registered gateway","updatedAt":"2026-08-20T10:42:29Z","url":"https://github.com/NousResearch/hermes-agent/pull/90629"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T07:53:08Z","updatedAt":"2026-08-20T07:53:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/90629#pullrequestreview-4980325008","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKnMD-w","kind":"review","label":"PRR_kwDOPRF1G88AAAABKnMD-w","summary":"Reviewed exact head `ad0ea473b8846fdc059252b983c9426c043703b9` against base `ec5e369fe68f4abb3188767c751d6166d2139f0a` and current `main` `8e46e2c4c49391737e311aad12be829062364bac`. The profile scoping and awaited `AsyncSessionDB` forwarding path check out. I found one P1 state-authority blocker.\n\n### P1 — missing heartbeat plus old start time is not authority to make a session permanently non-recoverable\n\n`GatewayRunner._sweep_abandoned_sessions()` runs unconditionally at startup and on every expiry-watcher cadence, but passes only `default_reset_policy.idle_minutes` into the database sweep. It does not honor `SessionResetPolicy.mode`, per-platform reset overrides, current/sibling-process liveness, source ownership, or the newest transcript timestamp. `SessionDB.finalize_abandoned_sessions()` then selects on `started_at < cutoff AND last_activity_at IS NULL` and assigns terminal `end_reason='abandoned'`, which this PR deliberately excludes from stale-route recovery.\n\nThe new real-DB multiplex regression proves the unsafe case rather than preventing it: it constructs `GatewayConfig(multiplex_profiles=True)` (default reset mode `none`), appends `\"hello\"` at the current time, backdat","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T11:07:30Z","updatedAt":"2026-08-24T11:07:30Z","submittedAt":"2026-08-24T11:07:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93803#pullrequestreview-5007148027"},"data":{"createdAt":"2026-08-24T11:07:30Z","occurredAt":"2026-08-24T11:07:30Z","pullRequest":{"createdAt":"2026-08-24T10:40:17Z","id":"PR_kwDOPRF1G88AAAABAyOieA","mergedAt":null,"number":93803,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(sessions): finalize abandoned session rows","updatedAt":"2026-08-24T11:07:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/93803"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T11:07:30Z","updatedAt":"2026-08-24T11:07:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/93803#pullrequestreview-5007148027","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKOBntw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKOBntw","summary":"Blocking on one state-ownership issue. The symptom and request-boundary diagnosis are credible, but this patch repairs a request-local mismatch by rolling back session-global tool state.\n\n`refresh_tool_execution_bindings()` derives names from the *older in-flight request* and then assigns them directly to `agent.valid_tool_names`. On current main, `agent.tools` and `agent.valid_tool_names` are explicitly one published snapshot: `tools/mcp_tool.py::refresh_agent_mcp_tools()` swaps both under `_agent_tools_lock`, guards publication with `_tool_snapshot_generation`, and `test_refresh_is_thread_safe_under_concurrent_calls` asserts the two remain coherent under concurrent refreshes.\n\nConcrete race:\n\n1. Request A is sent with schema snapshot A.\n2. While the provider is thinking, a late MCP/reload refresh publishes live snapshot B under `_agent_tools_lock`: `agent.tools = B`, `agent.valid_tool_names = B`, generation advances.\n3. Response A returns.\n4. This PR writes `agent.valid_tool_names = A` without the lock or generation check, leaving the live session as `agent.tools = B` / `agent.valid_tool_names = A`.\n\nThat is exactly the half-published state the existing lock/generation machinery ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T08:47:19Z","updatedAt":"2026-08-20T08:47:19Z","submittedAt":"2026-08-20T08:47:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90675#pullrequestreview-4980762551"},"data":{"createdAt":"2026-08-20T08:47:19Z","occurredAt":"2026-08-20T08:47:19Z","pullRequest":{"createdAt":"2026-08-20T08:39:59Z","id":"PR_kwDOPRF1G88AAAABAY9OWg","mergedAt":null,"number":90675,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tools): stop visible tools from failing mid-session","updatedAt":"2026-08-20T13:58:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/90675"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T08:47:19Z","updatedAt":"2026-08-20T08:47:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/90675#pullrequestreview-4980762551","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKonRPA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKonRPA","summary":"## Exact-head re-review — repeated-cancellation blocker closed\n\nReviewed current head `fdb81b22c816e75ce9b109909cf872e3747ee26e` specifically against my remaining blocker from `74603c20fbeb7ae6df4f50caae0a9d654f442fd7`.\n\nThat blocker is closed on this head.\n\nThe persist→live settlement is now cancellation-resistant across repeated cancellation rather than protecting only the first `CancelledError`: `_commit_session_runtime_options_locked()` attaches live assignment to the durable unit's completion callback, parks the caller on a separate `settled` future under the admission lock, and loops on `asyncio.shield(settled)` until that unit is terminal. Cancellation is remembered and re-raised only after settlement. A durable-write failure behind cancellation is explicitly retrieved and logged, so it cannot escape as an unobserved task exception.\n\nThe regression surface matches the failure schedule I requested, rather than only testing a single cancel. `tests/gateway/test_session_options_cancel_mid_persist.py` now includes:\n\n- repeated cancel #1/#2/#3 while the store write is blocked, proving the admission lock stays held;\n- a competing options admission proving it cannot enter under the ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T14:00:58Z","updatedAt":"2026-08-24T14:00:58Z","submittedAt":"2026-08-24T14:00:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92187#pullrequestreview-5008642364"},"data":{"createdAt":"2026-08-24T14:00:58Z","occurredAt":"2026-08-24T14:00:58Z","pullRequest":{"createdAt":"2026-08-22T10:11:05Z","id":"PR_kwDOPRF1G88AAAABAo5LuA","mergedAt":null,"number":92187,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(gateway): add structured per-session runtime options","updatedAt":"2026-08-29T05:49:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/92187"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T14:00:58Z","updatedAt":"2026-08-24T14:00:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/92187#pullrequestreview-5008642364","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKOqcPQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKOqcPQ","summary":"Reviewed exact head `3ea8752e4a3db6027ed9152b6d266928507c2c6d` against the recorded PR base, current `main` (`1647d030cf1002dd3728c2d6c7fd402c8cb12470` at review time), the full 10-file diff, background-review/Relay lifecycle callers, the shared interrupt/tool-dispatch path, existing tests, hosted workflow state, and the #84423/#84461/#84450 lineage.\n\n**Disposition:** I do not see a code-level blocker in the implementation on this exact head. The lifecycle shape is coherent: the per-review token closes startup TOCTOU, deferred automatic reviews are not started until the parent Relay task/turn and durable lease have finished, cleanup is identity-scoped/ABA-safe, manual `/refine` has explicit supersession semantics, and Codex is routed through the same deferred handoff.\n\nI would **not merge this exact head unchanged**, however. There are three current-repository merge gates: the branch is now 313 `main` commits behind the shared merge base while carrying 3 unique commits; the hosted workflows on this head are `action_required` and have produced no jobs/status contexts, so the strong local matrix in the PR body is not equivalent to current hosted CI; and fresh #90701 changes the same ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T09:58:22Z","updatedAt":"2026-08-20T09:58:22Z","submittedAt":"2026-08-20T09:58:22Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90092#pullrequestreview-4981431357"},"data":{"createdAt":"2026-08-20T09:58:22Z","occurredAt":"2026-08-20T09:58:22Z","pullRequest":{"createdAt":"2026-08-19T15:28:28Z","id":"PR_kwDOPRF1G88AAAABATRxDw","mergedAt":null,"number":90092,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(agent): serialize background review Relay handoff","updatedAt":"2026-08-21T10:39:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/90092"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T09:58:22Z","updatedAt":"2026-08-20T09:58:22Z","url":"https://github.com/NousResearch/hermes-agent/pull/90092#pullrequestreview-4981431357","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKoYphQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKoYphQ","summary":"Reviewed exact head `222634d5144018edd2d5a742d9e2c941c07fbab5` against exact base/current `main` `057dcdf236f8a6a26721c10fcc6ccb72726e272a`. The suspended-create → assign-to-job → resume ordering is the right fix for #93873's PPID/reparenting hole, and the live Windows regression genuinely proves that a same-process `kill_process()` now reaches a reparented grandchild. Exact-head CI, including the Windows-only matrix, Docker, and Nix is green.\n\nI found one P1 lifecycle blocker on the other side of that ownership boundary.\n\n### P1 — the process-local kill-on-close owner destroys the existing cross-restart recovery contract\n\nA successfully assigned worker is placed in a Job Object carrying `JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE`, and the only handle is stored in `ProcessSession.job_handle`. The PR explicitly does not checkpoint that handle. Consequently, when the owning Hermes/gateway process exits — graceful restart/update, crash, or hard termination — Windows closes the process's last Job Object handle and kills the entire worker tree *before the next gateway can recover it*.\n\nThat directly contradicts current production authority in the same module:\n\n- `ProcessRegistry` advertises cr","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T13:36:58Z","updatedAt":"2026-08-24T13:36:58Z","submittedAt":"2026-08-24T13:36:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93882#pullrequestreview-5008402821"},"data":{"createdAt":"2026-08-24T13:36:58Z","occurredAt":"2026-08-24T13:36:58Z","pullRequest":{"createdAt":"2026-08-24T13:12:04Z","id":"PR_kwDOPRF1G88AAAABAzRy9g","mergedAt":null,"number":93882,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tools): kill Windows worker descendants with job objects","updatedAt":"2026-08-24T15:45:11Z","url":"https://github.com/NousResearch/hermes-agent/pull/93882"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T13:36:58Z","updatedAt":"2026-08-24T13:36:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/93882#pullrequestreview-5008402821","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKp0TUQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKp0TUQ","summary":"## Current-head re-review — rolling-upgrade blocker is closed; the end-to-end delivery budget is still internally inconsistent\n\nReviewed exact head `c89dd2b9b5334a196866e6aa4f7ff49407f0d46b` against exact/current `main` `057dcdf236f8a6a26721c10fcc6ccb72726e272a`, including the v2 source lease/ACK state machine, recipient inbox receipt, Electron courier/supervisor, v1 compatibility lane, SDK timeout plumbing, target `bot_relay.deliver`, waiter path, regression suites, hosted CI, and the new #93911/#93964/#93965 timeout context.\n\nFirst: the blocker from my old-head review is genuinely fixed here. `targetDurability()` now keeps an unsupported/v1-only target retryable, and `v2 source retains the same event until a legacy target upgrades` executes the required sequence: same event remains durable, target upgrades, one delivery occurs, one ACK settles it, no terminal `nack:false`. That old blocker should be considered closed on this head.\n\nExact-head hosted evidence is also clean: CI `32736682903`, Docker `32736681908`, and Nix `32736681563` all completed successfully.\n\n### Blocker — three independent clocks expire before the target method's own valid execution envelope\n\nThe current v2 a","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T15:58:52Z","updatedAt":"2026-08-24T15:58:52Z","submittedAt":"2026-08-24T15:58:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92931#pullrequestreview-5009904465"},"data":{"createdAt":"2026-08-24T15:58:52Z","occurredAt":"2026-08-24T15:58:52Z","pullRequest":{"createdAt":"2026-08-23T12:38:09Z","id":"PR_kwDOPRF1G88AAAABAs7vug","mergedAt":null,"number":92931,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(bot-mode): make cross-connection relay lease-backed and idempotent","updatedAt":"2026-08-28T16:14:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/92931"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T15:58:52Z","updatedAt":"2026-08-24T15:58:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/92931#pullrequestreview-5009904465","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKPDQzQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKPDQzQ","summary":"Re-verified after the branch rebased while I was reviewing: current head is now `c9c39e5794307b028423cc3dc1a6a18a4bf6155a` directly on current `main` / base `6d85d790e40c55d5dc4ce0bb96624e0ae08b7fbf`.\n\nThe rebase changed the commit identity/base but not the three-file patch: the `verify_state_db_integrity()` implementation is still definition + direct unit tests only, with no production caller. So the blocking finding in my immediately preceding review remains unchanged on the **current exact head**: the claimed proactive startup corruption detection is still unreachable and needs real ownership-boundary wiring plus an end-to-end witness.\n\nThe interlocks also remain: #88425 is competing fingerprint/budget work with @jirathip-k provenance; #87052 still hard-codes the old `size:mtime_ns` ledger contract; #87409/#89681 are complementary repair-boundary work. Fresh Actions for this rebased head are again `action_required` (CI/Nix/Docker plus label-rerun workflows), so there is still no hosted execution evidence to change the verdict.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T10:50:06Z","updatedAt":"2026-08-20T10:50:06Z","submittedAt":"2026-08-20T10:50:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90747#pullrequestreview-4981838029"},"data":{"createdAt":"2026-08-20T10:50:06Z","occurredAt":"2026-08-20T10:50:05Z","pullRequest":{"createdAt":"2026-08-20T10:41:15Z","id":"PR_kwDOPRF1G88AAAABAZzxbQ","mergedAt":null,"number":90747,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(state): apply macOS write barriers on every state.db repair connection","updatedAt":"2026-08-23T16:36:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/90747"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T10:50:05Z","updatedAt":"2026-08-20T10:50:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/90747#pullrequestreview-4981838029","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKpX4Cg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKpX4Cg","summary":"Reviewed exact head `4d5a87e971242e4cbb92d2b49c549fd85563f564` against exact/current `main` `057dcdf236f8a6a26721c10fcc6ccb72726e272a`. The diagnosis in #93911 is correct, and threading an optional `timeoutMs` through every `requestProfile` routing branch while omitting the argument for ordinary calls is the right SDK shape. I found one correctness blocker plus one merge-order/publication interlock.\n\n### Blocker — `1_320_000` ms equals the backend's theoretical execution ceiling; it does not outlive it\n\nCurrent `tui_gateway/methods_bot_relay.py` explicitly allows:\n\n- up to ~120s waiting for the per-profile turn lock;\n- one `subprocess.run(..., timeout=600)` attempt;\n- when retry policy allows it, a second `subprocess.run(..., timeout=600)` attempt.\n\nThat arithmetic is the source of the documented `~1320s` figure, but it is not a safe client deadline. The handler still has to classify the first failure, construct/run the retry, classify/serialize the terminal result, unwind the temp-file/lock scopes, and get the JSON-RPC response through the event loop after those bounded waits. A call that consumes almost all three component budgets can therefore have a valid typed backend settleme","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T15:12:06Z","updatedAt":"2026-08-24T15:12:06Z","submittedAt":"2026-08-24T15:12:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93965#pullrequestreview-5009438730"},"data":{"createdAt":"2026-08-24T15:12:06Z","occurredAt":"2026-08-24T15:12:06Z","pullRequest":{"createdAt":"2026-08-24T15:09:17Z","id":"PR_kwDOPRF1G88AAAABA0QqGQ","mergedAt":null,"number":93965,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): let bot_relay.deliver outlive the generic 30s request deadline","updatedAt":"2026-08-30T01:17:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/93965"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T15:12:06Z","updatedAt":"2026-08-24T15:12:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/93965#pullrequestreview-5009438730","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKpxAWw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKpxAWw","summary":"## Exact-head rereview — scope correction accepted; task authority is still not recoverable\n\n@McClean I agree with the scope correction on exact head `b72c64fdd865f20cb00acadada601af1cc39077d`. Under the rewritten contract, application-level acknowledgement/idempotent retry is **not** a merge blocker: best-effort transport recovery does not need to prove peer consumption. I also no longer treat native-Windows execution as an architectural blocker while the PR makes no Windows-success claim; it remains an evidence/CI gate.\n\nThe narrowed statement that **standard A2A task state remains authoritative** exposes one concrete task-authority blocker, with two exact failure paths.\n\n### 1. A client disconnect terminalizes the original task, not merely its transport\n\nIn `_await_reply()`, a failed liveness probe calls `_mark_out_of_band(..., pop_waiter=True)` and immediately returns `TASK_STATE_FAILED` with `[client disconnected]`. `_rpc_message_send()` then unconditionally passes that result to `_finalize_task()`, which calls `self.tasks.complete(...)` and makes the original task terminal-failed.\n\nThe agent computation continues. When its real reply arrives, `send()` no longer finds the wait","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T15:52:50Z","updatedAt":"2026-08-24T15:52:50Z","submittedAt":"2026-08-24T15:52:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92494#pullrequestreview-5009850459"},"data":{"createdAt":"2026-08-24T15:52:50Z","occurredAt":"2026-08-24T15:52:50Z","pullRequest":{"createdAt":"2026-08-22T20:03:23Z","id":"PR_kwDOPRF1G88AAAABAqleZQ","mergedAt":null,"number":92494,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(a2a): preserve delivery round trips and route confirmations to origin sessions","updatedAt":"2026-08-31T02:18:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/92494"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T15:52:50Z","updatedAt":"2026-08-24T15:52:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/92494#pullrequestreview-5009850459","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKQ-BLw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKQ-BLw","summary":"Exact-head review on `7d22edf3fed9f0d2c5999c7cc08480164e374018`: **stage-1 containment is technically sound on its stated scope**.\n\nVerified on this head:\n\n- The PR preserves `Refs #89614`; it does not claim class closure.\n- `stopBackendChild` no longer accepts or invokes a PID/PGID mutator. Both the Windows `taskkill` branch and the POSIX negative-PID branch are gone.\n- Bare or incomplete `{ pid }` records fail closed.\n- The update loop drops reaped roots instead of repeatedly firing at the numeric identifier it just freed.\n- The recycled-PID and stale-record witnesses bind those changes.\n- Exact-head CI, Docker, and Nix runs are green.\n\nThe remaining boundary is explicit, not overlooked: `stopBackendTreesForUpdate` / `releaseBackendLock` can still lower a retained live root to a PID and call `forceKillProcessTree(pid)`. That leaves the final check/use race, and handle-only ordinary teardown intentionally gives up descendant coverage. Therefore this head reduces the observed producer but does **not** satisfy the repository invariant that the object proved owned must be the same object mutated.\n\nDisposition:\n\n- keep `Refs #89614`;\n- do not close #89614 from this slice;\n- #90250 is ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T14:30:14Z","updatedAt":"2026-08-20T14:30:14Z","submittedAt":"2026-08-20T14:30:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89689#pullrequestreview-4983849263"},"data":{"createdAt":"2026-08-20T14:30:14Z","occurredAt":"2026-08-20T14:30:14Z","pullRequest":{"createdAt":"2026-08-19T03:28:43Z","id":"PR_kwDOPRF1G88AAAABAOqCAA","mergedAt":null,"number":89689,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): tear down backends through the retained handle, never by pid","updatedAt":"2026-08-21T08:17:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/89689"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T14:30:14Z","updatedAt":"2026-08-20T14:30:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/89689#pullrequestreview-4983849263","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKQ9srw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKQ9srw","summary":"Re-reviewed exact head `dd38b401ced229ea5a5c024446aaa20b6cca32f9` and GitHub's current-main test merge `2feff65e2ede5f75c65ec5d5503ef873cbf1468c` (`f43eabee5f36e11448086ee8ee17c499958e81bf` + this head).\n\n**The two code blockers and the requested #89467 composition witness are closed. I found no remaining code blocker from my prior review.**\n\n- **Profile ownership:** run admission records `request_profile`; clarification checks the URL-selected principal before any pending-state lookup or mutation and returns the indistinguishable `404 run_not_found` on mismatch. The alpha/beta regression proves beta's valid key cannot resolve alpha's exact run/request pair, leaves the pending entry intact, and preserves the alpha→alpha positive path.\n- **Concurrent wait ownership:** the lossy adapter-global `_session_awaiting_user` boolean is gone. Waiting truth is per run, and the same-`session_id` concurrency witness proves resolving one run does not clear or consume its sibling's wait.\n- **Merged batch contract:** the real `clarify_tool(..., questions=[...])` path is exercised as sequential prompts on one run with distinct request IDs; replay of the spent first ID fails with 409 before the seco","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T14:29:48Z","updatedAt":"2026-08-20T14:29:48Z","submittedAt":"2026-08-20T14:29:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89880#pullrequestreview-4983844015"},"data":{"createdAt":"2026-08-20T14:29:48Z","occurredAt":"2026-08-20T14:29:48Z","pullRequest":{"createdAt":"2026-08-19T08:35:46Z","id":"PR_kwDOPRF1G88AAAABAQUF8A","mergedAt":null,"number":89880,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(api-server): bind clarify responses on /v1/runs","updatedAt":"2026-08-24T00:35:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/89880"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T14:29:48Z","updatedAt":"2026-08-20T14:29:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/89880#pullrequestreview-4983844015","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKQHtZQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKQHtZQ","summary":"Reviewed exact head `58ee8ee27a213fb55be77c096bd5103b920198e8` against base `e69b8e561d4e8ba9eae651122b182c38e263c6e5`. Current `main` is now `e2c4793efa59dc5db2d8e1fc578f70bdc8c095e0`, **58 commits beyond this base**; that interval includes changes to both `gateway/run.py` and `hermes_cli/config_defaults.py`, so this needs a current-main rebase before final acceptance. There were no prior comments/reviews on this head when I started this pass. The exact-head Actions entries for CI, Docker, and Nix are all `action_required`, so the execution evidence available here is the author-reported local/baseline testing rather than an exact-head public CI run.\n\nThe Telegram-side direction is good: a pure network outage should remain adapter-local rather than become `SystemExit(75)`, and the new fast→slow retry ladder removes the artificial ten-attempt cliff. The default `messaging_platform_exit_on_all_disconnected=true` also preserves the historical headless behavior, while the explicit false/local-work path tries to stop a messaging failure from amputating unrelated work.\n\nI do not think the shared-gateway liveness contract is closed yet. Two blockers remain.\n\n### 1. Do not suppress supervi","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T13:00:06Z","updatedAt":"2026-08-20T13:00:06Z","submittedAt":"2026-08-20T13:00:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90720#pullrequestreview-4982959461"},"data":{"createdAt":"2026-08-20T13:00:06Z","occurredAt":"2026-08-20T13:00:06Z","pullRequest":{"createdAt":"2026-08-20T10:07:09Z","id":"PR_kwDOPRF1G88AAAABAZljsQ","mergedAt":null,"number":90720,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix: prevent gateway crash-loop on Telegram network outage","updatedAt":"2026-08-22T09:55:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/90720"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T13:00:06Z","updatedAt":"2026-08-20T13:00:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/90720#pullrequestreview-4982959461","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKQl_TA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKQl_TA","summary":"Reviewed exact head `3163e67e248fd524e14ac0616a3422f899e36c17` against current `main@f43eabee5f36e11448086ee8ee17c499958e81bf`. No prior review was posted on this head. The diagnosis is high-signal and the Telegram regression shape is real, but this is **not merge-ready on current main** yet.\n\nThe good part first: the incident chain is coherent. When the global `SessionStore` has degraded to `_db=None`, #82633's per-turn `record_gateway_session_peer` repair cannot stamp the row, while the profile-scoped `AIAgent` can still lazily open a profile `state.db`; that leaves a real gap in the otherwise-correct #82633 continuity model. The new tests prove the motivating Telegram case at the unit level, and the scoped transcript fallback is directionally the right boundary.\n\n### Blocker 1 — this introduces a second, incomplete owner for routing identity\n\n#82633 deliberately made gateway identity atomic from the canonical `SessionSource` shape. Current main has moved further in that direction: `SessionSource.to_dict()` now carries routing-critical fields beyond this PR's hand-built `_gateway_origin_json()`, including `chat_id_alt`, `scope_id`/legacy `guild_id`, `parent_chat_id`, `message_id`","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T13:52:48Z","updatedAt":"2026-08-20T13:52:48Z","submittedAt":"2026-08-20T13:52:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88804#pullrequestreview-4983455564"},"data":{"createdAt":"2026-08-20T13:52:48Z","occurredAt":"2026-08-20T13:52:48Z","pullRequest":{"createdAt":"2026-08-18T00:59:15Z","id":"PR_kwDOPRF1G88AAAABAFRRDA","mergedAt":null,"number":88804,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): persist session routing identity and recover transcripts when state.db is unavailable","updatedAt":"2026-08-20T13:52:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/88804"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T13:52:48Z","updatedAt":"2026-08-20T13:52:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/88804#pullrequestreview-4983455564","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKqTa3w","kind":"review","label":"PRR_kwDOPRF1G88AAAABKqTa3w","summary":"Reviewed exact head `8a1440fc7b353f838552f485c63d8452a210ebc3` against exact/current `main` `057dcdf236f8a6a26721c10fcc6ccb72726e272a`. Hosted CI `32752671627`, Docker `32752670569`, and Nix `32752670677` are all green on this head, and there were no prior submitted reviews or review threads. The current head has two blockers: one security-boundary regression and one process-ownership fix that does not yet prove or correctly model the reported failure class.\n\n### Blocker 1 — `/api/model/options` cannot be moved into the unauthenticated public allowlist\n\n`PUBLIC_API_PATHS` is explicitly the set that bypasses both dashboard auth middlewares and is documented to contain only endpoints safe for an arbitrary unauthenticated `curl` of the public hostname. `/api/model/options` does not satisfy that contract.\n\nThe handler accepts attacker-controlled `profile`, `refresh`, `include_unconfigured`, and `explicit_only` parameters, enters `_profile_scope(profile)`, and calls `build_model_options_payload(load_picker_context(), ...)`. That substrate loads the selected profile's real model/provider configuration (`model.default/name/provider/base_url`, `providers:`, `custom_providers:`), then build","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T16:55:15Z","updatedAt":"2026-08-24T16:55:15Z","submittedAt":"2026-08-24T16:55:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94020#pullrequestreview-5010414303"},"data":{"createdAt":"2026-08-24T16:55:15Z","occurredAt":"2026-08-24T16:55:15Z","pullRequest":{"createdAt":"2026-08-24T16:20:26Z","id":"PR_kwDOPRF1G88AAAABA00BkQ","mergedAt":null,"number":94020,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): protect background services from orphan reaper and allow loopback session token auth","updatedAt":"2026-08-24T16:55:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/94020"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T16:55:15Z","updatedAt":"2026-08-24T16:55:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/94020#pullrequestreview-5010414303","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKR3sww","kind":"review","label":"PRR_kwDOPRF1G88AAAABKR3sww","summary":"Exact-head closure review at `09fef5bbc60fe37ca47192dbb9afabe4a6fa6d2c`: this is the canonical Task 10 intake owner and the semantic compression is sound. The current three-file diff preserves provider-native delivery identity, composite `(profile, route, provider, delivery_id)` idempotency plus body-conflict detection, profile/route rate isolation, strict JSON-object intake, and UTF-8 byte-bounded structurally valid prompt envelopes. Exact-head CI `32381041406`, Docker `32381040709`, and Nix `32381040529` are green. No remaining code-review blocker on Task 10 itself. Downstream #85318 must compose onto this exact contract and must not remove `hashlib`, because Task 10 now owns the request-body digest used by the idempotency ledger.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T15:55:15Z","updatedAt":"2026-08-20T15:55:15Z","submittedAt":"2026-08-20T15:55:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90236#pullrequestreview-4984794307"},"data":{"createdAt":"2026-08-20T15:55:15Z","occurredAt":"2026-08-20T15:55:15Z","pullRequest":{"createdAt":"2026-08-19T19:53:03Z","id":"PR_kwDOPRF1G88AAAABAVFn9w","mergedAt":null,"number":90236,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(webhook): close Task 10 intake identity and raw-bound contracts","updatedAt":"2026-08-28T11:39:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/90236"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T15:55:15Z","updatedAt":"2026-08-20T15:55:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/90236#pullrequestreview-4984794307","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKR3tqQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKR3tqQ","summary":"Blocking findings on exact head `e0d9c56`.\n\nThe session-switcher invariant is directionally right, and this exact head has green desktop UI/lint checks. One interaction blocker remains: the new early return breaks the synthesized double-tap compensation on a minimizable session zone, so a double-click can collapse the whole zone instead of becoming a no-op.\n\nPlease also consolidate the duplicated session-pane classifier rather than creating a second authority. This branch is 614 commits behind current `main` and currently conflicts; rebase and reconcile the overlapping header-policy work in #86191, #86278, and the hidden-strip portion of #79520, then rerun exact-head desktop CI.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T15:55:17Z","updatedAt":"2026-08-20T15:55:17Z","submittedAt":"2026-08-20T15:55:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89225#pullrequestreview-4984794537"},"data":{"createdAt":"2026-08-20T15:55:17Z","occurredAt":"2026-08-20T15:55:17Z","pullRequest":{"createdAt":"2026-08-18T14:41:18Z","id":"PR_kwDOPRF1G88AAAABAKMiAw","mergedAt":null,"number":89225,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): keep the session tab strip visible","updatedAt":"2026-08-21T17:57:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/89225"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T15:55:17Z","updatedAt":"2026-08-20T15:55:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/89225#pullrequestreview-4984794537","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKR4JTA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKR4JTA","summary":"Exact-head review at `7d14c0540274000bdfa76e4c3c38360441077e71`: this is the correct defense-in-depth complement to #82450, not a competing root-cause fix. The contract is honest: a fallback install may remain usable, but the installer can no longer project the hash-verified posture after Tier 0 failed or never ran. The implementation records the realized dependency tier, treats unknown/unrecorded tier as unverified, and surfaces the downgrade at both transition and terminal-success boundaries across Unix/bootstrap/PowerShell. Exact-head CI `32373321044`, Docker `32373319911`, and Nix `32373319904` are green. No code-review blocker. Keep the non-closing `Related to #90650/#82446` semantics; #82450 remains the concrete `UV_NO_CONFIG` root-cause repair.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T15:56:05Z","updatedAt":"2026-08-20T15:56:05Z","submittedAt":"2026-08-20T15:56:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90826#pullrequestreview-4984801612"},"data":{"createdAt":"2026-08-20T15:56:05Z","occurredAt":"2026-08-20T15:56:05Z","pullRequest":{"createdAt":"2026-08-20T13:16:13Z","id":"PR_kwDOPRF1G88AAAABAa4otg","mergedAt":null,"number":90826,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(install): disclose an install that lost hash verification","updatedAt":"2026-08-21T01:45:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/90826"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T15:56:05Z","updatedAt":"2026-08-20T15:56:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/90826#pullrequestreview-4984801612","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKR4ZsA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKR4ZsA","summary":"Topology/review read at `58e1752d40c652b9150db7669d46bca9439451c0`: the root-cause repair is the right one. `UV_NO_CONFIG=1` is needed for ambient bootstrap isolation but cannot remain in force for a `--locked` project sync whose lock encodes this checkout's `[tool.uv]` resolver settings; restoring project discovery only inside an isolated config subshell preserves both contracts. This is the concrete fix for #82446/#90650, while #90826 is the independent disclosure/backstop.\n\nTwo small cleanups already identified in-thread are still worth folding into the next head: remove the inaccurate `uv 0.12+` attribution (the failure reproduces on 0.9.28/0.11.30/0.12.5), and clean the `mktemp -d` directory robustly rather than `rmdir ... || true`. More importantly, the hosted receipt on this SHA is stale/red and the base is from Aug 9; I would not treat the old CI as merge evidence. Rebase/refresh on current main and rerun the locked-sync regression plus shell syntax on the exact published head. No architectural objection beyond that.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T15:56:31Z","updatedAt":"2026-08-20T15:56:31Z","submittedAt":"2026-08-20T15:56:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/82450#pullrequestreview-4984805808"},"data":{"createdAt":"2026-08-20T15:56:31Z","occurredAt":"2026-08-20T15:56:31Z","pullRequest":{"createdAt":"2026-08-09T11:00:19Z","id":"PR_kwDOPRF1G878nSwK","mergedAt":null,"number":82450,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(install): preserve project config for locked uv sync (#82446)","updatedAt":"2026-08-28T19:36:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/82450"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T15:56:31Z","updatedAt":"2026-08-20T15:56:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/82450#pullrequestreview-4984805808","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKRcoVQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKRcoVQ","summary":"Blocking exact-head review of `20033123296adf0aeb51bf6454918d2e1fb4e053` against current `main` `f43eabee5f36e11448086ee8ee17c499958e81bf` and the #90458 / #90705 / #90219 topology.\n\nThe open-before-remint direction is right, and the sequential-click tests cover the single-source symptom, but this head is not yet safe to merge.\n\n## 1. `lastCanonicalPins` is keyed by profile name, but Bot identity is source-qualified\n\nThis patch adds a cross-click cache:\n\n```js\nconst lastCanonicalPins = new Map()\n...\npinned = lastCanonicalPins.get(name) || null\n```\n\nBot Mode explicitly supports the same profile name on multiple connections, and the surrounding code already defines `botRosterKey(bot)` because `name` alone is not an identity. After opening `ops` on source A, switching to a same-named `ops` on source B whose refreshed `ui_meta` pin is null can reuse source A's remembered session id. That is a cross-source pin association at exactly the boundary this plugin otherwise protects.\n\nThe creation deduper is also still keyed by `name`, so overlapping opens for same-named bots on different sources can share one in-flight creation.\n\n**Required:** carry the canonical source-qualified identity/rou","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T15:14:25Z","updatedAt":"2026-08-20T15:14:25Z","submittedAt":"2026-08-20T15:14:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90467#pullrequestreview-4984350805"},"data":{"createdAt":"2026-08-20T15:14:25Z","occurredAt":"2026-08-20T15:14:25Z","pullRequest":{"createdAt":"2026-08-20T03:26:00Z","id":"PR_kwDOPRF1G88AAAABAXTiVg","mergedAt":null,"number":90467,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): stop Bot Chat click-spam reminting into the launch store","updatedAt":"2026-08-22T08:27:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/90467"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T15:14:25Z","updatedAt":"2026-08-20T15:14:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/90467#pullrequestreview-4984350805","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKRhFsQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKRhFsQ","summary":"Coordination update: treat #88551 + #88740 + #88758 as one proof-preserving implementation model, not sequential independent fixes. `_row_id` is surviving durable object identity; `_row_id_watermark` is the greatest raw durable row consumed by the repaired projection. Cleanup may merge/drop the highest row, so neither fact substitutes for the other. Both live and durable candidates must pass the same repair/projection transform before freshness comparison; missing/malformed/unpersisted proof remains fail-closed; both fields remain internal and are stripped before provider/display serialization. This PR stays ready-for-review (`draft: false`) while the current branch is semantically compressed/rebased around that combined contract.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T15:19:49Z","updatedAt":"2026-08-20T15:19:49Z","submittedAt":"2026-08-20T15:19:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88551#pullrequestreview-4984423857"},"data":{"createdAt":"2026-08-20T15:19:49Z","occurredAt":"2026-08-20T15:19:49Z","pullRequest":{"createdAt":"2026-08-17T18:20:21Z","id":"PR_kwDOPRF1G88AAAABADC_5Q","mergedAt":null,"number":88551,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(compression): make durable adoption proof-preserving across repair and restore","updatedAt":"2026-08-31T15:55:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/88551"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T15:19:49Z","updatedAt":"2026-08-20T15:19:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/88551#pullrequestreview-4984423857","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKRjxrw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKRjxrw","summary":"Blocking exact-head review of `485978cf19f355d984293bcadb15b4597198c3ec` against current `main` and the OAuth-lifecycle architecture already split out in #84963.\n\nThis head improves two call sites, but it does not yet establish credential identity or convergent teardown. Several tests currently codify fail-open behavior.\n\n## 1. Legacy \"lazy stamping\" sends an unbound token to the new endpoint once\n\n`get_tokens()` treats a file with no `hermes_server_url` as valid for whatever configured URL is current, returns the token, and stamps that URL onto disk. That means the exact first request after an endpoint edit or filename collision can still send endpoint A's access/refresh token to endpoint B. The new `test_legacy_file_without_url_lazily_stamps_it` makes this bypass expected behavior.\n\nAn unbound legacy credential has no authority to select its own new binding. When the caller knows the endpoint, legacy state must fail closed and require reauthorization, or be migrated only after an authenticated flow proves the resource/issuer identity. Never bind by first use.\n\n## 2. Only `<name>.json` is bound; client registration and OAuth metadata remain cross-endpoint\n\n`HermesTokenStorage` als","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T15:23:21Z","updatedAt":"2026-08-20T15:23:21Z","submittedAt":"2026-08-20T15:23:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90737#pullrequestreview-4984467887"},"data":{"createdAt":"2026-08-20T15:23:21Z","occurredAt":"2026-08-20T15:23:21Z","pullRequest":{"createdAt":"2026-08-20T10:35:19Z","id":"PR_kwDOPRF1G88AAAABAZxdrA","mergedAt":null,"number":90737,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(mcp): bind stored OAuth tokens to their server URL and clean on remove","updatedAt":"2026-08-20T15:23:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/90737"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T15:23:21Z","updatedAt":"2026-08-20T15:23:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/90737#pullrequestreview-4984467887","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKRlCZQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKRlCZQ","summary":"Live reconciliation against the canonical ledger: #86429 (A2) and #86432 (A5) remain `candidate_blocked`, and #86324 (M4) remains `candidate_unwired`. All three are now ready-for-review; that review-state change does **not** promote their publication state or merge authority. A2/A5 still lack owner-qualified guild/channel/requester mutation authority; M4 still lacks a production send/ingress effect path. M3 remains owned by #89405; closed #86419 remains provenance only. #90321 continues to consume #90307 as the generic validation authority, and packet history does not override these live ledger classifications.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T15:25:15Z","updatedAt":"2026-08-20T15:25:15Z","submittedAt":"2026-08-20T15:25:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90321#pullrequestreview-4984488549"},"data":{"createdAt":"2026-08-20T15:25:15Z","occurredAt":"2026-08-20T15:25:14Z","pullRequest":{"createdAt":"2026-08-19T22:31:26Z","id":"PR_kwDOPRF1G88AAAABAWAMzw","mergedAt":null,"number":90321,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"docs(discord): install canonical 42-row parity ledger","updatedAt":"2026-08-21T23:46:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/90321"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T15:25:14Z","updatedAt":"2026-08-20T15:25:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/90321#pullrequestreview-4984488549","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKRlHOg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKRlHOg","summary":"Architecture receipt for #88683: exact-head #88764 remains the narrow provisioning-authority enforcement slice. Secondary activation may reuse an installed managed/external runtime but cannot cross into machine provisioning. This does not close #88683’s deployment-plan architecture: component planning, staging/rollback, durable update journal, generation barrier, forbidden-component enforcement, and full bootstrap/install/update convergence remain separate gates.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T15:25:21Z","updatedAt":"2026-08-20T15:25:21Z","submittedAt":"2026-08-20T15:25:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88764#pullrequestreview-4984489786"},"data":{"createdAt":"2026-08-20T15:25:21Z","occurredAt":"2026-08-20T15:25:21Z","pullRequest":{"createdAt":"2026-08-17T23:49:49Z","id":"PR_kwDOPRF1G88AAAABAE5vrA","mergedAt":null,"number":88764,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): make runtime provisioning primary-only","updatedAt":"2026-08-21T04:15:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/88764"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T15:25:21Z","updatedAt":"2026-08-20T15:25:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/88764#pullrequestreview-4984489786","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKRpAUw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKRpAUw","summary":"Blocking exact-head review of `c1d09dc4ab67e6b1f2876c231a5b6d1418c8984b`.\n\nDeduplicating the three `_client_ip()` implementations is the right structural move, and the default/no-proxy branch closes the reported direct spoof on ordinary installs. The trusted branch still grants identity authority on the wrong predicate.\n\n## 1. `public_url` is endpoint configuration, not proof that the immediate TCP peer is a trusted proxy\n\n```python\ntrusted_proxy = bool(resolve_public_url())\nif trusted_proxy:\n    ... return parts[-1]\n```\n\n`dashboard.public_url` / `HERMES_DASHBOARD_PUBLIC_URL` tells Hermes which public authority to advertise and use for redirects. It does not prove that this particular request arrived through a trusted reverse proxy, that the backend is unreachable directly, or that the proxy sanitizes/appends forwarded headers.\n\nA dashboard can have `public_url` configured while still being directly reachable on its bind port. In that deployment, an unauthenticated direct requester again controls `X-Forwarded-For`, so the same 256-entry native-flow fill remains available. The new tests do not exercise this case; once `public_url` is set they simply assume every request is proxy-ori","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T15:31:14Z","updatedAt":"2026-08-20T15:31:14Z","submittedAt":"2026-08-20T15:31:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90736#pullrequestreview-4984553555"},"data":{"createdAt":"2026-08-20T15:31:14Z","occurredAt":"2026-08-20T15:31:14Z","pullRequest":{"createdAt":"2026-08-20T10:34:26Z","id":"PR_kwDOPRF1G88AAAABAZxGFw","mergedAt":null,"number":90736,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(dashboard-auth): stop trusting client-controlled X-Forwarded-For for rate-limiting/attribution","updatedAt":"2026-08-20T15:31:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/90736"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T15:31:14Z","updatedAt":"2026-08-20T15:31:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/90736#pullrequestreview-4984553555","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKRppSg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKRppSg","summary":"Blocking exact-head review of `bd2c63aa6b0e4c850753d54fcf3c6b4cbc8fc232`.\n\nThe architectural direction is right: per-entry key allowlisting, value validation, and bounded `gateway_exit_reason` classification are materially stronger than the old two-key denylist. Exact-head CI/Docker/Nix are green. Four residuals still keep this from closing the public-projection class.\n\n## 1. The regression tests claiming an unauthenticated witness attach a valid session token\n\nThe fixture does this for every request:\n\n```python\nself.client.headers[_SESSION_HEADER_NAME] = _SESSION_TOKEN\n```\n\nIt also does not engage `app.state.auth_required`. The tests therefore prove response shaping for an authenticated/default-open test client, not that the exposed pre-login route is safe while the dashboard auth gate is active.\n\nRequired witness: set `auth_required=True`, remove every session/cookie/bearer credential, assert `/api/status` still returns 200, and scan the complete serialized body for the injected secret markers. Keep a paired authenticated `/health/detailed` witness proving the diagnostic detail remains available only there.\n\n## 2. Malformed JSON state can crash the public endpoint instead of fail","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T15:32:12Z","updatedAt":"2026-08-20T15:32:12Z","submittedAt":"2026-08-20T15:32:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90750#pullrequestreview-4984564042"},"data":{"createdAt":"2026-08-20T15:32:12Z","occurredAt":"2026-08-20T15:32:12Z","pullRequest":{"createdAt":"2026-08-20T10:47:26Z","id":"PR_kwDOPRF1G88AAAABAZ2ncA","mergedAt":null,"number":90750,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(dashboard): stop leaking free-text platform error_message / gateway_exit_reason on public /api/status","updatedAt":"2026-08-20T15:32:12Z","url":"https://github.com/NousResearch/hermes-agent/pull/90750"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T15:32:12Z","updatedAt":"2026-08-20T15:32:12Z","url":"https://github.com/NousResearch/hermes-agent/pull/90750#pullrequestreview-4984564042","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKRQ4KQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKRQ4KQ","summary":"Exact-head review of `1e6589e23dc8085b391bffeec00dce10c5ca222a`.\n\n**Verdict: do not merge this head.** The earlier workspace/worktree source-coverage defect is closed, and the Actions runs are green. Four behavioral contracts remain broken:\n\n1. **Drop affordance and drop authority diverge.** `NEW_SESSION_DRAG` takes the generic pane-overlay path, which paints every zone, while `chatZonePane()` accepts only groups containing `workspace` / `session-tile:*`. Denied sidebar/files/terminal zones are therefore presented as eligible drop regions, and Browser/page main-strip zones supported by the existing session drag are silently narrowed out. The overlay and resolver need one shared host predicate.\n2. **All Profiles loses the pre-existing project/worktree `+` action.** The new `showAllProfiles ? undefined` gate removes `onNewSessionInWorkspace`, and those controls render only when that callback exists. The base deliberately kept folder creation enabled across profiles; only reorder was profile-gated.\n3. **The existing preview-key thread remains valid on this exact head.** `overlayLivePreviews()` writes `out[node.id]`, but `sessions-section.tsx` still reads `projectOverviewPreviews?.[pro","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T14:59:51Z","updatedAt":"2026-08-20T14:59:51Z","submittedAt":"2026-08-20T14:59:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/70571#pullrequestreview-4984158249"},"data":{"createdAt":"2026-08-20T14:59:51Z","occurredAt":"2026-08-20T14:59:51Z","pullRequest":{"createdAt":"2026-07-24T05:19:56Z","id":"PR_kwDOPRF1G871spAx","mergedAt":null,"number":70571,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(desktop): drag to create sessions from New session and project + controls","updatedAt":"2026-08-26T18:43:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/70571"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T14:59:51Z","updatedAt":"2026-08-20T14:59:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/70571#pullrequestreview-4984158249","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKRs1FA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKRs1FA","summary":"Credited split publication receipt: lifecycle/callback child is now live as #90888 (`fix/mcp-oauth-lifecycle-current-main`), based on current main `f43eabee5f36e11448086ee8ee17c499958e81bf`, ready-for-review (`draft:false`). Initial exact commits: `7bc1e456d1e534ff0465da7fc9fa7c29408c99ef` (owner-task delegated-flow close) and `b0377b4024c9f3ac4d0864cb424174a99623ca3b` (lifecycle witnesses), both carrying `Co-authored-by: THArrowofApollo <igorhvr@iasylum.net>`. The lifecycle child remains the place to stack callback arbitration and generation fencing. The second child remains transport/control-plane composition only and will restack on current MCP 2.0 negotiation; do not replay this parent monolithically.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T15:37:24Z","updatedAt":"2026-08-20T15:37:24Z","submittedAt":"2026-08-20T15:37:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/84963#pullrequestreview-4984616212"},"data":{"createdAt":"2026-08-20T15:37:24Z","occurredAt":"2026-08-20T15:37:24Z","pullRequest":{"createdAt":"2026-08-13T01:58:10Z","id":"PR_kwDOPRF1G87-W8UB","mergedAt":null,"number":84963,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"split MCP OAuth teardown ownership from MCP 2.0 transport composition","updatedAt":"2026-08-29T07:03:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/84963"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T15:37:24Z","updatedAt":"2026-08-20T15:37:24Z","url":"https://github.com/NousResearch/hermes-agent/pull/84963#pullrequestreview-4984616212","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKryEdg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKryEdg","summary":"**Review verdict: blocking** at exact head `d7fbff53686866a2a366b53abfb043beb13437f6` (PR base `74ad422d50e6d76e26ba5ce3b4d2a4d520e923dd`; current `main` `cd297653fa4fac85f45f7d3ad8e361db0f14e9be` is eight unrelated commits ahead, with no `tools/mcp_tool.py` overlap).\n\nThe prior late-admission and cross-generation completion blockers remain closed. The generation gate, per-generation teardown cause, delayed-cancellation fence, and retired-payload fence are still the right shape. Exact-head CI, Docker, and Nix are green, and there are zero inline review threads. The latest “self-contained final” expansion nevertheless introduces two correctness gaps that those green lanes do not exercise.\n\n### 1. The folded `tools/list` bound is not a hard bound\n\n`_discover_tools()` still holds `_rpc_lock` while awaiting:\n\n```python\nawait asyncio.wait_for(_drain_tools(), timeout=_list_timeout)\n```\n\n`asyncio.wait_for()` cancels the inner task at expiry **and waits for that cancellation to finish**. It only returns at the nominal deadline when the callee cooperates. A cancellation-shielded, delayed-cleanup, or cancellation-suppressing MCP/anyio path can therefore keep `wait_for()` pending forever — an","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T19:54:36Z","updatedAt":"2026-08-24T19:54:36Z","submittedAt":"2026-08-24T19:54:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/48069#pullrequestreview-5011965046"},"data":{"createdAt":"2026-08-24T19:54:36Z","occurredAt":"2026-08-24T19:54:36Z","pullRequest":{"createdAt":"2026-06-17T21:56:06Z","id":"PR_kwDOPRF1G87nrzqj","mergedAt":null,"number":48069,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(tools): skip MCP keepalive during in-flight calls + fail orphaned calls on reconnect","updatedAt":"2026-08-25T00:39:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/48069"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T19:54:36Z","updatedAt":"2026-08-24T19:54:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/48069#pullrequestreview-5011965046","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKrzJqQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKrzJqQ","summary":"Reviewed exact head `570256d2496ee4d23b2334e67a95de62773c09b8` against exact/current `main` `cd297653fa4fac85f45f7d3ad8e361db0f14e9be`. The core direction is right: a supervised in-process sweep closes #91653's process-uptime hole, the 60s freshness floor avoids an immediate hot loop, the existing attempt/stale caps bound poison rows, absent adapters do not burn attempts, and the runner reuses the existing claimed-obligation delivery path rather than inventing a second send implementation.\n\nI found one correctness blocker at the durable owner-identity boundary.\n\n### Blocker — the live-owner sweep collapses process identity from `(pid, birth time)` to PID alone\n\nThe existing ledger deliberately does **not** treat a PID as process authority. `_owner_alive(owner_pid, owner_started_at)` checks the process start time specifically because the OS can recycle PID values, and `record_attempting()` persists both `owner_pid` and `owner_started_at` for that reason.\n\n`sweep_live_owner_failed()` weakens that invariant. It selects every failed row and admits it whenever `owner_pid == pid`; the stored `owner_started_at` is never compared with the current process's `started` value. The subsequent U","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T19:56:36Z","updatedAt":"2026-08-24T19:56:36Z","submittedAt":"2026-08-24T19:56:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94161#pullrequestreview-5011982761"},"data":{"createdAt":"2026-08-24T19:56:36Z","occurredAt":"2026-08-24T19:56:36Z","pullRequest":{"createdAt":"2026-08-24T19:40:18Z","id":"PR_kwDOPRF1G88AAAABA2MFVw","mergedAt":null,"number":94161,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): retry failed deliveries while owner is alive","updatedAt":"2026-08-25T11:39:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/94161"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T19:56:36Z","updatedAt":"2026-08-24T19:56:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/94161#pullrequestreview-5011982761","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKRzSrw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKRzSrw","summary":"Re-reviewed exact head `c3019206a94e1fa4fb82144fc242babab4ea78b3` after the merge-semantics correction. The PR now uses a non-closing `Refs #90535`, accurately scopes itself to the enumerated `hermes_cli.config` import surface, and preserves #90535/#90145/#90144 as the coherent-generation closure owners. Exact-head CI `32336809924`, Docker `32336809325`, and Nix `32336809309` are all green. No remaining code-review blocker for this tactical containment slice.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T15:47:53Z","updatedAt":"2026-08-20T15:47:53Z","submittedAt":"2026-08-20T15:47:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90554#pullrequestreview-4984722095"},"data":{"createdAt":"2026-08-20T15:47:53Z","occurredAt":"2026-08-20T15:47:53Z","pullRequest":{"createdAt":"2026-08-20T05:45:15Z","id":"PR_kwDOPRF1G88AAAABAX6Scg","mergedAt":null,"number":90554,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(update): reload config's import surface before config in the in-place updater","updatedAt":"2026-08-20T15:47:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/90554"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T15:47:53Z","updatedAt":"2026-08-20T15:47:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/90554#pullrequestreview-4984722095","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKsAcNA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKsAcNA","summary":"Reviewed exact head `7a2052e60fc4dd52c610db47eca676a809f5323b` against current `main` `1420176393295dfb0dfb55ceb4b1cbab8d1965de` (the PR was cut from `057dcdf236f8a6a26721c10fcc6ccb72726e272a` and is now 26 commits behind). The fixed allowlist, schema hiding, copy-before-overwrite, normalized platform comparison, and caller ContextVar propagation through the executor/MCP-loop boundaries are all good pieces. I would not merge this authority yet, though, because three end-to-end invariants are still broken.\n\n### 1. “Authenticated session” currently accepts ambient process environment\n\n`_bind_mcp_session_arguments()` obtains both the platform proof and the bound value through `get_session_env()`. That API deliberately falls back to `os.environ` when the ContextVar is `_UNSET`—the compatibility state for CLI, cron, tests, and any process where gateway ingress never bound a session.\n\nConsequently, a process with:\n\n```text\nHERMES_SESSION_PLATFORM=slack\nHERMES_SESSION_USER_ID=U_FORGED\n```\n\nbut **no authenticated Slack gateway session** satisfies `x-hermes-required-platform: slack` and injects `U_FORGED`. The values are host-controlled, but they are not proof that this call belongs to an a","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T20:22:53Z","updatedAt":"2026-08-24T20:22:53Z","submittedAt":"2026-08-24T20:22:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93898#pullrequestreview-5012200500"},"data":{"createdAt":"2026-08-24T20:22:53Z","occurredAt":"2026-08-24T20:22:53Z","pullRequest":{"createdAt":"2026-08-24T13:38:26Z","id":"PR_kwDOPRF1G88AAAABAzfkfQ","mergedAt":null,"number":93898,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(mcp): bind tool arguments to authenticated sessions","updatedAt":"2026-08-24T20:22:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/93898"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T20:22:53Z","updatedAt":"2026-08-24T20:22:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/93898#pullrequestreview-5012200500","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKsbkCA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKsbkCA","summary":"Reviewed exact head `0f6cc463109b09a878db98d09512f063b4533b0e`, including the final fix delta from rebased parent `286096c3964ed295ba5a32de8d37606b0868b8e3` and the full current 11-file series.\n\nThe remaining ready/recovery lifecycle blocker is closed.\n\n- `bind_new_root_session()` now handles an already-`ready` record inside `_repository_lock()` and routes it through `_resolve_ready_binding_locked()` instead of returning directly from `_validated_ready_binding()`.\n- `resolve_existing_session()` now resolves source/configured identity, takes the same repository lock, re-reads the durable row, and uses that same centralized ready path.\n- The centralized order is correct: registered-worktree topology validation → durable identity/branch/base ancestry validation → Git worktree lock verification or reacquisition → return.\n- The new real-Git regressions cover the previously missing surfaces: resolve rejects a ready binding nested in a sibling registered worktree; both bind reuse and resolve reuse reacquire an externally removed Git lock; and one `git worktree remove --force` still cannot remove the active locked tree.\n\nI also rechecked the earlier blocker fix as preserved in rebased comm","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T21:18:06Z","updatedAt":"2026-08-24T21:18:06Z","submittedAt":"2026-08-24T21:18:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94079#pullrequestreview-5012644872"},"data":{"createdAt":"2026-08-24T21:18:06Z","occurredAt":"2026-08-24T21:18:06Z","pullRequest":{"createdAt":"2026-08-24T17:47:32Z","id":"PR_kwDOPRF1G88AAAABA1bOcQ","mergedAt":null,"number":94079,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(worktree): add durable conversation workspace core","updatedAt":"2026-08-24T21:18:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/94079"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T21:18:06Z","updatedAt":"2026-08-24T21:18:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/94079#pullrequestreview-5012644872","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKSH8mA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKSH8mA","summary":"Published a replacement head for this review train: `bb27b3a39e93f66540c416bc5e73508441f098ad`, rebased directly onto current `main` as a one-commit/two-file transport object.\n\nThe DNS-rebinding finding was correct and is fixed at the authority boundary rather than by wording: resolution now produces the exact address the socket dials. HTTPS still verifies/SNIs against the configured hostname and preserves the original Host authority, so there is no second DNS lookup between SSRF validation and connect. Any unsafe answer fails the entire resolution set closed.\n\nThe same head also adds `deliver_callback_async()` via `asyncio.to_thread` so DNS/connect/TLS/response I/O and retry backoff stay off the gateway event loop, treats 3xx as terminal without following redirects, and rejects malformed envelopes before DNS/retry work.\n\nI also narrowed the PR claim: this is the callback transport authority only. Runtime true-completion wiring remains with #85645/#85640 rather than introducing a second completion owner here. Fresh exact-head CI/Docker/Nix is running; no historical green is inherited.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T16:25:21Z","updatedAt":"2026-08-20T16:25:21Z","submittedAt":"2026-08-20T16:25:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85675#pullrequestreview-4985060504"},"data":{"createdAt":"2026-08-20T16:25:21Z","occurredAt":"2026-08-20T16:25:21Z","pullRequest":{"createdAt":"2026-08-13T22:13:33Z","id":"PR_kwDOPRF1G87-1Bxh","mergedAt":null,"number":85675,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(webhook): harden signed callback transport and bind DNS validation to dial authority","updatedAt":"2026-08-21T04:19:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/85675"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T16:25:21Z","updatedAt":"2026-08-20T16:25:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/85675#pullrequestreview-4985060504","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKSItEg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKSItEg","summary":"Current repaired head is `71557efa2c4db59c3ca9f980cc4765b08ac62705`; exact-head CI/Docker/Nix are all green.\n\nReview resolution:\n\n- The status/cancel endpoints are not unauthenticated. They use a per-execution bearer capability scoped to `(execution_id, profile, route)`. I kept that separation intentionally: route HMAC authorizes provider intake, while the execution capability authorizes post-acceptance observation/cancellation of exactly one run. The common capability authority is now rate-limited.\n- Real-task binding is fail-soft if registry persistence fails, preventing the already-created processing task from escaping adapter tracking.\n- ACTIVE records without a live bound task now age to `interrupted`; terminal pruning remains bounded.\n- `public()` no longer exposes `session_key` or provider `delivery_id` (and never exposes `token_hash`).\n- The execution token is intentionally returned once and is not recoverable through an ambient listing endpoint; that is now documented as the least-authority model rather than an accidental omission.\n\nReceipts: CI `32389588891`, Docker `32389587922`, Nix `32389587921`, all success on the exact head above.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T16:26:55Z","updatedAt":"2026-08-20T16:26:55Z","submittedAt":"2026-08-20T16:26:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85674#pullrequestreview-4985072914"},"data":{"createdAt":"2026-08-20T16:26:55Z","occurredAt":"2026-08-20T16:26:55Z","pullRequest":{"createdAt":"2026-08-13T22:11:38Z","id":"PR_kwDOPRF1G87-0_mO","mergedAt":null,"number":85674,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(webhook): add observable execution registry with status/cancel (Webhook Feature Package)","updatedAt":"2026-08-21T04:19:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/85674"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T16:26:55Z","updatedAt":"2026-08-20T16:26:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/85674#pullrequestreview-4985072914","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKsNHmw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKsNHmw","summary":"**Blocking review** at exact head `2f33833de868a56a45201b4e1da2922589fd9035` (PR base `a99001c3b36fc574b0837708f222ac32096b54ce`; current `main` is `f14059fad20e17acf2512785114791566e70bd06`). I traced the MCP lifecycle/dispatch paths, the #85125 Phase-3 sequencing, #81995, the current heads/history of #48069 and #73377, and the sibling Phase-3 work. The defect class is real and the keepalive serialization / dead-stdio fast-fail direction is useful, but this head is not yet a correct Phase-3b landing.\n\n### 1. The shared Phase-3a contract currently has competing owners and incompatible shapes\n\nThe live #85125 sequencing already assigns the generic deadline-layer contract to the dedicated Phase-3a lineage `#88575 -> #93796`: `SuspectableBackend(Protocol)` plus `backend=` on both `run_bounded_*` flavors, with a cheap synchronous `mark_suspect` and owner-side `ensure_healthy() -> bool`. The sibling #94183, from the same `a99001c3...` base, also folds that Phase-3a implementation into `agent/deadline.py`.\n\nThis PR independently adds a *third* `SuspectableBackend` definition to the same file, as a concrete base class with `async ensure_healthy(timeout=...)`. That is both a direct merge c","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T20:46:48Z","updatedAt":"2026-08-24T20:46:48Z","submittedAt":"2026-08-24T20:46:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94184#pullrequestreview-5012408219"},"data":{"createdAt":"2026-08-24T20:46:48Z","occurredAt":"2026-08-24T20:46:48Z","pullRequest":{"createdAt":"2026-08-24T20:10:44Z","id":"PR_kwDOPRF1G88AAAABA2Zczw","mergedAt":"2026-08-24T22:05:39Z","number":94184,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(mcp): recover poisoned connections + fail fast on dead stdio transports (#85125 3b)","updatedAt":"2026-08-24T22:05:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/94184"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T20:46:48Z","updatedAt":"2026-08-24T20:46:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/94184#pullrequestreview-5012408219","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKSNrlA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKSNrlA","summary":"Rechecked the old profile-admission finding against current `main` (`f43eabee5f36e11448086ee8ee17c499958e81bf`). It is stale for the current topology: `gateway/platforms/webhook.py` still owns `_resolve_request_profile` inline and passes `multiplex_profile_allowlist` into `profiles_to_serve`. I am not carrying that earlier extraction defect forward as current completion-script review residue.\n\nThe useful remaining work is narrower: preserve the completion-script identity across session closeout/TTL metadata cleanup and add an integration witness that proves `route_config.completion_script → _delivery_info → on_processing_complete → sandbox runner`. The branch also needs current-main semantic compression; historical green is not acceptance evidence for the eventual rewritten head.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T16:36:12Z","updatedAt":"2026-08-20T16:36:12Z","submittedAt":"2026-08-20T16:36:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/85645#pullrequestreview-4985154452"},"data":{"createdAt":"2026-08-20T16:36:12Z","occurredAt":"2026-08-20T16:36:11Z","pullRequest":{"createdAt":"2026-08-13T21:19:34Z","id":"PR_kwDOPRF1G87-z5gb","mergedAt":null,"number":85645,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(webhook): run route completion scripts after the agent run (Webhook Feature Package)","updatedAt":"2026-08-21T04:32:41Z","url":"https://github.com/NousResearch/hermes-agent/pull/85645"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T16:36:11Z","updatedAt":"2026-08-20T16:36:12Z","url":"https://github.com/NousResearch/hermes-agent/pull/85645#pullrequestreview-4985154452","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKsodNA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKsodNA","summary":"Exact-head review of `f5534a8fbd1e3ca2d0ff1e2aa0b05ebf36131c92` against its merge base `057dcdf236f8a6a26721c10fcc6ccb72726e272a`. I also checked the current `main` tip (`03b87d666d7082e820c2605b32005da664955975`), the 31-commit base drift, the prior review/follow-up thread, the state-schema reconciliation path, the Codex app-server/native-compaction ownership paths, and the exact-head workflow state.\n\nThe follow-up commit does fix the earlier review points correctly: `_reconcile_columns()` is the repository's declarative ADD COLUMN migration owner and the new legacy-DB regression exercises that path; gateway hygiene and manual `/compress` are back to `skip_memory=not checkpoint_required`; assistant prose alongside `tool_calls` is preserved without mutating the source message; and retry idempotency is now explicit in the provider contract. The API-v1 capability/default-off shape is otherwise clean, and it composes correctly with merged #67938 rather than duplicating it.\n\n**Blocker — the fail-closed gate is attached to Hermes' `compress_context()`, but two native lossy owners can compact without ever crossing that gate.** This breaks the central guarantee in #93986: with `compressio","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T21:47:42Z","updatedAt":"2026-08-24T21:47:42Z","submittedAt":"2026-08-24T21:47:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93996#pullrequestreview-5012856116"},"data":{"createdAt":"2026-08-24T21:47:42Z","occurredAt":"2026-08-24T21:47:42Z","pullRequest":{"createdAt":"2026-08-24T15:46:02Z","id":"PR_kwDOPRF1G88AAAABA0kFgA","mergedAt":null,"number":93996,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(memory): opt-in fail-closed pre-compress checkpoint contract (API v1)","updatedAt":"2026-08-25T10:56:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/93996"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T21:47:42Z","updatedAt":"2026-08-24T21:47:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/93996#pullrequestreview-5012856116","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKSW-KQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKSW-KQ","summary":"Reviewed exact head [`dd1e5b723da21e36a3aa6c60d3d3ef0c33fca27d`](https://github.com/NousResearch/hermes-agent/commit/dd1e5b723da21e36a3aa6c60d3d3ef0c33fca27d) against current `main` [`c47f0b4590e6b5bb05fb73a42f447ca5444f5188`](https://github.com/NousResearch/hermes-agent/commit/c47f0b4590e6b5bb05fb73a42f447ca5444f5188). The current PR workflow is exercising the synthetic merge [`07a1361294c4fc490be5dcbab2450f446ec32d66`](https://github.com/NousResearch/hermes-agent/commit/07a1361294c4fc490be5dcbab2450f446ec32d66), so the CI evidence below is for the actual current composition, not an adjacent head.\n\nThe core direction is right: process exit, not pipe EOF, owns completion; the drain grace starts only after exit; truncation is observable; `run_script` and `run_streamed` converge on one primitive; and the leak/clean/flood/cancel fixtures are behavioral rather than source-shape guards. The CI-sensitive changes also keep `contents: read` and pinned action SHAs. The latest commit correctly fixes the initially dead `needs.detect.outputs.rust` wiring and adds an invariant for that class.\n\nI do have two blockers on this head:\n\n1. **The new Rust acceptance lane is live now, and it proves the","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T16:55:08Z","updatedAt":"2026-08-20T16:55:08Z","submittedAt":"2026-08-20T16:55:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90941#pullrequestreview-4985306665"},"data":{"createdAt":"2026-08-20T16:55:08Z","occurredAt":"2026-08-20T16:55:08Z","pullRequest":{"createdAt":"2026-08-20T16:41:25Z","id":"PR_kwDOPRF1G88AAAABAceVHA","mergedAt":"2026-08-20T17:50:43Z","number":90941,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(installer): the bootstrap installer stops waiting on pipe EOF","updatedAt":"2026-08-20T17:51:16Z","url":"https://github.com/NousResearch/hermes-agent/pull/90941"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T16:55:08Z","updatedAt":"2026-08-20T16:55:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/90941#pullrequestreview-4985306665","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKswS0w","kind":"review","label":"PRR_kwDOPRF1G88AAAABKswS0w","summary":"**Review verdict: ready to merge at `52b2eb2c90`. No code blockers found.**\n\nI rechecked the rebased delta against the current Bot Mode routing architecture and the adjacent merged work:\n\n- `buildAgentRoster` now selects from `local`, else HTTP (`remote` / `cloud`), else SSH before applying the primary tie-break. That fixes the reported same-`install_id` SSH-primary case without changing SSH-only routing, same-kind registration-order behavior, or the post-collapse handle rules.\n- The SSH guard sits on the plugin's only `warmAgent` / `warmProfile` path. Active-source, union, and retained connect-on-demand SSH rows all remain source-qualified and carry `connectionKind: 'ssh'`, so neither opening Bot Mode nor hovering an SSH row can dial an isolated backend. Explicit open remains separate.\n- #92731's immutable owner routing and pure `prepareBotSource` capability gate remain intact. #90198's exact current-registry identity resolver also remains intact; this PR changes roster preference, not route identity.\n- The focused witnesses cover remote-over-SSH-primary, SSH-only passthrough, absence of pane-wide prewarm, and absence of SSH hover warm. The rebased author run reports `connection-r","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T22:03:44Z","updatedAt":"2026-08-24T22:03:44Z","submittedAt":"2026-08-24T22:03:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89769#pullrequestreview-5012984531"},"data":{"createdAt":"2026-08-24T22:03:44Z","occurredAt":"2026-08-24T22:03:44Z","pullRequest":{"createdAt":"2026-08-19T05:22:39Z","id":"PR_kwDOPRF1G88AAAABAPJEWQ","mergedAt":null,"number":89769,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): prefer same-host remote for Bot Mode over SSH","updatedAt":"2026-08-24T22:09:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/89769"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T22:03:44Z","updatedAt":"2026-08-24T22:03:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/89769#pullrequestreview-5012984531","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKT7RhQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKT7RhQ","summary":"**Revision review — current head `aabdcbd1b59671f84f0b0a49f617ab52da83cafb` fixes the parallel-precedence defect, but the original v2 selection path is still not wired. Do not close #90922 yet.**\n\nThe good change is real: `activeSshTerminalTarget()` no longer lets `registry.lastUsed` preempt profile URL/OAuth or environment routing. It now consumes `resolveDesktopRemoteRoute(...)`, and the new conflict tests cover that ordering.\n\nThe remaining blocker is that this planner is still reconstructing the **legacy v1 route**, not consuming the route the Sessions workspace actually activated:\n\n- `selectConnection(connectionId)` activates an explicit registry source through `ensureGatewayAgent(connectionId, targetProfile)`.\n- A successful switch only records that source through `connections.setLastUsed`; it does not rewrite `connection.json` and does not make the source `registry.primary`.\n- `activeSshTerminalTarget()` receives neither `connectionId` nor the active renderer descriptor. It reads `primaryProfileKey()`, legacy config, env, and the registry, then `resolveDesktopRemoteRoute()` can associate a settings-level route only with a matching **registry primary**.\n\nTherefore the issue's","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T20:13:40Z","updatedAt":"2026-08-20T20:13:40Z","submittedAt":"2026-08-20T20:13:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90993#pullrequestreview-4986950021"},"data":{"createdAt":"2026-08-20T20:13:40Z","occurredAt":"2026-08-20T20:13:40Z","pullRequest":{"createdAt":"2026-08-20T17:53:55Z","id":"PR_kwDOPRF1G88AAAABAc8eug","mergedAt":null,"number":90993,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): route v2 registry SSH terminals remotely","updatedAt":"2026-08-26T07:43:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/90993"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T20:13:40Z","updatedAt":"2026-08-20T20:13:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/90993#pullrequestreview-4986950021","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKtDwdQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKtDwdQ","summary":"Reviewed exact head `386e6f39c5855c0aa27fde28038ae44307b33f61` against `main@ab0d9841450b0ead5e3d3116fbd1f1e1dfb7c462`. Current CI/Nix/Docker runs are green and there were no prior submitted reviews. I checked the full diff, the Desktop backend descriptor/request paths, the pinned runtime dependency, the bundled #94219 replay corrections, and the adjacent auth/Webapp work.\n\n**Blocking findings on the current head:**\n\n1. **The new local descriptor breaks the existing Desktop REST plane.** Both `startHermes()` and `spawnPoolBackend()` now return `baseUrl = ws://127.0.0.1:<port>` when the WS-only sentinel supplies a token. But `baseUrl` is not a WebSocket-only field today: `ipcMain.handle('hermes:api', ...)` builds `${connection.baseUrl}${apiRoute.requestPath}`, then `fetchJson()` explicitly rejects any protocol other than `http:` / `https:`. `fetchJsonForBackend()` has the same descriptor contract. So a successful WS-only boot makes the existing renderer→main API path fail locally with `Unsupported Hermes backend URL protocol: ws:`. And changing the descriptor back to `http://` alone cannot fix it because `entry_ws.py` intentionally exposes no HTTP routes.\n\n   **Required fix:** eithe","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-24T22:48:01Z","updatedAt":"2026-08-24T22:48:01Z","submittedAt":"2026-08-24T22:48:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94245#pullrequestreview-5013303413"},"data":{"createdAt":"2026-08-24T22:48:01Z","occurredAt":"2026-08-24T22:48:01Z","pullRequest":{"createdAt":"2026-08-24T21:54:16Z","id":"PR_kwDOPRF1G88AAAABA3DUqA","mergedAt":"2026-08-27T05:52:42Z","number":94245,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(gateway): slim WS-only server — remove FastAPI/uvicorn from desktop boot path","updatedAt":"2026-08-27T05:52:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/94245"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-24T22:48:01Z","updatedAt":"2026-08-24T22:48:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/94245#pullrequestreview-5013303413","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKTnjlw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKTnjlw","summary":"Reviewed exact head `44386bce6abc53c1a40de9c89d0d2d133d744d52` against #91002.\n\nI found no blocking defect in the current slice. The patch restores the intended authority ordering in both public runtime entry points: an explicit `approvals.deny` match is evaluated before the isolated-container fast path, remains non-bypassable under yolo/`mode: off`, and a nonmatching command still receives the ordinary isolated-backend bypass. The dry-run CLI is updated to the same verdict order, and the matrix covers Docker plus the other isolated backend types across both guards.\n\nExact-head `CI`, `Nix flake check`, and `Docker Build, Test, and Publish` are green.\n\nNon-blocking class-closure note: the deny-floor logging/result sequence is now repeated in both runtime APIs and separately modeled in `approvals_test.py`. A small shared runtime helper would reduce future ordering drift, but the present patch's behavior is internally consistent and closes the reported bypass.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T19:32:48Z","updatedAt":"2026-08-20T19:32:48Z","submittedAt":"2026-08-20T19:32:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91029#pullrequestreview-4986626967"},"data":{"createdAt":"2026-08-20T19:32:48Z","occurredAt":"2026-08-20T19:32:48Z","pullRequest":{"createdAt":"2026-08-20T18:51:37Z","id":"PR_kwDOPRF1G88AAAABAdUzGg","mergedAt":null,"number":91029,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(approval): prevent Docker authorization bypass of deny policy","updatedAt":"2026-08-20T20:02:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/91029"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T19:32:48Z","updatedAt":"2026-08-20T19:32:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/91029#pullrequestreview-4986626967","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKTTgwA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKTTgwA","summary":"Blocking review on exact head `ee1d53db80425c0b9106013a8d7c2cd4d88443a4`.\n\nI traced the committed diff, the bootstrap workflow's generated working tree, the exact-head hosted runs, the current OSV policy, and the two source PRs this is consolidating. There are three substantive blockers before this can be the security boundary the title/body describe.\n\n### 1. The actual remediation is not in the PR tree\n\nThe exact `c47f0b4..ee1d53d` comparison contains only three files: `.ghsa-remediation-trigger`, `.github/workflows/ghsa-remediation-bootstrap.yml`, and the one-line root `package.json` Nano ID override change. The Electron 41 move, desktop ARM64 layout fix/test, website override, regenerated root/website lockfiles, and `uv.lock` h2 update are created only inside the Actions runner by `ghsa-remediation-bootstrap.yml`.\n\nThat means merging this head would merge the *recipe that mutates an ephemeral CI checkout*, not the dependency graph or packaged-layout repair that was verified in that checkout. The uploaded artifact cannot substitute for repository state. Materialize the generated manifest/lock/layout/test changes into the branch itself, then review/test that exact committed tree. ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T18:52:04Z","updatedAt":"2026-08-20T18:52:04Z","submittedAt":"2026-08-20T18:52:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90962#pullrequestreview-4986298560"},"data":{"createdAt":"2026-08-20T18:52:04Z","occurredAt":"2026-08-20T18:52:04Z","pullRequest":{"createdAt":"2026-08-20T17:07:55Z","id":"PR_kwDOPRF1G88AAAABAcpVFA","mergedAt":null,"number":90962,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(deps): refresh security-sensitive dependency pins","updatedAt":"2026-08-26T19:27:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/90962"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T18:52:04Z","updatedAt":"2026-08-20T18:52:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/90962#pullrequestreview-4986298560","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKTxA0g","kind":"review","label":"PRR_kwDOPRF1G88AAAABKTxA0g","summary":"Correction to my earlier review: the latest official Electron 41.x patch is **41.10.4**, not 41.10.6. The substantive requirement stands—restack on current `main` and keep `devDependencies.electron`, `build.electronVersion`, the root lifecycle allowlist, and the lock graph on one current 41.x patch—but the exact target should be 41.10.4. I am carrying that corrected target in the current-main consolidation rather than asking this stale branch to absorb another round of lockfile churn.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T19:52:14Z","updatedAt":"2026-08-20T19:52:14Z","submittedAt":"2026-08-20T19:52:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89479#pullrequestreview-4986781906"},"data":{"createdAt":"2026-08-20T19:52:14Z","occurredAt":"2026-08-20T19:52:14Z","pullRequest":{"createdAt":"2026-08-18T21:08:25Z","id":"PR_kwDOPRF1G88AAAABAM2LCw","mergedAt":null,"number":89479,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(deps): patch Node and Electron security advisories","updatedAt":"2026-08-27T20:21:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/89479"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T19:52:14Z","updatedAt":"2026-08-20T19:52:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/89479#pullrequestreview-4986781906","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKTzL7g","kind":"review","label":"PRR_kwDOPRF1G88AAAABKTzL7g","summary":"Blocking review on exact head `a9d0ddc0120382d90aff86c6dd5de3a4c7137e83` against current `main` `4a5b6dd4512a10c3c18da3e5b9e5c7fb681cbfbb`.\n\nThis head is materially better than the earlier #90962 shape: the actual npm/Electron remediation is now committed to Git rather than existing only as CI mutation. The current tree carries @orcaspainting-dev's correct nested PostCSS/Nano ID resolution from #90486, @schmitzi8's Electron 41 + Linux ARM64 packaged-layout work from #89479, regenerated root/website npm locks, and removal of the legacy `extract-zip@2.0.1` path. The temporary self-materialization machinery is also gone from the current nine-file diff. I checked the Desktop test collector as well: `scripts/**.test.{ts,mjs}` is in the Electron Vitest project, so the new packaged-layout witness is on the repository's real test surface.\n\nOne stop-the-line scope defect remains before this PR can truthfully be the active-advisory consolidation described in its title/body.\n\n### Python advisory is still present in the exact merged tree\n\nThe current nine-file diff does **not** contain `uv.lock`. Reading `uv.lock` at exact head `a9d0ddc...` shows:\n\n```toml\n[[package]]\nname = \"h2\"\nversion = \"4.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T19:56:04Z","updatedAt":"2026-08-20T19:56:04Z","submittedAt":"2026-08-20T19:56:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91042#pullrequestreview-4986817518"},"data":{"createdAt":"2026-08-20T19:56:04Z","occurredAt":"2026-08-20T19:56:04Z","pullRequest":{"createdAt":"2026-08-20T19:22:09Z","id":"PR_kwDOPRF1G88AAAABAdhHaw","mergedAt":null,"number":91042,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(deps): remediate active dependency advisories","updatedAt":"2026-08-21T23:42:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/91042"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T19:56:04Z","updatedAt":"2026-08-20T19:56:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/91042#pullrequestreview-4986817518","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKuaahQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKuaahQ","summary":"Re-review on exact head `ca12cbd68d8b85fc1f51c4a5db2dcb64e75604d1` after the substantial hardening pass.\n\nOne blocker from the prior review still survives at the actual mutation boundary. `_safe_restored_untracked_paths()` now does the right ownership work: stash-third-parent membership + absence from the pre-restore inventory + exact current blob hash. But `_reject_unsafe_stash_restore()` still passes those exact filenames to:\n\n```python\ngit_cmd + [\"clean\", \"-fd\", \"--\", *sorted(restored_untracked)]\n```\n\nThose arguments are still Git pathspecs. A stash-owned literal filename such as `literal*.py` can therefore broaden at deletion time and remove a matching pre-existing/concurrent untracked `literalX.py` that was deliberately excluded from `restored_untracked`. The new tests cover spaces, concurrent-file creation, and hash/inventory ambiguity, but there is still no real-Git regression with a pathspec-metacharacter filename beside a matching non-owned path.\n\nRequired fix: make the **deletion command itself** literal-path-only (`GIT_LITERAL_PATHSPECS=1`, a correctly positioned global `--literal-pathspecs`, or equivalent exact literalization) and add a real-Git regression proving a res","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T03:37:33Z","updatedAt":"2026-08-25T03:37:33Z","submittedAt":"2026-08-25T03:37:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94344#pullrequestreview-5014723205"},"data":{"createdAt":"2026-08-25T03:37:33Z","occurredAt":"2026-08-25T03:37:33Z","pullRequest":{"createdAt":"2026-08-25T01:46:29Z","id":"PR_kwDOPRF1G88AAAABA4Hp8A","mergedAt":null,"number":94344,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(update): fail closed on unproven stash restore","updatedAt":"2026-08-25T03:37:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/94344"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T03:37:33Z","updatedAt":"2026-08-25T03:37:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/94344#pullrequestreview-5014723205","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKugOfw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKugOfw","summary":"Reviewed exact head `6b734bc580c1e8705950f5f0116602e2cb1dbbb6` against base `64a6f42cb38def7ad6524bdfe640a16997c88760`.\n\nI traced the destructive path end-to-end rather than only the CLI surface: canonical snapshot/fingerprint construction, fd-safe staging + fsync + atomic publication, archive/accounting locking, preflight reference discovery, in-transaction source-plan/fingerprint revalidation, tombstone + delete atomicity, resurrection/routing triggers, schema-heal trigger reinstatement, gateway fallback behavior, recovery/lost-and-found reconciliation, and exact-head CI.\n\nThe safety shape is coherent in several important places. Tombstone insertion and source deletion are one SQLite write transaction; the route/resurrection triggers close the post-preflight race where a new live reference could otherwise appear; schema repair explicitly reinstalls the routing trigger after `gateway_routing` is rebuilt; gateway load now refuses to fall back to legacy `sessions.json` for a tombstoned logical session; and the shared/exclusive accounting fence plus final fingerprint revalidation closes the write-vs-purge race.\n\n**Merge blocker on this head:** exact-head Docker integration is red on ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T04:02:14Z","updatedAt":"2026-08-25T04:02:14Z","submittedAt":"2026-08-25T04:02:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94428#pullrequestreview-5014818431"},"data":{"createdAt":"2026-08-25T04:02:14Z","occurredAt":"2026-08-25T04:02:14Z","pullRequest":{"createdAt":"2026-08-25T03:43:47Z","id":"PR_kwDOPRF1G88AAAABA4n_gw","mergedAt":null,"number":94428,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(sessions): add verified local cold archive","updatedAt":"2026-08-26T00:29:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/94428"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T04:02:14Z","updatedAt":"2026-08-25T04:02:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/94428#pullrequestreview-5014818431","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKUOVbQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKUOVbQ","summary":"Re-reviewed the materially changed exact head `af52aa979981c3df5c45e6a2b6017eaf58af69da`, not the old `89e22c88eab98d586a221b30f94050eeb0545e75` review object. Current `main` is `4a5b6dd4512a10c3c18da3e5b9e5c7fb681cbfbb`; GitHub built the exact synthetic merge `2e96f1bcbe89d9498b50a9d76221725ff07d6ff6` with those two parents. Exact-head CI `32414968475`, Nix `32414967625`, and Docker `32414967613` are all green.\n\nThe four blockers from my previous review are materially repaired: transfer is now a one-shot `ProcessTransferGrant` with child-side ACK rather than a caller string; `windows_detach_popen_kwargs()` is adapted into a receiving-owner handoff; positive `process_group` / `setpgroup` escape paths are folded back or rejected; and Desktop stop semantics now distinguish `StopRequested`, observed `Exited`, `AlreadyExited`, `NoAuthority`, and hard `BackendStopError` outcomes. I would not carry those old findings forward.\n\nI do see one new architecture blocker from composing the now-global POSIX descendant guard with existing current-main process owners.\n\n## Blocker — `contained` currently collapses legitimate nested process authority into the Desktop root group\n\n`hermes_cli/_posix_p","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T20:53:42Z","updatedAt":"2026-08-20T20:53:42Z","submittedAt":"2026-08-20T20:53:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90250#pullrequestreview-4987262317"},"data":{"createdAt":"2026-08-20T20:53:42Z","occurredAt":"2026-08-20T20:53:42Z","pullRequest":{"createdAt":"2026-08-19T20:30:40Z","id":"PR_kwDOPRF1G88AAAABAVVbEw","mergedAt":null,"number":90250,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): bind backend teardown to retained process authority (#89614)","updatedAt":"2026-08-21T18:29:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/90250"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T20:53:42Z","updatedAt":"2026-08-20T20:53:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/90250#pullrequestreview-4987262317","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKUozaw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKUozaw","summary":"Reviewed exact head `251db038ef61e78f0c269aee22eccd7a626cc48e` as the HT-01 substrate, not as a runtime-delivery claim. The additive boundary is real: all 28 changed files stay under `gateway/hermes_tag/` + focused tests, and exact-head CI `32419325252`, Docker `32419324150`, and Nix `32419324118` are green. The canonical model/digest work, tenant-qualified identities, deny precedence, exact-intent leases, one-shot lease reservation, profile-local SQLite authority, replay fences, and failure-only shadow boundary are materially coherent.\n\nI found two authority-boundary blockers before this becomes the contract HT-02 consumes.\n\n### 1. `bind_authority()` can pair a new admission with stale outer decision/lease authority\n\n`gateway/hermes_tag/runtime.py` sets `_CURRENT_ADMISSION` unconditionally, but it sets `_CURRENT_DECISION` and `_CURRENT_LEASE` only when the incoming `RuntimeAuthority` fields are non-`None`:\n\n```py\nadmission_token = _CURRENT_ADMISSION.set(authority.admission)\nif authority.decision is not None:\n    decision_token = _CURRENT_DECISION.set(authority.decision)\nif authority.lease is not None:\n    lease_token = _CURRENT_LEASE.set(authority.lease)\n```\n\nThat means a nested `","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T21:47:46Z","updatedAt":"2026-08-20T21:47:46Z","submittedAt":"2026-08-20T21:47:45Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91111#pullrequestreview-4987695979"},"data":{"createdAt":"2026-08-20T21:47:46Z","occurredAt":"2026-08-20T21:47:45Z","pullRequest":{"createdAt":"2026-08-20T21:25:23Z","id":"PR_kwDOPRF1G88AAAABAeRRvw","mergedAt":null,"number":91111,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(hermes-tag): add additive governance and continuity kernel","updatedAt":"2026-08-22T20:05:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/91111"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T21:47:45Z","updatedAt":"2026-08-20T21:47:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/91111#pullrequestreview-4987695979","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKUyVzA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKUyVzA","summary":"Re-review complete at exact head `18597d1745d0629eb7ae04244d9337bcd9a22657`. The remaining blockers are closed in this narrow patch.\n\nThe legacy fallback now checks the ad-hoc `codesign` result, requires `codesign --verify --deep --strict`, returns `True` on verified success, and never deletes the `Hermes Safe Storage` keychain item on either success or failure. The PR title/body are scoped correctly as non-destructive fallback hardening: `Refs #90959`, with the actual credential migration/identity-transition work tracked separately in #91115.\n\nExact-head CI is green: principal CI, Docker, and Nix all completed successfully for this SHA, including the macOS-only lane exercising the corrected fallback contract and no-keychain-deletion invariants.\n\nReview disposition: #90961 is ready from my side. This does not assert that #90959's recurring-prompt class is closed; #91115 remains the Electron-side follow-up.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T22:06:01Z","updatedAt":"2026-08-20T22:06:01Z","submittedAt":"2026-08-20T22:06:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90961#pullrequestreview-4987852236"},"data":{"createdAt":"2026-08-20T22:06:01Z","occurredAt":"2026-08-20T22:06:01Z","pullRequest":{"createdAt":"2026-08-20T17:06:27Z","id":"PR_kwDOPRF1G88AAAABAcovJg","mergedAt":null,"number":90961,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): never delete safeStorage keychain item during macOS re-sign; verify fallback strictly","updatedAt":"2026-08-26T06:23:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/90961"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T22:06:01Z","updatedAt":"2026-08-20T22:06:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/90961#pullrequestreview-4987852236","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKV6sOg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKV6sOg","summary":"Reviewed exact head `bb23a98be19ce32d1c6ca3a6abf4306acf7d59db` against exact current `main`/base `8794e5a21c980a0f26532cb4883284b786cb3f25`.\n\nThe transport work is strong: I checked the exact upstream allowlist, exact trusted Codex base-url gate, adapter-owned header stripping/overlay, raw query preservation, body/SSE byte preservation, retry cleanup, prepare/cancellation cleanup, pool-backed 401 coalescing, 429 rotation, and the loopback checks at both CLI and server entry points. The focused tests cover the right failure directions rather than only the happy path.\n\nThere is one stop-the-line authority-boundary issue on the other side of the shape:\n\n### Loopback proves network location, not caller authority\n\n`OpenAICodexAdapter.loopback_only` prevents LAN/public exposure, but `create_app()` still accepts every local caller and replaces whatever bearer it supplied with the profile owner's ChatGPT OAuth credential. On a multi-user host, `127.0.0.1`/`::1` is machine-local, not UID-local: another OS user or service on the same machine can connect to this TCP listener even though it cannot read the owning Hermes profile's credential files. That makes this proxy a confused-deputy path f","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T01:48:03Z","updatedAt":"2026-08-21T01:48:03Z","submittedAt":"2026-08-21T01:48:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91199#pullrequestreview-4989037626"},"data":{"createdAt":"2026-08-21T01:48:03Z","occurredAt":"2026-08-21T01:48:03Z","pullRequest":{"createdAt":"2026-08-21T00:47:22Z","id":"PR_kwDOPRF1G88AAAABAfN0yw","mergedAt":null,"number":91199,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(proxy): add loopback OpenAI Codex OAuth adapter","updatedAt":"2026-08-23T05:53:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/91199"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T01:48:03Z","updatedAt":"2026-08-21T01:48:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/91199#pullrequestreview-4989037626","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKvczDQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKvczDQ","summary":"Blocking finding on exact head `983b48833ee8f12bb05444636f021ef846275d31`: this fixes the exact/CamelCase form of a gated tool name, but it does not yet close the authority-boundary class the issue exposes.\n\nThe new guard only fires when a normalized candidate is itself an exact registered tool:\n\n`if cands & set(registry.get_all_tool_names()): return None`\n\nA typo of a gated operation still bypasses that guard and is fuzzy-matched only against `agent.valid_tool_names`, i.e. the post-gating set. That can still convert a forbidden operation into a different allowed sibling. Concrete reproductions with the existing `difflib.get_close_matches(..., cutoff=0.7)` semantics:\n\n- `kanban_unblok` -> `kanban_block`\n- `kanban_unblck` -> `kanban_block`\n- `kanban_unblockk` -> `kanban_block`\n- `kanban_lsit` can select another available `kanban_*` sibling when `kanban_list` is gated\n\nThat is the same dangerous shape as the reported `kanban_list -> kanban_link`: capability gating removes the intended target, then fuzzy repair chooses from the remaining authority surface and can invert or mutate the operation.\n\nRequired fix: make the full registry, not the post-gating set, authoritative for fuzzy int","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T06:59:25Z","updatedAt":"2026-08-25T06:59:25Z","submittedAt":"2026-08-25T06:59:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94517#pullrequestreview-5015810829"},"data":{"createdAt":"2026-08-25T06:59:25Z","occurredAt":"2026-08-25T06:59:25Z","pullRequest":{"createdAt":"2026-08-25T06:48:58Z","id":"PR_kwDOPRF1G88AAAABA5eNdQ","mergedAt":null,"number":94517,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(agent): don't remap check_fn-gated tool names onto siblings","updatedAt":"2026-08-26T00:58:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/94517"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T06:59:25Z","updatedAt":"2026-08-25T06:59:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/94517#pullrequestreview-5015810829","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKvEhBw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKvEhBw","summary":"Follow-up review on exact head `b4522a561f88b1cc9b1db09c2416281d18d5cdc9` (base recorded by the PR: `bc47fcd3f927abcd1ec281078bc56348e37a2ec0`; current `main`: `6ce7ab8bfb3fce3ba116f52a11a438d6c7e4c03d`). I re-read the current three-file patch, the #94448 P0 reproduction, the merged response-boundary behavior from #7264, predecessor #50297, the author’s response to my prior review, and the current competing/complementary compression work. Exact-head CI is green: CI https://github.com/NousResearch/hermes-agent/actions/runs/32811474899, Docker https://github.com/NousResearch/hermes-agent/actions/runs/32811473991, Nix https://github.com/NousResearch/hermes-agent/actions/runs/32811474012.\n\n**The previous blocker is resolved on this head.** The terminal classification now covers the full known “no usable summarizer checkpoint” class that can reach `_generate_summary` after the auxiliary retry/fallback chain is exhausted:\n\n- the compressor’s own `\"returned empty content\"` guard (null/empty/whitespace `message.content` after coercion);\n- `_validate_llm_response`’s `\"LLM returned None response\"` terminal error;\n- `_validate_llm_response`’s `\"LLM returned invalid response\"` terminal error f","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T05:58:01Z","updatedAt":"2026-08-25T05:58:01Z","submittedAt":"2026-08-25T05:58:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94459#pullrequestreview-5015412999"},"data":{"createdAt":"2026-08-25T05:58:01Z","occurredAt":"2026-08-25T05:58:01Z","pullRequest":{"createdAt":"2026-08-25T04:44:59Z","id":"PR_kwDOPRF1G88AAAABA44Tcg","mergedAt":null,"number":94459,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(compression): abort instead of dropping context on empty summarizer content","updatedAt":"2026-08-26T07:32:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/94459"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T05:58:01Z","updatedAt":"2026-08-25T05:58:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/94459#pullrequestreview-5015412999","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKVI6yw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKVI6yw","summary":"Reviewed exact head [`f88bbe7547e790c40da6586ce6948f936b356a8d`](https://github.com/andrexibiza/hermes-agent/commit/f88bbe7547e790c40da6586ce6948f936b356a8d) against its fork point `4a5b6dd4512a10c3c18da3e5b9e5c7fb681cbfbb`, plus current `main` [`ee000768cef4dc9399f32c88b507104ce15400dd`](https://github.com/NousResearch/hermes-agent/commit/ee000768cef4dc9399f32c88b507104ce15400dd), #90829, the canonical staging owner, #88233, #91079, #76088, and the exact-head CI jobs.\n\nThe recovery boundary is directionally right: a corrupt active `node_modules/get-windows` root should not be repaired in-place, and this branch correctly re-enters the existing `stageGetWindows()` / `stageGetWindowsInto()` verifier rather than duplicating binding/platform classification. The Node-vs-Vitest runner ownership correction is also clean. Exact-head CI/Docker/Nix are green, including `apps/desktop / check:test:desktop:all`.\n\n## Blocker — the isolated recovery drops the repository's lock/supply-chain authority\n\n`recoverGetWindowsPackage()` solves the corrupted-tree problem by creating a fresh manifest containing only `get-windows: 9.3.0`, then running:\n\n```text\nnpm install ... --package-lock=false --prefer-","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T22:55:55Z","updatedAt":"2026-08-20T22:55:55Z","submittedAt":"2026-08-20T22:55:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91063#pullrequestreview-4988222155"},"data":{"createdAt":"2026-08-20T22:55:55Z","occurredAt":"2026-08-20T22:55:55Z","pullRequest":{"createdAt":"2026-08-20T20:02:27Z","id":"PR_kwDOPRF1G88AAAABAdxPlA","mergedAt":null,"number":91063,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): recover corrupt Windows native deps in isolation","updatedAt":"2026-08-21T00:41:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/91063"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T22:55:55Z","updatedAt":"2026-08-20T22:55:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/91063#pullrequestreview-4988222155","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKVNtng","kind":"review","label":"PRR_kwDOPRF1G88AAAABKVNtng","summary":"Re-review on exact current head [`7970d3933a72235a192a9c3332ad73b5a7c6c101`](https://github.com/andrexibiza/hermes-agent/commit/7970d3933a72235a192a9c3332ad73b5a7c6c101): the two blockers from my review at `4698d2e...` are closed.\n\n**Git half of #89916:** `desktop-git.ts` now separates read authority from mutation authority correctly. Remote reads flow through `hermesApi()`, preserving the active registry `connectionId + profile`; every consequential remote Git mutation (`worktree add/remove`, branch switch, stage/unstage/revert, commit, push, create-PR) consumes `currentRouteActivationReceiptForMutation()` and sends the receipt's exact `connectionId`, `profile`, and source `routeGeneration`. Missing/stale/unqualified proof throws before the REST mutation. `desktop-git.test.ts` now has the exact witnesses requested in the earlier review: same-profile/different-source reads, local unchanged behavior, ambient-route disagreement with receipt-owned mutation, all mutation surfaces rejected without proof, source-generation refusal, and branch→worktree ownership continuity.\n\n**Landing state:** the PR is now based on current `main` `ee000768cef4dc9399f32c88b507104ce15400dd`, and the exact ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T23:06:42Z","updatedAt":"2026-08-20T23:06:42Z","submittedAt":"2026-08-20T23:06:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90924#pullrequestreview-4988300702"},"data":{"createdAt":"2026-08-20T23:06:42Z","occurredAt":"2026-08-20T23:06:42Z","pullRequest":{"createdAt":"2026-08-20T16:26:12Z","id":"PR_kwDOPRF1G88AAAABAcXnfg","mergedAt":null,"number":90924,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(desktop): carry route activation proof into file mutations","updatedAt":"2026-08-23T07:04:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/90924"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T23:06:42Z","updatedAt":"2026-08-20T23:06:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/90924#pullrequestreview-4988300702","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKVRrhA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKVRrhA","summary":"Blocking re-review at exact head `dc6fb23dd1b3169a36c32d2bd100135ac2f8b473`.\n\nThe implementation and repository framing now match the narrow root fix: marker-bearing messages are normalized on request-local copies, the caller-mutation clamp is gone, the two-endpoint tool policy is restored, the unrelated executor change is gone, #90971 is explicitly corrected rather than falsely closed, and exact-head CI/Docker/Nix are green.\n\nOne required test contract is still missing. The prior re-review asked for structural equality **and the exact marker bound**. The new test adds `round1 == round2 == round3`, but retains `<= 4`; a regression that drops every marker on the first call and returns the same unmarked structure forever still passes both assertions. That means the test proves convergence, not preservation of the intended four-breakpoint layout.\n\nRequired before approval:\n\n- Assert `_count_cache_markers(round1, []) == 4` for this fixture. The preceding sweep already establishes that 4 is the expected result.\n- Tighten the other deterministic fixtures to their known exact counts where practical, especially the direct-tool layout, so total marker loss cannot masquerade as safety.\n- Ren","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T23:20:03Z","updatedAt":"2026-08-20T23:20:04Z","submittedAt":"2026-08-20T23:20:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90972#pullrequestreview-4988365700"},"data":{"createdAt":"2026-08-20T23:20:03Z","occurredAt":"2026-08-20T23:20:03Z","pullRequest":{"createdAt":"2026-08-20T17:26:18Z","id":"PR_kwDOPRF1G88AAAABAcw93w","mergedAt":null,"number":90972,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(prompt_caching): make apply_anthropic_cache_control idempotent on pre-decorated input","updatedAt":"2026-08-21T06:50:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/90972"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T23:20:03Z","updatedAt":"2026-08-20T23:20:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/90972#pullrequestreview-4988365700","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKVVNPQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKVVNPQ","summary":"Blocking findings against exact head `0d8de1af5f8ef8268d3dc6d1fca93af05e4d0011`.\n\nThe bounded extractor itself is appropriately narrow, and the executor's post-processing keeps the per-turn cap mutation serialized. Three correctness boundaries remain:\n\n1. Streaming session chat never captures or emits the new bounded `apps` contract.\n2. `HONCHO_PROFILE_RESOURCE_URI` bypasses profile-scoped environment resolution, so multiplexed profiles can inherit the default profile's UI metadata.\n3. The concrete-target resolver inherits the known configured-alias bypass, so alias-backed peer cards can publish the wrong target.\n\nThere is also no successful exact-head CI receipt yet: CI, Nix, and Docker runs are all `action_required`.\n\nI would not merge this head until the three inline findings are closed and exact-head checks run.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T23:31:53Z","updatedAt":"2026-08-20T23:31:53Z","submittedAt":"2026-08-20T23:31:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91152#pullrequestreview-4988423485"},"data":{"createdAt":"2026-08-20T23:31:53Z","occurredAt":"2026-08-20T23:31:53Z","pullRequest":{"createdAt":"2026-08-20T23:03:54Z","id":"PR_kwDOPRF1G88AAAABAey9Dw","mergedAt":null,"number":91152,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat: expose bounded MCP App envelopes in session chat","updatedAt":"2026-08-22T20:05:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/91152"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T23:31:53Z","updatedAt":"2026-08-20T23:31:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/91152#pullrequestreview-4988423485","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKVY06w","kind":"review","label":"PRR_kwDOPRF1G88AAAABKVY06w","summary":"Reviewed exact head `91b95c86ac1a171148047c1a09a89c393a779a76` (forked from `ee000768cef4dc9399f32c88b507104ce15400dd`; current `main` is `c1e25cadffe539b058816be5fdfc9127d7199fa4`). The current-main movement is only the scale-to-zero change, so there is no path overlap with this two-file diff. The focused change is directionally right: it extends the landed #49064 survivor/deferred-reclaim invariant into the manual `reclaim_task()` path instead of releasing a claim after a kill that demonstrably did not land.\n\nI do not think this closes the manual-reclaim duplicate-worker class yet. Two authority edges remain open.\n\n**1. Host-local identity is still inferred from the mutable hostname, so the new guard is bypassed in the exact #73277 failure mode.** `_terminate_reclaimed_worker()` still computes the current `host_prefix` and immediately returns with `host_local=False`, `termination_attempted=False` when `claim_lock` does not start with that prefix. `_worker_survived_termination()` then returns false by construction, so this PR falls through to the normal reclaim transaction and releases the task. #73277 documents the concrete macOS case: the machine hostname changes while the PID r","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-20T23:44:22Z","updatedAt":"2026-08-20T23:44:22Z","submittedAt":"2026-08-20T23:44:22Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91162#pullrequestreview-4988482795"},"data":{"createdAt":"2026-08-20T23:44:22Z","occurredAt":"2026-08-20T23:44:22Z","pullRequest":{"createdAt":"2026-08-20T23:29:17Z","id":"PR_kwDOPRF1G88AAAABAe54aA","mergedAt":null,"number":91162,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(kanban): defer manual reclaim until worker termination is proven","updatedAt":"2026-08-22T20:05:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/91162"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-20T23:44:22Z","updatedAt":"2026-08-20T23:44:22Z","url":"https://github.com/NousResearch/hermes-agent/pull/91162#pullrequestreview-4988482795","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKWE3fA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKWE3fA","summary":"Re-review at exact head `99937f26c7c8f923c8acf620e19731b58e2e5de0`.\n\nThe **runtime repair itself now closes the conversion-order defect** from my prior review: `item_sources` is carried in parallel with every emitted Responses item; canonical provenance is checked on the raw source before lossy tool/replay conversion can erase it; a qualifying source is synthesized back as one assistant message; the pre-checkpoint typed call/output material is not retained, so this does not leave an orphaned `function_call_output`; and the stale `codex_message_items` replay is displaced by the current source content. The PR body/commentary now describes that actual path. Exact-head CI `32430608964`, Docker `32430608304`, and Nix `32430608294` are all green.\n\n**One proof blocker from the prior review is still not satisfied, though.** I asked for end-to-end witnesses that use a **real `ContextCompressor.compress()` emission** and then feed that mutated transcript through `_chat_messages_to_responses_input(..., native_compaction_eligible=True)`. The two new adapter tests still manufacture the producer state themselves with `_merged_summary_content(...)` plus `COMPRESSED_SUMMARY_METADATA_KEY = True`. T","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T02:29:51Z","updatedAt":"2026-08-21T02:29:51Z","submittedAt":"2026-08-21T02:29:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90976#pullrequestreview-4989204348"},"data":{"createdAt":"2026-08-21T02:29:51Z","occurredAt":"2026-08-21T02:29:51Z","pullRequest":{"createdAt":"2026-08-20T17:27:29Z","id":"PR_kwDOPRF1G88AAAABAcxbSg","mergedAt":null,"number":90976,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(native_compaction): preserve compression summary messages during pre-checkpoint pruning","updatedAt":"2026-08-21T11:47:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/90976"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T02:29:51Z","updatedAt":"2026-08-21T02:29:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/90976#pullrequestreview-4989204348","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKWENlQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKWENlQ","summary":"Re-review on requested head `bebf007924cd515a9bfbe844b8f8035175d25c11`, checked against current `main` `76952ba54f5dd83f4f5bd0246059171b4b9d1c4a`.\n\nThe core repairs moved in the right direction, but I still have two proof/correctness blockers.\n\n1. **Block 1 is not behaviorally witnessed yet.** `run_agent.py` now separates the two import failure domains and preserves `_swp_scope` when only `self_improvement_decision_context` is unavailable, which closes the obvious source-level fail-open. But `tests/tools/test_block1_decoupled_imports.py` is a source-text test: it scans for `try:`, flags, strings, and `return`; it does not construct the partial-import failure, run a protected/DENY_ALL agent, dispatch `write_file` / terminal mutation, and prove dispatch + side effect are denied. That was the requested witness because the security property is runtime authority retention, not source shape. Add the executable partial-failure witness.\n\n2. **The suggestions provenance failure still fails open.** `_background_review_suggestions_guard()` catches an exception from `is_background_review()`, sets `provenance_failed = True`, and then continues. If the captured Decision is ALLOW, the mutation is","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T02:26:51Z","updatedAt":"2026-08-21T02:26:51Z","submittedAt":"2026-08-21T02:26:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90883#pullrequestreview-4989193621"},"data":{"createdAt":"2026-08-21T02:26:51Z","occurredAt":"2026-08-21T02:26:51Z","pullRequest":{"createdAt":"2026-08-20T15:23:14Z","id":"PR_kwDOPRF1G88AAAABAb6cuw","mergedAt":null,"number":90883,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"security: restore session write and self-improvement enforcement","updatedAt":"2026-08-29T08:46:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/90883"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T02:26:51Z","updatedAt":"2026-08-21T02:26:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/90883#pullrequestreview-4989193621","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKWf5-Q","kind":"review","label":"PRR_kwDOPRF1G88AAAABKWf5-Q","summary":"Exact-head re-review at `69811253feb9e866f0e131cc74bda01500ca4ad7`.\n\nThe two named source blockers from the `cc3bf036a` review are materially repaired in their exact paths:\n\n- F5 now refuses a B-profile call before any RPC reaches A's live transport, including the resource/prompt handlers and the reconnect paths covered by the new regressions.\n- F7 now keeps normalized `[]` / `\"\"` empty through plugin, context-engine, and default-MCP injection.\n\nI found two remaining inverse paths at this head.\n\n## [P1] F5 — a foreign lazy profile can publish capabilities into another profile's global MCP toolset\n\nThe live collision check is scoped, but the lazy registration boundary is not end-to-end scoped.\n\n`register_mcp_servers()` puts a name in `collided` only when that raw name already exists in `_servers`. It then explicitly allows a same-named server when only another home's lazy key exists, because `_mcp_scope_key(name)` differs. `_register_from_cache_sync()` subsequently registers the cached schemas and handlers into the process-global `ToolRegistry` with no `scope`, under the raw toolset name `mcp-{server}`. `ToolRegistry.register()` permits replacement when the existing entry has that s","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T04:20:44Z","updatedAt":"2026-08-21T04:20:44Z","submittedAt":"2026-08-21T04:20:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/88435#pullrequestreview-4989647353"},"data":{"createdAt":"2026-08-21T04:20:44Z","occurredAt":"2026-08-21T04:20:44Z","pullRequest":{"createdAt":"2026-08-17T13:26:52Z","id":"PR_kwDOPRF1G88AAAABABqL-A","mergedAt":null,"number":88435,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): 10 bounded hardening guards (F1-F10): credential ACLs, hooks gate, cron script lane, MCP trust, media delivery, config fail-closed","updatedAt":"2026-08-21T04:20:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/88435"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T04:20:44Z","updatedAt":"2026-08-21T04:20:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/88435#pullrequestreview-4989647353","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKWFGHQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKWFGHQ","summary":"Re-review complete at exact head `9ff79f8da704ec1436af1a5ab187e93cf44939d2`.\n\nThe semantic blocker from my prior review is fixed. `HygieneTurnHoldExceeded` is now a distinct outcome rather than an `asyncio.TimeoutError`; the dedicated handler reuses the safe cancellation/fence/deferred-cleanup mechanics but stamps `AGENT_COMPRESSION_TURNHOLD`, sends a truthful streaming/deferral notice, and does not call the hygiene failure-cooldown ladder. The genuine no-progress `asyncio.TimeoutError` handler remains separate, so #87011's durable meaning of `session hygiene compression timed out` is preserved.\n\nThe new end-to-end gateway witness is load-bearing rather than source-shape-only: it drives a continuously progressing compression worker through the real message handler, proves the turn returns `ok` under the turn-hold budget, proves the stale worker cannot `archive_and_compact`, proves eventual cleanup, and proves the false `no output` message is absent. A separate stalled-worker witness exercises the genuine idle-timeout path. I also verified the new provenance enum is distinct (`agent.compression_turnhold`).\n\nOne test comment overstates its cooldown-write assertion slightly — it probe","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T02:30:55Z","updatedAt":"2026-08-21T02:30:55Z","submittedAt":"2026-08-21T02:30:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90845#pullrequestreview-4989208093"},"data":{"createdAt":"2026-08-21T02:30:55Z","occurredAt":"2026-08-21T02:30:55Z","pullRequest":{"createdAt":"2026-08-20T13:53:19Z","id":"PR_kwDOPRF1G88AAAABAbKbRQ","mergedAt":null,"number":90845,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): bound the hygiene-compression turn-hold so a streaming summary cannot freeze the turn","updatedAt":"2026-08-22T15:09:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/90845"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T02:30:55Z","updatedAt":"2026-08-21T02:30:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/90845#pullrequestreview-4989208093","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKWLLtA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKWLLtA","summary":"Reviewed exact head `7e60ebc5d495efa1fba8c25201727c54792ca3cb` against its recorded base `76952ba54f5dd83f4f5bd0246059171b4b9d1c4a` and current `main` `949aff69a8c419878923c5fcd3e335bab8ca518a`. The implementation is tidy on transcript shape (system stripping, incomplete-tail trimming, lineage retrieval, blank-context degrade, docs/tests), and exact-head CI/Nix/Docker are green. I do have one stop-the-line authority boundary before this can land.\n\n## Blocker: `fork` lost the upstream same-runtime invariant, so a model-facing flag can export durable parent history across provider/model boundaries\n\nThis port is not semantically equivalent to MoonshotAI/kimi-code#3007 at the most important trust boundary. The upstream merged feature explicitly makes a fork inherit the caller's **effective runtime (profile, tool set, model)** and rejects combining `fork` with a different `subagent_type` or `model` override. That is load-bearing: a fork is self-inheritance, not ordinary delegation with extra bytes.\n\nHermes currently does the opposite composition. `fork` is deliberately model-facing (`test_fork_not_model_hidden` pins this), while `_build_child_agent()` still applies the ordinary delegati","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T02:55:41Z","updatedAt":"2026-08-21T02:55:41Z","submittedAt":"2026-08-21T02:55:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91252#pullrequestreview-4989307828"},"data":{"createdAt":"2026-08-21T02:55:41Z","occurredAt":"2026-08-21T02:55:41Z","pullRequest":{"createdAt":"2026-08-21T02:35:08Z","id":"PR_kwDOPRF1G88AAAABAfsZ1Q","mergedAt":null,"number":91252,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(delegation): subagents can fork the parent conversation (port of kimi-code#3007)","updatedAt":"2026-08-22T19:49:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/91252"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T02:55:41Z","updatedAt":"2026-08-21T02:55:41Z","url":"https://github.com/NousResearch/hermes-agent/pull/91252#pullrequestreview-4989307828","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKWmf0w","kind":"review","label":"PRR_kwDOPRF1G88AAAABKWmf0w","summary":"## Blocking review — exact head `8209854a7040e64ddc1d64b07e740c8faaf89c22`\n\nReviewed the exact five-file diff against base `533886c8b8eb67ff8b389b7f48e7d5e5d9c575b9`, current `main` `efb6b40f94ebce3c1f0cfe197942b17d68e2136b`, #91277, #88683, the existing gateway runtime-identity helpers, and the update/process-control neighbors. Exact-head CI, Docker, and Nix are green. The direction is right, but two proof gaps mean the new receipt/handshake is not yet authoritative.\n\n### P1 — fleet liveness drops the persisted process-incarnation proof\n\n`collect_fleet_versions()` reads `gateway_state.json`, extracts `pid`, and treats `_pid_exists(pid)` as sufficient proof that the recorded gateway is still the process behind that file. That is weaker than the runtime-status contract already shipped in `gateway/status.py`: the record carries `start_time`, and `runtime_status_pid_is_live()` explicitly compares the recorded start-time fingerprint with the live process to reject PID reuse.\n\nThe open counterexample is deterministic:\n\n1. gateway generation A writes `pid=4242`, `start_time=A`, `code_sha=old`;\n2. A exits, leaving the status file;\n3. PID 4242 is reused by another process/gateway generatio","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T04:47:52Z","updatedAt":"2026-08-21T04:47:52Z","submittedAt":"2026-08-21T04:47:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91283#pullrequestreview-4989755347"},"data":{"createdAt":"2026-08-21T04:47:52Z","occurredAt":"2026-08-21T04:47:52Z","pullRequest":{"createdAt":"2026-08-21T03:51:20Z","id":"PR_kwDOPRF1G88AAAABAgEHMw","mergedAt":"2026-08-21T04:54:26Z","number":91283,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(update): hermes update now proves its outcome — receipts + fleet version verification (#91277 Phase 1)","updatedAt":"2026-08-21T04:54:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/91283"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T04:47:52Z","updatedAt":"2026-08-21T04:47:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/91283#pullrequestreview-4989755347","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKWXo9w","kind":"review","label":"PRR_kwDOPRF1G88AAAABKWXo9w","summary":"Reviewed exact head `4472e94733421aaa3472ae13b938d5f77eeaefc6` against merge base `18a15a46d81793f9bcbf7e9f4cd93d5db841b7ae` and current `main` `533886c8b8eb67ff8b389b7f48e7d5e5d9c575b9`.\n\nThe explicit-key path is thoughtfully fenced: request runtime bypasses session/global model selection, fallback is disabled, auxiliary routing carries `model_locked`, credential pools are detached for children, and the concurrent A/B E2E is a useful real transport witness. I do have one stop-the-line authority defect on the inverse path.\n\n## Blocker: omitted request credential reopens ambient credential resolution — including an Anthropic-token exfiltration path\n\n`parse_request_model_runtime()` permits `X-Hermes-Model-Api-Key` to be absent, and `RequestModelRuntime.agent_kwargs()` then omits `api_key` entirely. `_create_agent()` describes this runtime as complete and says the path must not touch the profile provider catalog/fallback state, but an actual `AIAgent` interprets `api_key=None` as permission to resolve ambient credentials.\n\nThere are two concrete existing init paths that violate the lock:\n\n1. In `agent/agent_init.py`, `api_mode == \"anthropic_messages\"` plus `provider == \"anthropic\"` co","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T03:47:16Z","updatedAt":"2026-08-21T03:47:16Z","submittedAt":"2026-08-21T03:47:16Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91267#pullrequestreview-4989511927"},"data":{"createdAt":"2026-08-21T03:47:16Z","occurredAt":"2026-08-21T03:47:16Z","pullRequest":{"createdAt":"2026-08-21T03:11:59Z","id":"PR_kwDOPRF1G88AAAABAf4F_g","mergedAt":null,"number":91267,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(api): add locked request-scoped model runtimes","updatedAt":"2026-08-24T06:59:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/91267"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T03:47:16Z","updatedAt":"2026-08-21T03:47:16Z","url":"https://github.com/NousResearch/hermes-agent/pull/91267#pullrequestreview-4989511927","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKwZbBg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKwZbBg","summary":"Reviewed exact head `eaaee1a5973fa8a55697b04f78e2fa0cc9902880` against base `4c1f53be10d0fce1d25aee1975e5149b6c54f25a`.\n\nThe root-cause direction checks out. `gated_auth_middleware()` consults `PUBLIC_API_PATHS` before its dashboard bearer-verification path, so an opaque peer credential currently gets consumed as a dashboard OAuth bearer and can be turned into the misleading provider-503 path before the peer route runs. The change is also correctly centralized: `PUBLIC_API_PATHS` is shared by the OAuth gate and the legacy `_SESSION_TOKEN` gate. Exact-head CI is green across **CI**, **Docker Build, Test, and Publish**, and **Nix flake check**.\n\n**Blocker — the replacement security boundary is not exercised.**\n\nAdding `/api/v1/message` to `hermes_cli/dashboard_auth/public_paths.py` deliberately bypasses both dashboard auth layers for a state-changing ingress route. That is valid only if the downstream per-agent peer-key verifier is demonstrably the new fail-closed boundary.\n\nThe new `tests/hermes_cli/test_peer_message_dashboard_auth.py` proves only the first half of that contract. It calls `gated_auth_middleware()` directly and supplies a synthetic `call_next()` which asserts the bea","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T08:50:35Z","updatedAt":"2026-08-25T08:50:35Z","submittedAt":"2026-08-25T08:50:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94579#pullrequestreview-5016804102"},"data":{"createdAt":"2026-08-25T08:50:35Z","occurredAt":"2026-08-25T08:50:35Z","pullRequest":{"createdAt":"2026-08-25T08:23:26Z","id":"PR_kwDOPRF1G88AAAABA6D1sw","mergedAt":null,"number":94579,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cloud): accept peer messages on OAuth-gated agents","updatedAt":"2026-08-30T06:25:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/94579"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T08:50:35Z","updatedAt":"2026-08-25T08:50:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/94579#pullrequestreview-5016804102","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKxDQHg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKxDQHg","summary":"Reviewed exact head `69d910f7cfc7c8b55f9cb7030ba0ea80a49b2cc6` (base recorded by the PR as `main@4c1f53be10d0fce1d25aee1975e5149b6c54f25a`; current `main` has advanced to `76e306c45843607e6dc135d23c13d3654417ebd5`, and GitHub still reports the PR mergeable). I checked the compressor diff, attempt-state snapshot integration, regression coverage, exact-head Actions, the #94448 P0 report, and the competing/complementary lineage.\n\nThe core invariant is correct: an empty/whitespace/no-usable-response summarizer outcome must not cross the destructive Phase-4 commit boundary. This patch carries that failure identity through `_generate_summary()` into `compress()`, preserves the original message set with `dropped_count == 0`, keeps cooldown re-entry fail-closed, and only clears the new flag after a successful summary. Adding `_last_summary_empty_content_failure` to `_COMPRESSOR_ATTEMPT_STATE_FIELDS` is important: without it, a pre-commit hard-cancel rollback could restore the old attempt state without restoring the abort authority, reopening the exact class of destructive fall-through this PR is trying to close. The sibling `None response` / `invalid response` classifications also correctl","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T09:52:38Z","updatedAt":"2026-08-25T09:52:38Z","submittedAt":"2026-08-25T09:52:38Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94606#pullrequestreview-5017489438"},"data":{"createdAt":"2026-08-25T09:52:38Z","occurredAt":"2026-08-25T09:52:38Z","pullRequest":{"createdAt":"2026-08-25T09:06:49Z","id":"PR_kwDOPRF1G88AAAABA6ZBBg","mergedAt":"2026-08-26T07:32:28Z","number":94606,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(compressor): abort compression on empty-content provider degradation (#94448) — salvage of #94531","updatedAt":"2026-08-26T07:32:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/94606"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T09:52:38Z","updatedAt":"2026-08-25T09:52:38Z","url":"https://github.com/NousResearch/hermes-agent/pull/94606#pullrequestreview-5017489438","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKxhw-g","kind":"review","label":"PRR_kwDOPRF1G88AAAABKxhw-g","summary":"**Blocking review — exact head `751ff4b6776a21f9d56ce0307c733f6a66c41785`.**\n\nThe generation token and synchronous check-before-registration are the right mechanism for the path they cover, and the current head’s CI, Docker, Nix, Python, E2E, macOS, and Windows checks are green. Two lifecycle-coverage gaps still leave the claimed defect class open:\n\n### 1. The admission gate is enforced only for `tools/call`\n\nOn this head, `_track_inflight_rpc(...)` is used only by `_make_tool_handler`. The four MCP utility request families still acquire `_rpc_lock` and call the published session directly:\n\n- `resources/list` → `server.session.list_resources`\n- `resources/read` → `server.session.read_resource`\n- `prompts/list` → `server.session.list_prompts`\n- `prompts/get` → `server.session.get_prompt`\n\nAfter `_close_rpc_admission()` sets `_admitting_generation = None`, any of those late requests can still acquire `_rpc_lock` and invoke the retiring `ClientSession`: they neither check the generation gate nor join `_inflight_tasks`. That is the same zero-active-RPC late-admission window, just on the other four user-visible RPC surfaces.\n\nThis is also an important interlock with #48069: its final ge","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T10:46:53Z","updatedAt":"2026-08-25T10:46:53Z","submittedAt":"2026-08-25T10:46:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94327#pullrequestreview-5017989370"},"data":{"createdAt":"2026-08-25T10:46:53Z","occurredAt":"2026-08-25T10:46:53Z","pullRequest":{"createdAt":"2026-08-25T01:02:28Z","id":"PR_kwDOPRF1G88AAAABA376OQ","mergedAt":null,"number":94327,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(mcp): generation-scoped admission gate closes zero-RPC teardown window","updatedAt":"2026-08-26T15:59:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/94327"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T10:46:53Z","updatedAt":"2026-08-25T10:46:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/94327#pullrequestreview-5017989370","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKxklYQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKxklYQ","summary":"**Review verdict: changes required before merge.**\n\nRe-reviewed exact head `cb34ffc7588bf7ecc7e9edf918aba607e38f6aa6` against current base `a99001c3b36fc574b0837708f222ac32096b54ce`.\n\nThe production changes now resolve the two implementation defects from the prior review:\n\n- `_read_git_alias()` distinguishes a clean missing key (`returncode == 1`) from an operational/config-read failure and fails closed on the latter.\n- Depth 4 remains analyzable, while the first descent beyond the configured recursion budget fails closed.\n\nAll three exact-head workflows are currently successful (`CI`, `Docker`, and `Nix Build`), including the Python test matrix. I do not see another production-code defect in the changed guard logic.\n\nChanges are still required because the requested regression proof is incomplete:\n\n1. The new alias-read tests cover only the exception/OSError branch. They do not exercise the independently significant `CompletedProcess` distinction between `returncode == 1` and other nonzero statuses such as 3/128.\n2. The shell-recursion tests inject the private `depth` parameter directly. They do not prove that nested shell parsing through the public detector increments and propagat","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T10:52:58Z","updatedAt":"2026-08-25T10:52:58Z","submittedAt":"2026-08-25T10:52:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/81664#pullrequestreview-5018035553"},"data":{"createdAt":"2026-08-25T10:52:58Z","occurredAt":"2026-08-25T10:52:57Z","pullRequest":{"createdAt":"2026-08-08T10:50:48Z","id":"PR_kwDOPRF1G878YZPE","mergedAt":null,"number":81664,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tools): fail closed on alias recursion depth limit in self_repo_guard","updatedAt":"2026-08-25T10:52:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/81664"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T10:52:57Z","updatedAt":"2026-08-25T10:52:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/81664#pullrequestreview-5018035553","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKXR46g","kind":"review","label":"PRR_kwDOPRF1G88AAAABKXR46g","summary":"Reviewed exact head `17021faaa90514264dc2da8f4eb48b9a11e32c66` against PR base `524b062289e9d64b2112b8c9caaf0c7f59cb463d` and current `main` `15328b4db786bc1924e6f9eed0be0d48d39fa5b7`.\n\nThe SOUL-specific fix is correct as far as it goes: the named `--isolated` launch scope is carried into server state, `_resolve_profile_dir()` canonicalizes before authorization, and the new GET/PUT test proves a sibling `SOUL.md` cannot be read or overwritten while own-profile access remains intact. Exact-head CI, Docker, and Nix are green.\n\nThere is one stop-the-line authority gap: **the isolation proof currently exists only at `_resolve_profile_dir()`, but the profile control plane has multiple machine-wide routes that do not pass through that helper at all.** So this head closes #91330's SOUL reproduction while leaving the stronger `--isolated` invariant false.\n\nConcrete current-main examples in `hermes_cli/web_routers/profiles.py`:\n\n- `GET /api/profiles` calls `list_profiles()` and returns every profile.\n- `GET /api/profiles/sessions` calls `profiles_to_serve(multiplex=True)` and opens every profile's `state.db` when `profile=all` (the default).\n- `POST /api/profiles/sessions/pull-requests` ite","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T06:45:49Z","updatedAt":"2026-08-21T06:45:49Z","submittedAt":"2026-08-21T06:45:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91345#pullrequestreview-4990466282"},"data":{"createdAt":"2026-08-21T06:45:49Z","occurredAt":"2026-08-21T06:45:49Z","pullRequest":{"createdAt":"2026-08-21T06:24:55Z","id":"PR_kwDOPRF1G88AAAABAgwweA","mergedAt":null,"number":91345,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(profiles): stop isolated dashboards from enabling cross-profile prompt injection","updatedAt":"2026-08-21T07:45:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/91345"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T06:45:49Z","updatedAt":"2026-08-21T06:45:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/91345#pullrequestreview-4990466282","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKY0utA","kind":"review","label":"PRR_kwDOPRF1G88AAAABKY0utA","summary":"Reviewed exact head `1f6f84d44e4f23b6817a1bed1283809dee0195d3` against exact/current `main` `fc9cbc872d8050c22f1192b16bc5ff4aed471e10` (one commit ahead, zero behind). The goal is correct, and keeping resolved bytes out of `config.extra` is the right direction, but there are three credential-authority blockers before this is safe to land.\n\n### 1. [P1] Canonical `${env:VAR}` SecretRefs become a public, literal HMAC key\n\n`_SECRET_ENV_TEMPLATE_RE` recognizes only bare `${VAR}`. Current repository config semantics explicitly support `${env:VAR}` since merged #69267 (salvaged from #59516, preserving @andynguyendk's credit). On this PR, `secret: \"${env:GH_WEBHOOK_SECRET}\"` does not match the regex, so `_resolve_secret_template()` returns it unchanged. `connect()` sees a non-empty secret and accepts the route; request verification then authenticates against the literal text `${env:GH_WEBHOOK_SECRET}`.\n\nThat is fail-open in this PR's exact threat model: the config text that is safe to commit becomes the signing key anyone with the repository can know. This is not hypothetical/novel—#79656 by @Mourey initially had this same bare-only bug and explicitly fixed it in its current head after not","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T09:51:12Z","updatedAt":"2026-08-21T09:51:12Z","submittedAt":"2026-08-21T09:51:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91409#pullrequestreview-4992085684"},"data":{"createdAt":"2026-08-21T09:51:12Z","occurredAt":"2026-08-21T09:51:12Z","pullRequest":{"createdAt":"2026-08-21T09:10:10Z","id":"PR_kwDOPRF1G88AAAABAhzpjw","mergedAt":null,"number":91409,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(webhook): support ${VAR} env expansion for route HMAC secrets","updatedAt":"2026-08-21T10:08:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/91409"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T09:51:12Z","updatedAt":"2026-08-21T09:51:12Z","url":"https://github.com/NousResearch/hermes-agent/pull/91409#pullrequestreview-4992085684","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKyDOBw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKyDOBw","summary":"Reviewed exact head `e079fb6b32e5ef7ba04a533d59d84041fffa5d61` against current `main` `1bbb6e5bce56e721ab685af4cd87df21bbff4d35`. I traced the full client-construction/publication surface, every relevant `_user_space(...)` call shape, the background writer paths, the session-start recall path, the merged #94515 / #93985 / #91998 lineage, and exact-head hosted CI. CI, Docker, and Nix are green, and there were no existing reviews/comments to duplicate.\n\n**BLOCKER — the same cross-connection cache poisoning is still reachable through an unstamped published `self._client`.**\n\nThis patch binds `_conn_snapshot` only to clients created by `_new_client()`. But the provider's live client is constructed directly with `_VikingClient(...)` in initialization / refresh publication paths, then assigned to `self._client` alongside `self._conn_snapshot`; those clients are not stamped by this patch. Meanwhile `_read_session_start_memory_parts()` captures `active_client = client or self._client` and then passes that object explicitly to `_user_space(active_client, ...)`. `_build_memory_uri()` has the same explicit-client shape.\n\nThat leaves this production interleaving:\n\n1. connection A is live; sess","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T11:51:26Z","updatedAt":"2026-08-25T11:51:26Z","submittedAt":"2026-08-25T11:51:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94698#pullrequestreview-5018537479"},"data":{"createdAt":"2026-08-25T11:51:26Z","occurredAt":"2026-08-25T11:51:26Z","pullRequest":{"createdAt":"2026-08-25T11:26:08Z","id":"PR_kwDOPRF1G88AAAABA7YVAA","mergedAt":null,"number":94698,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(memory): key OpenViking user-space cache on the resolving client's own snapshot","updatedAt":"2026-08-25T11:51:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/94698"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T11:51:26Z","updatedAt":"2026-08-25T11:51:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/94698#pullrequestreview-5018537479","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKYRW_A","kind":"review","label":"PRR_kwDOPRF1G88AAAABKYRW_A","summary":"Reviewed exact head `f97d7e935ad43484ba084df5e1846012d0d9fd82` against exact/current `main` `fc9cbc872d8050c22f1192b16bc5ff4aed471e10`.\n\nI found three concrete closure/authority blockers.\n\n### 1. The new Kanban supervisor is not on the production worker-spawn path\n\n`hermes_cli/kanban_worker_supervisor.py` implements the advertised child-exit classification, heartbeats, retry release, and structured crash recording, but this PR never wires that module into the dispatcher/native worker spawn. In the seven-file diff, the only direct caller of `run_supervisor(...)` is `tests/hermes_cli/test_kanban_worker_supervisor.py`; no dispatcher / `_default_spawn` production path is changed to invoke the supervisor.\n\nThat means the headline invariant — “silent zero-exit processes cannot be treated as publish closure” — is not actually enforced by the repository runtime after merge. The direct unit tests prove the helper in isolation, not that a dispatched Kanban worker passes through it.\n\n**Required:** route the real native Kanban dispatch/spawn path through this authority (or integrate the same lifecycle logic into the existing canonical worker owner), then add an end-to-end dispatch witness: act","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T08:50:30Z","updatedAt":"2026-08-21T08:50:30Z","submittedAt":"2026-08-21T08:50:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91403#pullrequestreview-4991506172"},"data":{"createdAt":"2026-08-21T08:50:30Z","occurredAt":"2026-08-21T08:50:30Z","pullRequest":{"createdAt":"2026-08-21T08:42:57Z","id":"PR_kwDOPRF1G88AAAABAhnzog","mergedAt":null,"number":91403,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix: classify provider empty worker exits","updatedAt":"2026-08-22T19:45:22Z","url":"https://github.com/NousResearch/hermes-agent/pull/91403"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T08:50:30Z","updatedAt":"2026-08-21T08:50:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/91403#pullrequestreview-4991506172","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKzIahQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKzIahQ","summary":"Re-reviewed exact head `fa1b72c0ebbd7a662dc15f11733827e794abf16b` against the two boundary blockers I raised on `7a4c5e0d6943becefa5c7b646f9a2e29d0f98638`. Both are closed.\n\nThe redaction exemption is now bound to explicit method + exact result paths. `_CDP_ALWAYS_BINARY_PATHS` covers the protocol-declared unflagged carriers, including `Network.streamResourceContent.result.bufferedData` and nested `CacheStorage.requestCachedResponse.result.response.body`; `_CDP_FLAGGED_BINARY_PATHS` covers `Network.getResponseBody`, `Fetch.getResponseBody`, `IO.read`, and `Network.getRequestPostData`, and the `base64Encoded` discriminator is consulted only on the carrier object reached through that trusted method/path. Path suffixes are propagated only down matching subtrees, so arbitrary nested JSON cannot mint binary authority by setting `base64Encoded: true`.\n\nThe regression surface now includes the required `Runtime.evaluate` spoof case, unflagged stream content, request post data in both binary/text modes, the nested CacheStorage carrier, and sibling-text redaction alongside the first-review screenshot/PDF/Network/Fetch/IO cases. This pins both halves of the invariant: opaque bytes stay byte-i","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T13:48:02Z","updatedAt":"2026-08-25T13:48:02Z","submittedAt":"2026-08-25T13:48:02Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94142#pullrequestreview-5019671173"},"data":{"createdAt":"2026-08-25T13:48:02Z","occurredAt":"2026-08-25T13:48:02Z","pullRequest":{"createdAt":"2026-08-24T19:19:19Z","id":"PR_kwDOPRF1G88AAAABA2C7SQ","mergedAt":null,"number":94142,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(browser): keep CDP binary payloads byte-identical through redaction","updatedAt":"2026-08-28T11:59:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/94142"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T13:48:02Z","updatedAt":"2026-08-25T13:48:02Z","url":"https://github.com/NousResearch/hermes-agent/pull/94142#pullrequestreview-5019671173","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKzJSxw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKzJSxw","summary":"Final re-review on exact head `2fe476a90cb09b5a87e5d3fcbcafb113ebdd8f9e` after the requested current-main rebase/publication gate.\n\nThe rebased head preserves the reviewed security invariants: ownership is claimed before run-keyed state publication, existing state without provenance fails closed across the five protected surfaces, unknown `/events` ids retain the bounded subscribe-before-registration window, the wait condition re-tests ownership, and owner retention uses the same `_run_state_exists()` definition as visibility. The final fix commit also preserves the #93704 / `@liuhao1024` provenance for the fail-closed unstamped-record invariant.\n\nGitHub now reports the PR open, ready, and mergeable against current `main`; the PR body is refreshed to the 60-case scoping / 85-file-test and 310-vs-250 paired-run receipts rather than the stale counts called out in my prior review. Exact-head hosted authority is fully green: CI `32796280444`, Docker `32796279648`, and Nix `32796279658` all succeeded.\n\nThe code and publication blockers from my prior reviews are closed. The topology disposition remains: #93747 is the canonical vehicle for this defect class; #93704 should not merge indepe","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T13:49:27Z","updatedAt":"2026-08-25T13:49:27Z","submittedAt":"2026-08-25T13:49:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93747#pullrequestreview-5019685575"},"data":{"createdAt":"2026-08-25T13:49:27Z","occurredAt":"2026-08-25T13:49:27Z","pullRequest":{"createdAt":"2026-08-24T09:41:59Z","id":"PR_kwDOPRF1G88AAAABAx1ZVg","mergedAt":null,"number":93747,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): scope run-scoped API routes to the calling profile","updatedAt":"2026-08-25T13:49:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/93747"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T13:49:27Z","updatedAt":"2026-08-25T13:49:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/93747#pullrequestreview-5019685575","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKzNoOQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABKzNoOQ","summary":"Re-reviewed the current exact head `34087e6bd4b29c5aa7e0b8c6ab28fc0c68616c4` against the two remaining classifier failures from my prior review.\n\nBoth code blockers are closed on this head. `map_finish_reason()` now preserves `None` as `None` and unknown provider reasons verbatim instead of converting either to `stop`; `is_normalized_terminal_finish_reason()` positively recognizes only normalized `stop`. Cron settlement checks that terminal predicate before the `[SILENT]` branch, so missing/unknown/`length`/tool-call finality cannot be promoted by the sentinel. The regression surface now crosses raw Chat Completions and Anthropic provider reasons through normalization, real `SessionDB` persistence, and cron tail verification; it also pins `[SILENT]` with missing, `length`, provider-new, and tool-call finality as incomplete, and verifies incomplete settlement reaches delivery suppression, `mark_job_run`, and `finish_execution`.\n\nExact-head hosted authority is green: CI `32754734543`, Docker `32754733285`, and Nix `32754733283` all succeeded. I do not see a remaining manifestation of the #93820 durable-settlement defect in this exact head.\n\nOne publication gate remains because reposi","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T13:56:06Z","updatedAt":"2026-08-25T13:56:06Z","submittedAt":"2026-08-25T13:56:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93946#pullrequestreview-5019756601"},"data":{"createdAt":"2026-08-25T13:56:06Z","occurredAt":"2026-08-25T13:56:06Z","pullRequest":{"createdAt":"2026-08-24T14:38:30Z","id":"PR_kwDOPRF1G88AAAABAz-7fA","mergedAt":null,"number":93946,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(cron): require persisted terminal result before completion","updatedAt":"2026-08-27T14:14:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/93946"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T13:56:06Z","updatedAt":"2026-08-25T13:56:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/93946#pullrequestreview-5019756601","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKZnUFg","kind":"review","label":"PRR_kwDOPRF1G88AAAABKZnUFg","summary":"Reviewed exact head `aeac2114ac516bea698b4845492a8d319c754256` against PR base `d47252547bddc01eb2262ce4e60e2ebd918bfc32` and current `main` `624723130b50b64b291b9c538fae5ba3638abca5`. Current main is 12 commits ahead of the PR base, but none of those intervening changes overlap these five files, so the blockers below are semantic rather than merge-conflict noise.\n\nThe direction is right: server-issued turn IDs, session-scoped lookup, `BEGIN IMMEDIATE` CAS admission, immutable terminal receipt writes, terminal-before-event ordering, and compute-host propagation are all materially better than transport-only inference. I also verified that a random/cross-session ID stays `unknown`, a prepared ID is distinct as `did_not_run`, and duplicate live admission is refused.\n\n## Blocker: this is a receipt fence, not yet the execution fence #91434 requires\n\n`claim_turn()` mints `execution_token`, but that token is consumed only by `turn_receipts.finish_turn()`. It is not consumed by the canonical SessionDB append path, by tool execution, or by any effect journal. The actual conversation/tool effects and the terminal receipt therefore remain separate authorities in separate persistence domains.\n","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T11:47:17Z","updatedAt":"2026-08-21T11:47:17Z","submittedAt":"2026-08-21T11:47:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91475#pullrequestreview-4992914454"},"data":{"createdAt":"2026-08-21T11:47:17Z","occurredAt":"2026-08-21T11:47:17Z","pullRequest":{"createdAt":"2026-08-21T11:21:06Z","id":"PR_kwDOPRF1G88AAAABAirW1w","mergedAt":null,"number":91475,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(protocol): let clients recover turn outcomes after reconnects","updatedAt":"2026-08-22T19:45:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/91475"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T11:47:17Z","updatedAt":"2026-08-21T11:47:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/91475#pullrequestreview-4992914454","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKzpP0Q","kind":"review","label":"PRR_kwDOPRF1G88AAAABKzpP0Q","summary":"Reviewed exact head `08d0aac7b8b67810195e6d72898a1991ffb1bfb2` against current `main` `1bbb6e5bce56e721ab685af4cd87df21bbff4d35`.\n\nThe previous blockers are answered: parent creation and fail-loud initial sync are present; resumed sandboxes now recover committed/write-ahead state before host upload; and command timeouts renew the E2B lease. The corresponding old threads are superseded, although this integration still cannot toggle their resolved state.\n\n**This review remains blocking** on three lifecycle-integrity findings:\n\n1. Command ownership begins after the readiness/sync lock is released, leaving a sibling-cleanup window that can pause/detach the shared sandbox before the command is registered.\n2. Session cleanup and the idle reaper evict the profile-scoped environment before learning that E2B cleanup deferred for an active command. A new caller can then construct a second sync manager against the same live sandbox and race state recovery with the in-flight command.\n3. A successful persistent sandbox creation is orphaned if the local pointer-store write fails before `_create_sandbox()` returns.\n\nThese are the same authority boundary from both sides: one profile-scoped sandbox","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T14:34:32Z","updatedAt":"2026-08-25T14:34:32Z","submittedAt":"2026-08-25T14:34:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/18348#pullrequestreview-5020209105"},"data":{"createdAt":"2026-08-25T14:34:32Z","occurredAt":"2026-08-25T14:34:32Z","pullRequest":{"createdAt":"2026-05-01T10:54:41Z","id":"PR_kwDOPRF1G87XZnI-","mergedAt":null,"number":18348,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(terminal): add E2B cloud sandbox backend","updatedAt":"2026-08-26T01:51:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/18348"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T14:34:32Z","updatedAt":"2026-08-25T14:34:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/18348#pullrequestreview-5020209105","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKZqX3A","kind":"review","label":"PRR_kwDOPRF1G88AAAABKZqX3A","summary":"Thanks for the substantial follow-up here. The two concerns from the earlier review are addressed at `16d4925f88f5d360cb1344a952a2c0b61102b66e`: the isolated-instance spec now preserves the full SSH identity, and the launcher paths scrub ambient provider secrets. The focused Python coverage is also strong.\n\nI found one remaining runtime blocker before I can approve:\n\n### [P1] Reconcile retained routing state before launch\n\n`DesktopInstanceStore.create()` checks only whether `instance.json` exists, while `_seed_connection()` returns without updating an existing `user-data/connection.json`. The default `remove()` path deletes the manifest and launcher artifacts but intentionally retains `userData`. Recreating the same slug for a different SSH row can therefore produce:\n\n```json\n{\n  \"manifest_connection_id\": \"new-row\",\n  \"manifest_host\": \"new.example\",\n  \"seed_connection_id\": \"old-row\",\n  \"seed_host\": \"old.example\"\n}\n```\n\nElectron boots from `connection.json`, and after first boot it preferentially reads the already-generated `connections.json`; neither is reconciled with `instance.json` by `launch()`. The parent shell can consequently validate the new manifest while the isolated shel","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-21T11:54:55Z","updatedAt":"2026-08-21T11:54:55Z","submittedAt":"2026-08-21T11:54:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90118#pullrequestreview-4992964572"},"data":{"createdAt":"2026-08-21T11:54:55Z","occurredAt":"2026-08-21T11:54:55Z","pullRequest":{"createdAt":"2026-08-19T16:14:17Z","id":"PR_kwDOPRF1G88AAAABATn0xw","mergedAt":null,"number":90118,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(desktop): isolated Desktop instances for named SSH shells","updatedAt":"2026-08-31T16:12:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/90118"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-21T11:54:55Z","updatedAt":"2026-08-21T11:54:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/90118#pullrequestreview-4992964572","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABKztHbw","kind":"review","label":"PRR_kwDOPRF1G88AAAABKztHbw","summary":"Re-reviewed the live head `89811ae18567f3b39cd5b1f825be7ed972fbd4ed` after the prior single-authority blocker and Python 3.12 gate.\n\nThe architectural blocker remains closed: `async_delegations` has one canonical durable-shape authority, the async-delegation opener routes through shared schema reconciliation, and the opening-order/full-metadata/index/legacy-row witnesses remain present. The only delta after the previously reviewed `85a4474…` product fix is the focused fd-leak failure-injection repair: the test now intercepts the canonical `executescript(SCHEMA_SQL)` path so a schema-replay failure still proves the connection is closed rather than silently losing coverage after the authority consolidation.\n\nExact-head hosted evidence is now green: CI `32849625469`, Docker `32849624685`, and Nix `32849624557` all succeeded. There are no unresolved inline review threads. I have no remaining code or architecture blocker on this exact head.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-25T14:40:25Z","updatedAt":"2026-08-25T14:40:25Z","submittedAt":"2026-08-25T14:40:25Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94701#pullrequestreview-5020272495"},"data":{"createdAt":"2026-08-25T14:40:25Z","occurredAt":"2026-08-25T14:40:25Z","pullRequest":{"createdAt":"2026-08-25T11:31:46Z","id":"PR_kwDOPRF1G88AAAABA7aqsA","mergedAt":null,"number":94701,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(state): declare origin_session_id in the canonical async_delegations schema","updatedAt":"2026-08-25T14:40:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/94701"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-25T14:40:25Z","updatedAt":"2026-08-25T14:40:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/94701#pullrequestreview-5020272495","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLA_mmg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLA_mmg","summary":"Exact-head closure review of `7fe503c66d89fd40f720e62c4fb73e6f1c8bab0d`.\n\nI re-read the current four-file surface, both prior blocking findings, the live redirect/send path, the 524 semantics, #92494/#94880 interlocks, current-main drift, and exact-head workflow state. I do not see a remaining product-code blocker in this PR.\n\nThe two blockers from `dd2358559…` are closed:\n\n1. `allowed_rpc_origins` now reaches the real task POST. `_send_task()` passes `allowed_origins=allowed` into `_http_post_json()`, and the new end-to-end loopback witness covers both sides: a configured-origin POST may redirect to an explicitly pinned origin with credentials preserved, while an unpinned foreign origin receives zero requests. This closes the stale inline wiring thread.\n2. The unsafe 524 replay contract is gone. `idempotency` and the retry ladder were removed; HTTP 524 becomes `_A2aIndeterminateError`, exactly one send attempt is made, and `a2a_call` tells the caller not to blindly repeat a mutating operation. That matches repository truth: neither current main nor #92494 provides durable original-outcome replay authority. #94880 remains the complementary way to avoid holding a long request open a","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T19:14:09Z","updatedAt":"2026-08-26T19:14:09Z","submittedAt":"2026-08-26T19:14:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86322#pullrequestreview-5034206874"},"data":{"createdAt":"2026-08-26T19:14:09Z","occurredAt":"2026-08-26T19:14:09Z","pullRequest":{"createdAt":"2026-08-14T20:24:22Z","id":"PR_kwDOPRF1G87_SHCw","mergedAt":null,"number":86322,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(a2a): per-peer custom headers and User-Agent with destination-bound credentials","updatedAt":"2026-08-27T15:16:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/86322"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T19:14:09Z","updatedAt":"2026-08-26T19:14:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/86322#pullrequestreview-5034206874","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLaa_cw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLaa_cw","summary":"Reviewed exact head `7b770842188643b44519394cdd34b89f90b462f2` against current `main@66666f6e2eca0ae883195a34c66131985ea7dd06`. This is a one-commit, direct-parent object. I read the full diff, the non-streaming dispatch owner, Bedrock transport normalization, exact-head checks, existing review surface, and the surrounding iteration-limit/Bedrock lineage.\n\nThe mechanism itself is strong. Routing the final summary through `_dispatch_nonstreaming_api_request()` is the right ownership boundary: Bedrock stays on its boto3 path, the summary inherits the current cachePoint-rejection and stale-client recovery, and `tools_for_api=[]` keeps the terminal turn genuinely toolless. The tests have useful teeth rather than just asserting a mock shape: they poison OpenAI-client construction, drive the real `BedrockTransport`/normalizer, check sentinel stripping and system-message conversion, prove `toolConfig` is absent even when tools exist, exercise the empty-first-response retry, and verify the summary is persisted into history.\n\nExact-head hosted acceptance is also clean: [CI 33312094104](https://github.com/NousResearch/hermes-agent/actions/runs/33312094104), [Docker 33312093706](https://githu","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T12:53:52Z","updatedAt":"2026-08-30T12:53:52Z","submittedAt":"2026-08-30T12:53:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98564#pullrequestreview-5060870003"},"data":{"createdAt":"2026-08-30T12:53:52Z","occurredAt":"2026-08-30T12:53:52Z","pullRequest":{"createdAt":"2026-08-30T12:40:00Z","id":"PR_kwDOPRF1G88AAAABBgLrtQ","mergedAt":null,"number":98564,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(bedrock): iteration-limit summary falls through to the OpenAI client on bedrock_converse","updatedAt":"2026-08-30T16:14:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/98564"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T12:53:52Z","updatedAt":"2026-08-30T12:53:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/98564#pullrequestreview-5060870003","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLai32w","kind":"review","label":"PRR_kwDOPRF1G88AAAABLai32w","summary":"Reviewed exact head `698faaa8c22dd7488f2b19809670e350e7cfd334` against exact current `main@66666f6e2eca0ae883195a34c66131985ea7dd06`. This is one commit directly on current main (`1 ahead / 0 behind`), and exact-head CI `33314107595`, Docker `33314107260`, and Nix `33314107275` are green; contributor attribution is green as well. There were no prior submitted reviews on this head.\n\nThe sequential handoff bug is real, and the new `hermes_home_key()` + explicit `terminal_config_owned_env_vars()` ownership is a cleaner bridge implementation than the old one-shot. I do have one security blocker before this can be treated as closing the sandbox-isolation class.\n\n### P1 — the lock serializes the *rewrite*, not the profile-scoped read, so concurrent turns can still cross backends\n\n`_terminal_config_bridge_lock` only covers `_ensure_terminal_env_bridged()`. The consumers then read the shared process environment **after the lock has been released**. In this exact head, `_get_env_config()` does:\n\n```py\n_ensure_terminal_env_bridged()\nenv_type = os.getenv(\"TERMINAL_ENV\", \"local\")\nmount_docker_cwd = os.getenv(\"TERMINAL_DOCKER_MOUNT_CWD_TO_WORKSPACE\", ...)\n```\n\nand `_session_isolation_enabled()`","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T13:58:04Z","updatedAt":"2026-08-30T13:58:04Z","submittedAt":"2026-08-30T13:58:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98589#pullrequestreview-5060999131"},"data":{"createdAt":"2026-08-30T13:58:04Z","occurredAt":"2026-08-30T13:58:04Z","pullRequest":{"createdAt":"2026-08-30T13:24:42Z","id":"PR_kwDOPRF1G88AAAABBgUeuw","mergedAt":null,"number":98589,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(tools): re-bridge terminal env per profile home, not once per process","updatedAt":"2026-08-30T13:59:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/98589"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T13:58:04Z","updatedAt":"2026-08-30T13:58:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/98589#pullrequestreview-5060999131","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLaKC3A","kind":"review","label":"PRR_kwDOPRF1G88AAAABLaKC3A","summary":"Reviewed exact head `1712e888d504a3fc74e945e3d144b74955d4f65d` against base/current `main@2a598aad1c398e95b3325a0f100f5c28efa63d12` (the PR is exactly one commit on current main). I traced the current `check_all_command_guards()` control flow, the cron ContextVar/env fallback, the full cron deny/Tirith/fail-closed branch, the existing gateway-context cron exclusion, the new regression, exact-head workflow state, and the older approval-routing lineage.\n\nThe **mechanical direction is correct**: a bound cron execution is the qualified task-local fact; process-wide `HERMES_INTERACTIVE` / `HERMES_EXEC_ASK` / `HERMES_GATEWAY_SESSION` markers are properties of the long-lived host, not authority for this unattended fire. Clearing the three derived booleans before entering the existing `cron_mode` branch is a clean way to make the qualified execution context dominate ambient host state. I do not see a correctness defect in that 12-line routing change itself.\n\nI do see three landing blockers around ownership, proof, and exact-object acceptance.\n\n### P1 — this is already implemented by an open canonical lineage, with the same production hunk\n\nThe live issue for this exact defect is **#83626**","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T10:54:37Z","updatedAt":"2026-08-30T10:54:37Z","submittedAt":"2026-08-30T10:54:37Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98483#pullrequestreview-5060592348"},"data":{"createdAt":"2026-08-30T10:54:37Z","occurredAt":"2026-08-30T10:54:37Z","pullRequest":{"createdAt":"2026-08-30T09:46:19Z","id":"PR_kwDOPRF1G88AAAABBfq5vw","mergedAt":null,"number":98483,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(approvals): let cron_mode govern gateway-hosted cron fires","updatedAt":"2026-08-30T10:54:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/98483"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T10:54:37Z","updatedAt":"2026-08-30T10:54:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/98483#pullrequestreview-5060592348","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLanKiQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLanKiQ","summary":"Re-reviewed exact head `e33c124e9e76cfb7c1fc57c2e4d7eb33d1a27c76` against current `main@dce2ecb8a9428aedf69e959bd15d7a9fa15eae01`.\n\nThe original three P1s are resolved on this object: centralized auxiliary direct-deny witnesses now prove zero provider calls; `None` is consumed as no opinion; and every non-`None` result is fully validated before precedence. Policy resolution and the adjacent tool fail-closed semantics now live behind `hermes_cli/model_call_policy.py`, and the contributor mapping is present.\n\nOne P1 remains at the concrete auxiliary provider-attempt boundary; see the inline finding. Until every actual provider dispatch reacquires policy, the advertised fail-closed per-attempt contract is not true.\n\nExact-head hosted acceptance is also still absent: [CI 33316390291](https://github.com/NousResearch/hermes-agent/actions/runs/33316390291), [Docker 33316389929](https://github.com/NousResearch/hermes-agent/actions/runs/33316389929), and [Nix 33316389986](https://github.com/NousResearch/hermes-agent/actions/runs/33316389986) are each `action_required` with zero jobs. The reported local suites are useful development evidence, but they are not an exact-head hosted acceptance ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T14:32:23Z","updatedAt":"2026-08-30T14:32:23Z","submittedAt":"2026-08-30T14:32:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97168#pullrequestreview-5061069449"},"data":{"createdAt":"2026-08-30T14:32:23Z","occurredAt":"2026-08-30T14:32:23Z","pullRequest":{"createdAt":"2026-08-28T13:07:12Z","id":"PR_kwDOPRF1G88AAAABBVzifA","mergedAt":null,"number":97168,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(plugins): add fail-closed model call policy","updatedAt":"2026-08-30T14:32:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/97168"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T14:32:23Z","updatedAt":"2026-08-30T14:32:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/97168#pullrequestreview-5061069449","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLaQnsw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLaQnsw","summary":"Re-reviewed exact head `49925ef2eee1fde38e5946a92936593c01ff27c3` against its recorded base `a72c9ca248a051b8c7e8a69ff422c7be5066cdc4` and current `main` at inspection, `2a598aad1c398e95b3325a0f100f5c28efa63d12`.\n\n**Disposition: the prior semantic blocker is resolved. Merge is now blocked on current-main composition and proof.**\n\n### Semantic correction verified\n\nThe compatibility contract is now right and consistently represented in code, tests, and both documentation copies:\n\n- legacy `agentic -> advanced`;\n- legacy `one-shot -> basic`;\n- legacy `fast -> basic`;\n- unset/invalid -> `advanced`;\n- native `basic` / `advanced` / `turbo` pass through;\n- only explicit `v1-fast` emits the new v1 `fast` mode.\n\nThe keyed transport also uses the intended GA surfaces: `Parallel.search()` and `AsyncParallel.extract()`, with `advanced_settings.max_results` and `advanced_settings.full_content`. The focused suite covers the full mode table, normalized search/extract shapes, and a real 1.3.0 SDK `MockTransport` witness for `/v1/search`. The August 29 live paid-path probe independently confirms that this exact head reaches `/v1/search` and returns normalized Hermes results in `turbo` mode; that pr","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T11:35:32Z","updatedAt":"2026-08-30T11:35:32Z","submittedAt":"2026-08-30T11:35:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89766#pullrequestreview-5060700083"},"data":{"createdAt":"2026-08-30T11:35:32Z","occurredAt":"2026-08-30T11:35:32Z","pullRequest":{"createdAt":"2026-08-19T05:13:03Z","id":"PR_kwDOPRF1G88AAAABAPGdOw","mergedAt":null,"number":89766,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(web): restore keyed Parallel v1 API","updatedAt":"2026-08-31T11:41:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/89766"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T11:35:32Z","updatedAt":"2026-08-30T11:35:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/89766#pullrequestreview-5060700083","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLaqVVA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLaqVVA","summary":"I like the core diagnosis here. The important correction is not “API server has a session id”; it is “this exact request has a return address the originating client can actually resume.” Capturing that provenance before child construction and preserving the existing synchronous fallback is the right direction for #98619.\n\nI reviewed exact head `09e842ef6cef5ea25efb6d4ab0ced54f4d4cfc5f`, the full five-file diff, both streaming/non-streaming API-server call sites, the central session-context lifetime, the background delegation wake gate, the new regressions, #98619, current-main ancestry, exact-head CI, and the adjacent async-delivery work. I found two landing blockers and one provenance/credit gate.\n\n### P1 — the new provenance primitive is still default-allow at the central binding boundary\n\n`gateway/session_context.py:256` adds:\n\n```py\nwake_capable: str = \"1\"\n```\n\nand `set_session_vars()` always commits that value into `_SESSION_WAKE_CAPABLE`. That contradicts the contract immediately above it, which says `_UNSET` means the binding never declared wake capability and readers should fail closed.\n\nThis matters beyond the two API-server call sites fixed in this PR. A capability/proven","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T14:51:40Z","updatedAt":"2026-08-30T14:51:40Z","submittedAt":"2026-08-30T14:51:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98630#pullrequestreview-5061121364"},"data":{"createdAt":"2026-08-30T14:51:40Z","occurredAt":"2026-08-30T14:51:40Z","pullRequest":{"createdAt":"2026-08-30T14:38:51Z","id":"PR_kwDOPRF1G88AAAABBgkBOw","mergedAt":null,"number":98630,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): require wake-capable session provenance for background delegate_task","updatedAt":"2026-08-30T14:51:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/98630"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T14:51:40Z","updatedAt":"2026-08-30T14:51:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/98630#pullrequestreview-5061121364","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLaUGYg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLaUGYg","summary":"Reviewed exact head `287fd8083e938855fda02b8c0b0c422e4a2caaaf`. The subprocess lifecycle work is careful — especially the warm-up-before-init protocol, process-identity check on reader EOF, callback rebinding for the warm registry, resume rotation only on explicit CLI rejection, and the real-pipe fake-CLI harness. I would not land this head yet, though. There are two architecture blockers, one functional gap, and no hosted acceptance on the reviewed object.\n\n## P1 — the native Claude tool surface bypasses Hermes' safety + secret boundary\n\nThe normal `auto` path is materially less constrained than Hermes' existing tool path:\n\n- `resolve_permission(\"auto\")` returns `acceptEdits` with `Bash`, `Read`, `Write`, `Edit`, `MultiEdit`, `NotebookEdit`, `Task`, etc. in `_AUTO_MODE_ALLOWED_TOOLS`; `_build_command()` forwards them in `--allowedTools`. `test_permission_mapping` and `test_mcp_config_flag_and_allowlist` explicitly pin `Bash` as pre-approved.\n- `build_child_env()` intentionally starts from `hermes_subprocess_env(inherit_credentials=True)` because the nested Hermes MCP server needs provider credentials, and then adds the long-lived `CLAUDE_CODE_OAUTH_TOKEN`. The source correctly not","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T11:59:16Z","updatedAt":"2026-08-30T11:59:16Z","submittedAt":"2026-08-30T11:59:16Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98533#pullrequestreview-5060757090"},"data":{"createdAt":"2026-08-30T11:59:16Z","occurredAt":"2026-08-30T11:59:16Z","pullRequest":{"createdAt":"2026-08-30T11:39:57Z","id":"PR_kwDOPRF1G88AAAABBf_q6g","mergedAt":null,"number":98533,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat: claude-code-cli provider — Claude subscription via the Claude Code CLI with real tool calls","updatedAt":"2026-08-30T12:54:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/98533"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T11:59:16Z","updatedAt":"2026-08-30T11:59:16Z","url":"https://github.com/NousResearch/hermes-agent/pull/98533#pullrequestreview-5060757090","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLAWi4Q","kind":"review","label":"PRR_kwDOPRF1G88AAAABLAWi4Q","summary":"Re-review of exact head `c2cf7a48f3f53ccea8ecd7894892b86378e84a9b`.\n\nTwo blockers remain on the submitted object:\n\n1. **The PR still claims a shell-injection property the implementation deliberately does not provide.** The body’s acceptance example says `command: \"echo hello; id\"` must run argv-first and `id` must not execute. On this head `command_needs_shell()` classifies an unquoted `;` as shell syntax and `run_configured_command()` passes the entire string to `subprocess.run(..., shell=True)`. `tests/hermes_cli/test_subprocess_compat_shell.py` explicitly asserts that exact policy. The Windows launcher repair is good, but it does not close this security-contract mismatch. Either narrow the claim to trusted operator-authored shell programs / argv-first hardening, or move untrusted/composed arguments into a structured executable+argv contract with an explicit shell mode and add the advertised exploit regression.\n\n2. **Signed-link minting fails open to the raw session-token URL on arbitrary modern-gateway failure.** `mediaExternalLink()` correctly binds minting to the active gateway origin now, but its catch path returns `mediaExternalUrl(path)`, which reconstructs `/api/files/down","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T17:56:51Z","updatedAt":"2026-08-26T17:56:51Z","submittedAt":"2026-08-26T17:56:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94850#pullrequestreview-5033534177"},"data":{"createdAt":"2026-08-26T17:56:51Z","occurredAt":"2026-08-26T17:56:51Z","pullRequest":{"createdAt":"2026-08-25T15:42:33Z","id":"PR_kwDOPRF1G88AAAABA9XXJg","mergedAt":null,"number":94850,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Fix shell injection in quick commands + SSL verify scope + CSP headers","updatedAt":"2026-08-26T17:56:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/94850"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T17:56:51Z","updatedAt":"2026-08-26T17:56:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/94850#pullrequestreview-5033534177","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLawMeQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLawMeQ","summary":"Exact-head re-review on `cf2279a4625d90e682153496afe9767d9d8a7572`.\n\nThe new commit improves the adapter-internal bookkeeping: `settlement_indeterminate` no longer sets `StreamTurn.finalized = True`. It still does **not** propagate an indeterminate terminal outcome through the real public caller boundary.\n\n### P0 — the adapter returns ordinary success, so the consumer still certifies indeterminate delivery\n\nOn the indeterminate branch, `_send_stream_frame_inner()` now sets `turn.settlement = \"indeterminate\"`, immediately removes that turn from `_stream_turns`, and still returns `True`. The new regression suite explicitly pins that `True` means “frame handled, do not fall back.” The only object carrying the indeterminate state is therefore retired before any caller can use it.\n\nThe actual consumer makes the mismatch decisive. In `GatewayStreamConsumer._send_or_edit()`, a finalize frame is marked delivered optimistically before `send_stream_frame()`, then **any truthy `ok`** sets `_final_response_sent = True` and `_final_content_delivered = True` and returns success. So this exact trace remains:\n\n`final fence becomes indeterminate → adapter stores state on soon-to-be-retired turn → a","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T15:39:33Z","updatedAt":"2026-08-30T15:39:33Z","submittedAt":"2026-08-30T15:39:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96942#pullrequestreview-5061217401"},"data":{"createdAt":"2026-08-30T15:39:33Z","occurredAt":"2026-08-30T15:39:33Z","pullRequest":{"createdAt":"2026-08-28T06:51:33Z","id":"PR_kwDOPRF1G88AAAABBTZkug","mergedAt":null,"number":96942,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(wecom): tool-timer animation in native stream bubble","updatedAt":"2026-08-31T02:53:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/96942"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T15:39:33Z","updatedAt":"2026-08-30T15:39:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/96942#pullrequestreview-5061217401","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLb1mJw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLb1mJw","summary":"Current-head re-review on `e6fe0f7fc5c1540e5cf14ee6a76b9cb65ea20486`, cross-checked against current `main@4f22543509d1b91dc45bcb369447126c5eb14fb7` and the #97905/#97961 execution path.\n\nThe ownership direction is right: cache identity must include the active profile/timezone source rather than freezing one process-global timezone. But this exact implementation still has a concurrency correctness hole in the cache transaction, and #97905's async multiplex completion shape makes it executable.\n\n### P1 — identity and value are published through separate unsynchronized globals\n\n`get_timezone()` computes `cache_identity` from the caller's context, then mutates `_cached_tz_name`, `_cached_tz`, `_cache_identity`, and `_cache_resolved` as four separate process-global writes. Two profile-scoped threads can interleave those writes and publish a mixed tuple.\n\nConcrete interleaving:\n\n1. profile A enters, computes identity A, assigns `_cached_tz_name = A_name`;\n2. profile B enters, computes identity B, assigns B name/zone/identity and returns;\n3. A resumes and evaluates `_get_zoneinfo(_cached_tz_name)` after B overwrote that global, so A can compute B's zone and then publish `_cache_identity =","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T00:40:52Z","updatedAt":"2026-08-31T00:40:52Z","submittedAt":"2026-08-31T00:40:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92489#pullrequestreview-5062354471"},"data":{"createdAt":"2026-08-31T00:40:52Z","occurredAt":"2026-08-31T00:40:52Z","pullRequest":{"createdAt":"2026-08-22T19:56:08Z","id":"PR_kwDOPRF1G88AAAABAqkMvQ","mergedAt":null,"number":92489,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(timezone): isolate cache by active profile","updatedAt":"2026-08-31T15:34:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/92489"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T00:40:52Z","updatedAt":"2026-08-31T00:40:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/92489#pullrequestreview-5062354471","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLb2qnQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLb2qnQ","summary":"Reviewed exact head `50af9a731e540bb5c89573c94ad3080b05dc3c6c` against its parent/current `main` `4f22543509d1b91dc45bcb369447126c5eb14fb7`. This is a clean one-commit branch, 7 changed files, with no earlier review/comment on this head. The direction is good: releasing a failed direct-delivery id before returning 502 is the right retry shape, and binding a callback signature to freshness + delivery identity is the right security goal. I do have two blocking boundary problems before this should land.\n\n### P1 — the A2A hardening silently redefines the existing `X-A2A-Signature` wire contract\n\nAt current main, the public A2A contract is body-HMAC under `X-A2A-Signature`:\n\n- `plugins/platforms/a2a/README.md` documents push callbacks as HMAC-SHA256 signed via `X-A2A-Signature`.\n- `plugins/platforms/a2a/DESIGN.md` says the callback gets the v1.0 `StreamResponse` plus that signature.\n- the existing live callback test in `tests/plugins/test_a2a_plugin.py` independently computes `HMAC(secret, json.dumps(payload, sort_keys=True, ensure_ascii=False))` and requires it to equal `X-A2A-Signature`.\n\nThis head changes the production sender in `plugins/platforms/a2a/adapter.py:1202+` to always cal","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T00:47:32Z","updatedAt":"2026-08-31T00:47:32Z","submittedAt":"2026-08-31T00:47:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98937#pullrequestreview-5062371997"},"data":{"createdAt":"2026-08-31T00:47:32Z","occurredAt":"2026-08-31T00:47:32Z","pullRequest":{"createdAt":"2026-08-31T00:00:20Z","id":"PR_kwDOPRF1G88AAAABBiWzOQ","mergedAt":null,"number":98937,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(a2a): harden replay retry and profile isolation","updatedAt":"2026-08-31T01:37:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/98937"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T00:47:32Z","updatedAt":"2026-08-31T00:47:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/98937#pullrequestreview-5062371997","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLB61KQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLB61KQ","summary":"## Re-review — code is correct; current merge object and closure record are not\n\nRe-reviewed exact head [`633d4fc9`](https://github.com/NousResearch/hermes-agent/commit/633d4fc9cf25abd3c46bedae3d73039aa0a3ac19) after the body update, against current [`main@68518c1f`](https://github.com/NousResearch/hermes-agent/commit/68518c1f9bca11d9f5dbdf59ecf7e024cce057ba), both changed files, the `tools/call`/watcher consumers, both branch commits, hosted checks, and the live duplicate graph.\n\nThe prior eight-test/provenance body gate is substantially closed. The implementation remains the correct canonical repair: `True` only when every tracked child is known dead; live/unknown/no-PID/HTTP returns `False`; the watcher stays pending while any child is live. Current `main` still carries the inverted live-PID return, so this fix remains necessary.\n\n### Blocking — the green object is 171 commits behind current `main`\n\nThe live comparison is **2 ahead / 171 behind**, merge base [`1fe0f2f3`](https://github.com/NousResearch/hermes-agent/commit/1fe0f2f3ac9748ce799272eb93bee2937b5ab802). GitHub’s merge ref is still [`dc32e69e`](https://github.com/NousResearch/hermes-agent/commit/dc32e69ee19cd141a4994e7","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T21:20:51Z","updatedAt":"2026-08-26T21:20:51Z","submittedAt":"2026-08-26T21:20:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94339#pullrequestreview-5035177257"},"data":{"createdAt":"2026-08-26T21:20:51Z","occurredAt":"2026-08-26T21:20:51Z","pullRequest":{"createdAt":"2026-08-25T01:34:13Z","id":"PR_kwDOPRF1G88AAAABA4EjdA","mergedAt":"2026-08-27T08:38:20Z","number":94339,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(mcp): un-invert the stdio children liveness check","updatedAt":"2026-08-27T15:56:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/94339"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T21:20:51Z","updatedAt":"2026-08-26T21:20:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/94339#pullrequestreview-5035177257","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLbAa9g","kind":"review","label":"PRR_kwDOPRF1G88AAAABLbAa9g","summary":"Reviewed exact head `fc76fb1eff5ababad9772eb1d07fe0a9f2aa136e` against the durable-write boundary, the existing marker-skip contract, current `main@4f22543509d1b91dc45bcb369447126c5eb14fb7`, and the regression witnesses.\n\nThe fix is at the right settlement boundary: `_DB_PERSISTED_MARKER` is stamped only after `archive_and_compact()` returns successfully, so failed commits do not acquire false durability state. That makes the live compacted dicts proof-carrying before the next append-only flush while preserving the existing rollback behavior. The regression covers the actual production composition—pre-compaction `conversation_history` plus post-compaction live `compressed` messages—and proves the flush cannot reinsert the committed active set.\n\nCurrent-main cross-check is clean: the PR is one commit / two files, mergeable, and the 29 main-only commits since merge base do not touch either submitted path. Every surviving commit is green because there is exactly one: CI `33302615872`, Docker `33302615515`, and Nix `33302615527` all completed successfully on this exact SHA.\n\nNo blocking finding from this review.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T17:41:41Z","updatedAt":"2026-08-30T17:41:41Z","submittedAt":"2026-08-30T17:41:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98458#pullrequestreview-5061483254"},"data":{"createdAt":"2026-08-30T17:41:41Z","occurredAt":"2026-08-30T17:41:40Z","pullRequest":{"createdAt":"2026-08-30T08:51:27Z","id":"PR_kwDOPRF1G88AAAABBfhrsg","mergedAt":null,"number":98458,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(compression): stamp _DB_PERSISTED_MARKER after in-place batch commit","updatedAt":"2026-08-31T02:53:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/98458"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T17:41:40Z","updatedAt":"2026-08-30T17:41:41Z","url":"https://github.com/NousResearch/hermes-agent/pull/98458#pullrequestreview-5061483254","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLbCMrg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLbCMrg","summary":"The route-vs-platform diagnosis is the right direction: `/v1/runs` really does own an authenticated approval resolver from #21899, while `/v1/responses`, `/v1/chat/completions`, webhook, and msgraph_webhook still need the fail-closed listener-less behavior introduced by #98558. The exact submitted object is also cleanly reviewable: one commit (`e437762f937cca94d944db1b71d48abeffc51eaf`) directly on current `main@4f22543509d1b91dc45bcb369447126c5eb14fb7`, with exact-head CI `33325459566`, Docker `33325458914`, and Nix `33325458881` all green.\n\nI do have one runtime blocker and one ownership/merge gate before this is safe to land.\n\n### P1 — `_gateway_notify_cbs` proves an egress notifier exists, not that an approval can be resolved\n\nThe new predicate in `tools/approval.py::_is_unattended_platform_approval_context()` makes this equivalence:\n\n```py\nsession_key in _gateway_notify_cbs\n    => session has a resolvable approval transport\n    => session is not unattended\n```\n\nThat equivalence is false in the current gateway architecture.\n\nOn current `main`, the ordinary platform turn path in `gateway/run.py` unconditionally does this around `agent.run_conversation(...)`:\n\n```py\n_approval_ses","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T17:56:09Z","updatedAt":"2026-08-30T17:56:09Z","submittedAt":"2026-08-30T17:56:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98735#pullrequestreview-5061512366"},"data":{"createdAt":"2026-08-30T17:56:09Z","occurredAt":"2026-08-30T17:56:09Z","pullRequest":{"createdAt":"2026-08-30T17:30:41Z","id":"PR_kwDOPRF1G88AAAABBhJhZg","mergedAt":null,"number":98735,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(approval): make unattended exclusion transport-scoped so /v1/runs approval works","updatedAt":"2026-08-30T17:56:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/98735"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T17:56:09Z","updatedAt":"2026-08-30T17:56:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/98735#pullrequestreview-5061512366","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLbeGUQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLbeGUQ","summary":"The in-transaction pre-publication lease refresh is a useful narrow repair. The timeout reconciliation is not a valid fix for #97948 yet.\n\n### Blocker — RC1 queries `state.db` with the runtime UI id, not the persisted session id\n\n`session.create` deliberately allocates two identities: the RPC/runtime `sid` and a separate durable `key`, then stores the latter in `session[\"session_key\"]`:\n\n```py\nsid = uuid.uuid4().hex[:8]\nkey = _new_session_key()\n...\n\"session_key\": key,\n```\n\nThis branch calls:\n\n```py\nreconciled = _reconcile_compression_after_timeout(sid)\n```\n\nand `_reconcile_compression_after_timeout()` uses that value directly in `find_live_compression_child()` / `get_session()`. Those APIs address persisted session rows, so production reconciliation looks for the runtime `sid` instead of `session[\"session_key\"]` / `agent.session_id`.\n\nThe tests encode the same mismatch rather than exposing it: `_make_session()` carries `session_key=\"sess-compress\"`, while `test_session_compress_rpc_reconciles_after_timeout` creates `sid=\"sid-timeout-reconcile\"` and seeds the mock DB under that `sid`. A real-DB integration test with distinct runtime and stored ids should fail this branch.\n\n### Block","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T21:43:36Z","updatedAt":"2026-08-30T21:43:36Z","submittedAt":"2026-08-30T21:43:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98137#pullrequestreview-5061969489"},"data":{"createdAt":"2026-08-30T21:43:36Z","occurredAt":"2026-08-30T21:43:36Z","pullRequest":{"createdAt":"2026-08-29T20:25:50Z","id":"PR_kwDOPRF1G88AAAABBdr1Jw","mergedAt":null,"number":98137,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(compression): harden lease refresh and failure backoff","updatedAt":"2026-08-31T06:33:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/98137"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T21:43:36Z","updatedAt":"2026-08-30T21:43:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/98137#pullrequestreview-5061969489","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLbempg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLbempg","summary":"This is a serious, thoughtfully built security slice. The strongest parts are concrete: `cron_mode: smart` is default-off, `DENY`/`ESCALATE`/review failure all settle to block, approval caches are deliberately bypassed for cron-smart, plugin approval is bound to the post-`modify` effective arguments with a consume-once receipt, and approved `execute_code` cells are forced away from persistent local/remote interpreter state. The new tests also exercise the right adversarial shapes: prompt injection, redaction failure, oversized payloads, cache bypass, plugin argument mutation, concurrent receipt consumption, and two-cell hidden-state reuse.\n\nI reviewed exact head `2ba75f152e106134dc3783a48bb013b22e381d03`. It is a single commit whose parent is the current `main@4f22543509d1b91dc45bcb369447126c5eb14fb7`, so there is no base drift to hide behind here. There were no existing review submissions or comments on this head when I started. I do have several landing blockers before I think this should become the new approval authority.\n\n### P1 — the implementation makes a new security authority materially larger inside four files that are already beyond the bounded-owner ceiling\n\nThis is not ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T21:47:46Z","updatedAt":"2026-08-30T21:47:46Z","submittedAt":"2026-08-30T21:47:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98873#pullrequestreview-5061977766"},"data":{"createdAt":"2026-08-30T21:47:46Z","occurredAt":"2026-08-30T21:47:46Z","pullRequest":{"createdAt":"2026-08-30T21:37:14Z","id":"PR_kwDOPRF1G88AAAABBh8HNA","mergedAt":null,"number":98873,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(approvals): add fail-closed smart cron mode","updatedAt":"2026-08-31T14:40:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/98873"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T21:47:46Z","updatedAt":"2026-08-30T21:47:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/98873#pullrequestreview-5061977766","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLbH-WQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLbH-WQ","summary":"Re-review of exact head `934469b83e4f1864002ea28e1aaa393327d03e97` against exact base `4f22543509d1b91dc45bcb369447126c5eb14fb7`.\n\nThe previous exact-capacity bypass, repeated fatal-capacity waits, weak loop/token registry retention, state-machine extraction, and commit-author provenance defects are materially addressed. This head is still not ready to land.\n\n## [P1] The retry ladder reattaches the descendants that retirement just closed\n\n`connect()` constructs one `ApplicationBuilder`, one general `HTTPXRequest`, one polling `HTTPXRequest`, and—in the fallback-IP branch—two concrete `TelegramFallbackTransport` instances, then builds generation A from them. After A is fully retired, the retry path creates B with the same `builder.build()` call rather than constructing a new PTB graph:\n\n- [builder/request/transport construction](https://github.com/NousResearch/hermes-agent/blob/934469b83e4f1864002ea28e1aaa393327d03e97/plugins/platforms/telegram/adapter.py#L4568-L4778)\n- [builder reuse after retirement](https://github.com/NousResearch/hermes-agent/blob/934469b83e4f1864002ea28e1aaa393327d03e97/plugins/platforms/telegram/adapter.py#L4873-L4897)\n\nThat is not a fresh generation under PTB","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T18:41:41Z","updatedAt":"2026-08-30T18:41:41Z","submittedAt":"2026-08-30T18:41:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98641#pullrequestreview-5061607001"},"data":{"createdAt":"2026-08-30T18:41:41Z","occurredAt":"2026-08-30T18:41:41Z","pullRequest":{"createdAt":"2026-08-30T14:55:32Z","id":"PR_kwDOPRF1G88AAAABBgnx0g","mergedAt":null,"number":98641,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(telegram): retain retired generations until cleanup completes","updatedAt":"2026-08-30T18:41:41Z","url":"https://github.com/NousResearch/hermes-agent/pull/98641"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T18:41:41Z","updatedAt":"2026-08-30T18:41:41Z","url":"https://github.com/NousResearch/hermes-agent/pull/98641#pullrequestreview-5061607001","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLbhr2A","kind":"review","label":"PRR_kwDOPRF1G88AAAABLbhr2A","summary":"Reviewed exact head `31c3497c577962f33117a73d727448b04434d90f` against `main@4f22543509d1b91dc45bcb369447126c5eb14fb7`, the full four-file diff, all four branch commits, the live #98831 closure object, overlapping #97217 topology, and exact-head Actions state.\n\nThis head does resolve several prior findings: the PR now states the honest trusted-operator boundary instead of claiming hostile-config safety; both documentation files are restored to current-main content with narrow `key_cmd` edits; POSIX `busybox` is covered; and the new hardening classes now have checked-in parser cases. Those are substantive corrections. The final landing object still has blockers.\n\n### Blocker — #98831 was not actually reframed, so this PR would close an unfixed P0 claim\n\nThe PR body now correctly says that a writer controlling `key_cmd` still has arbitrary executable authority and that hostile-config safety requires an externally anchored allowlist/capability. But the live issue this PR says `Fixes` — [#98831](https://github.com/NousResearch/hermes-agent/issues/98831) — still says:\n\n- title: **`[P0] ... RCE`**;\n- adversary: any compromised plugin/skill/MCP path able to write `config.yaml`;\n- fix: the","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T22:13:04Z","updatedAt":"2026-08-30T22:13:04Z","submittedAt":"2026-08-30T22:13:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98837#pullrequestreview-5062028248"},"data":{"createdAt":"2026-08-30T22:13:04Z","occurredAt":"2026-08-30T22:13:04Z","pullRequest":{"createdAt":"2026-08-30T20:32:17Z","id":"PR_kwDOPRF1G88AAAABBhvCVA","mergedAt":null,"number":98837,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(security): harden key_cmd argv — trusted-operator hardening beyond 97217 (Fixes #98831, tracks #98910)","updatedAt":"2026-08-30T22:50:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/98837"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T22:13:04Z","updatedAt":"2026-08-30T22:13:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/98837#pullrequestreview-5062028248","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLbJZkA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLbJZkA","summary":"Reviewed exact head `8b626919af81966578a8a1a1bec2d00da8eab701` against live `main@4f22543509d1b91dc45bcb369447126c5eb14fb7`, the full three-file diff, current skill preprocessing/config defaults, existing prompt-builder tests/callers, exact-head workflows, and the adjacent trigger work in #98768 / lineage from #23963.\n\nThe underlying capability is useful, and `${HERMES_HOME}` substitution is a clean independent addition. The `onload` execution path is not safe to land in its current shape yet. I see four concrete blockers:\n\n### P1 — `onload:` bypasses the existing executable-skill trust gate and inherits the entire Hermes process environment\n\nCurrent `main` deliberately defaults `skills.inline_shell` to `false`, with the explicit rationale that skill-author content otherwise “runs on the host without approval” and should only be enabled for trusted skill sources. This head introduces a second skill-authored code-execution path, but `system_prompt.py` calls `run_onload_script()` for every visible skill carrying `onload:` with no config/provenance/trust check at all. `run_onload_script()` then starts from `os.environ.copy()` and adds only `HERMES_MODEL` / `HERMES_PROVIDER`, so the ch","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T18:52:51Z","updatedAt":"2026-08-30T18:52:51Z","submittedAt":"2026-08-30T18:52:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98718#pullrequestreview-5061630352"},"data":{"createdAt":"2026-08-30T18:52:51Z","occurredAt":"2026-08-30T18:52:51Z","pullRequest":{"createdAt":"2026-08-30T16:45:57Z","id":"PR_kwDOPRF1G88AAAABBhAFdw","mergedAt":null,"number":98718,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(skills): add onload hook and HERMES_HOME template var for environment-triggered skill loading","updatedAt":"2026-08-30T19:13:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/98718"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T18:52:51Z","updatedAt":"2026-08-30T18:52:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/98718#pullrequestreview-5061630352","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLbmZoQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLbmZoQ","summary":"Reviewed exact head `f958a78a0d76f57949eee37bf44a251b2d9c3e41` against current `main@4f22543509d1b91dc45bcb369447126c5eb14fb7`. The fail-closed intent and the instinct to move protection earlier than individual formatters are both useful. I do not think this head closes the claimed process-wide boundary yet, though, and there is existing defect-class work that this needs to converge with rather than bypass.\n\n### P1 — the root `Filter` is not actually a global child-logger boundary, and the remaining factory path still leaks\n\nA `Filter` attached to the root **logger** is not invoked for records emitted by descendant loggers and propagated to root handlers. Ancestor handlers are traversed by `Logger.callHandlers`; ancestor logger filters are not re-run. I verified the stdlib behavior directly: a filter installed only on `logging.getLogger()` saw zero calls for a `logging.getLogger(\"child.test\").warning(...)` record while the root handler emitted it.\n\nThat makes the new record factory the effective protection for ordinary `agent.*`, `gateway.*`, `tools.*`, `uvicorn.*`, etc. records. On this head, that factory only sanitizes string `msg` plus string values in tuple/dict `args`. It does","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T22:51:53Z","updatedAt":"2026-08-30T22:51:53Z","submittedAt":"2026-08-30T22:51:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98880#pullrequestreview-5062105505"},"data":{"createdAt":"2026-08-30T22:51:53Z","occurredAt":"2026-08-30T22:51:53Z","pullRequest":{"createdAt":"2026-08-30T21:58:11Z","id":"PR_kwDOPRF1G88AAAABBiAGfA","mergedAt":null,"number":98880,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(logging): global secret redaction  stronger than formatter-only","updatedAt":"2026-08-31T15:28:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/98880"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T22:51:53Z","updatedAt":"2026-08-30T22:51:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/98880#pullrequestreview-5062105505","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLbn4YQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLbn4YQ","summary":"Re-review on exact head `a182c14916ef239e44006c7d242661b56090a538`.\n\nThis is still not merge-ready. The prior lifecycle blocker remains unchanged, and the exact-head CI result is materially red.\n\n## Blocker — profile-local `/reload-mcp` still tears down sibling profiles\n\nAt this head, `tui_gateway/methods_tools.py::_do_full_reload()` still performs:\n\n```py\nshutdown_mcp_servers()\ndiscover_mcp_tools()\n...\n_refresh_session_agent()\n```\n\nThis PR deliberately makes `shutdown_mcp_servers()` traverse and clear **all** scoped MCP clients, registrations, trust/runtime state, and the process-shared loop. `_do_full_reload()` then rediscoveries only under the invoking profile context and refreshes only the invoking session's cached agent.\n\nSo a reload from profile A can still destroy profile B's MCP runtime and registry entries while leaving B's agent snapshot stale. `methods_tools.py` is not changed by this head, and there is still no real two-profile reload regression covering this ownership boundary.\n\nProcess teardown and profile reload need separate authority:\n\n- process teardown may close every scope and stop the shared loop;\n- profile reload must close/rebuild only the active profile, or ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T23:03:31Z","updatedAt":"2026-08-30T23:03:31Z","submittedAt":"2026-08-30T23:03:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90027#pullrequestreview-5062129761"},"data":{"createdAt":"2026-08-30T23:03:31Z","occurredAt":"2026-08-30T23:03:31Z","pullRequest":{"createdAt":"2026-08-19T13:26:17Z","id":"PR_kwDOPRF1G88AAAABASUd3Q","mergedAt":null,"number":90027,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(mcp): scope MCP registration and discovery per profile home","updatedAt":"2026-08-30T23:03:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/90027"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T23:03:31Z","updatedAt":"2026-08-30T23:03:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/90027#pullrequestreview-5062129761","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLbO1-g","kind":"review","label":"PRR_kwDOPRF1G88AAAABLbO1-g","summary":"Blocking finding on exact head `2740339a6e8a92285471521f2e15318fcd521a1c`: the Kitty CSI-u modifier semantics in `input_decode.py` are wrong, and the tests currently encode the same mistake.\n\n`_SHIFT_ONLY_MODS = {2, 3, 4}` treats CSI-u modifier 3/4 as repeat/release forms of Shift and rewrites `ESC[84;3u` / `ESC[84;4u` to literal `T`. In Hermes' existing keyboard owner, `hermes_cli/pt_input_extras.py`, those values are already canonicalized as ordinary modifier masks: 2 = Shift, 3 = Alt, 4 = Shift+Alt, 5 = Ctrl, 6 = Ctrl+Shift, etc. Event type is a separate Kitty field; it is not represented by incrementing the modifier value. So this decoder currently strips Alt (and Shift+Alt) from input at credential/consent/setup prompts, creating a new silent input-corruption path while fixing #97975.\n\nPlease restrict the plain `CSI <codepoint>;<modifier> u` decoder to the actual Shift-only modifier (`2`) unless the parser is extended to consume Kitty's separate event-type syntax correctly. Flip the current `;3u` / `;4u` expectations into preservation regressions, and add any repeat/release coverage using the protocol's real event field rather than modifier substitution.\n\nThe one-commit head i","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T19:36:57Z","updatedAt":"2026-08-30T19:36:57Z","submittedAt":"2026-08-30T19:36:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98413#pullrequestreview-5061719546"},"data":{"createdAt":"2026-08-30T19:36:57Z","occurredAt":"2026-08-30T19:36:57Z","pullRequest":{"createdAt":"2026-08-30T06:54:42Z","id":"PR_kwDOPRF1G88AAAABBfOxjQ","mergedAt":null,"number":98413,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cli): decode modifyOtherKeys/Kitty escapes leaked into bare input() prompts","updatedAt":"2026-08-30T19:36:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/98413"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T19:36:57Z","updatedAt":"2026-08-30T19:36:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/98413#pullrequestreview-5061719546","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLbP1Qg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLbP1Qg","summary":"Reviewed exact integration head `757f804ccfa5f9e6b749fe30ee8bc38e65986dbc` as the evidence build, not as the intended merge path. Exact-head CI, Docker, and Nix are green, and the combined UAT/crash-window evidence remains useful.\n\nThe integration result cannot supersede unresolved source-layer defects. This tree currently composes all four:\n\n1. #97712: replay pages enforce `MAX_LOG_PAGE_BYTES` with SQLite character counts rather than UTF-8 byte counts.\n2. #97797: near-expiry grant renewal silently adopts a changed execution policy/capability catalog and rewrites the pending dispatch instead of requiring explicit reauthorization.\n3. #97846: transient hosted-worker-unavailable RPC code `4123` is classified as terminal, permanently failing persisted commands that should replay after worker recovery.\n4. #98072: RoomLink attachment spool identity and cleanup omit authority gateway/epoch, allowing stale-lineage collision and old-grant cleanup to delete current-epoch batches.\n\nThe evidence tree also inherits the touched-file violations of the repository's hard 2,000-physical-line ceiling, including production godfiles and the new Messaging test godfile.\n\nNone of the reported green/UAT ma","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T19:45:12Z","updatedAt":"2026-08-30T19:45:12Z","submittedAt":"2026-08-30T19:45:12Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98307#pullrequestreview-5061735746"},"data":{"createdAt":"2026-08-30T19:45:12Z","occurredAt":"2026-08-30T19:45:12Z","pullRequest":{"createdAt":"2026-08-30T02:57:10Z","id":"PR_kwDOPRF1G88AAAABBerxGQ","mergedAt":null,"number":98307,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(bot-mode): complete Group Chat continuity, control, and files","updatedAt":"2026-08-31T16:17:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/98307"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T19:45:12Z","updatedAt":"2026-08-30T19:45:12Z","url":"https://github.com/NousResearch/hermes-agent/pull/98307#pullrequestreview-5061735746","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLbPp0g","kind":"review","label":"PRR_kwDOPRF1G88AAAABLbPp0g","summary":"Re-review of the Layer 2 delta at exact head `9560439e970ca390d1aab4feb7eb649b754da10e`, after parent head `5aead6f8750df3993c54ef3fbc20b47abefa26e2`.\n\nThe earlier session-classification blocker is repaired: the real `session.create` path now carries both `room_plumbing: true` and `follow_profile_config: true`, while retaining the canonical `Group: <room_id>` title for migration and reuse. I traced durable task admission, leases, execution/cancellation generations, terminal publication reconciliation, crash recovery, Stop settlement, policy checkpoints, local-authority selection, and the process-owned worker boundary. I found no additional Layer 2 mechanism blocker on this head. Exact-head CI, Docker, and Nix are green.\n\nIt still cannot land yet:\n\n1. The parent #97712 replay page remains incorrectly bounded in Unicode characters rather than UTF-8 bytes. Every runner recovery and publication sweep inherits that replay boundary.\n2. This delta modifies `gateway/run.py`, `hermes_cli/web_server.py`, and `tui_gateway/server.py`, all above the repository's hard 2,000-physical-line ceiling. The touched integration seams must be sharded rather than extended in place.\n\nThis head is not merge","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T19:43:46Z","updatedAt":"2026-08-30T19:43:46Z","submittedAt":"2026-08-30T19:43:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97744#pullrequestreview-5061732818"},"data":{"createdAt":"2026-08-30T19:43:46Z","occurredAt":"2026-08-30T19:43:46Z","pullRequest":{"createdAt":"2026-08-29T06:53:04Z","id":"PR_kwDOPRF1G88AAAABBbEvQQ","mergedAt":null,"number":97744,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(bot-mode): add same-gateway Group Chat runner","updatedAt":"2026-08-31T05:20:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/97744"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T19:43:46Z","updatedAt":"2026-08-30T19:43:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/97744#pullrequestreview-5061732818","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLbPywQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLbPywQ","summary":"Reviewed the declared 21-commit Messaging delta from technical base `1b12975ff915f9134cbf2d08ae174dec92f3ad0c` through exact head `f60b46b3f654e63a0d890dcd842da7286524987d`. Exact-head CI, Docker, and Nix are green.\n\nI traced the classic-Desktop durable mailbox, Desktop authority commitment and leases, reciprocal room-control credentials, room/authority/epoch checks, exact command receipts, Send/Retry/Stop settlement, private-owner authorization, routed-profile filtering, stable room references, Telegram picker freshness, and Desktop command-client lease renewal. I did not find an additional Messaging-specific authority or idempotency defect in this delta.\n\nIt is still not merge-ready:\n\n1. Its source chain includes the unresolved #97712 UTF-8 replay-bound defect, #97797 silent policy/capability auto-reauthorization defect, and #97846 terminal handling of transient worker-unavailable code `4123`.\n2. The delta modifies `gateway/slash_commands.py` and `tui_gateway/server.py`, both already far above the repository's hard 2,000-physical-line ceiling.\n3. It adds `tests/gateway/test_hosted_room_messaging.py` above the same ceiling (the file extends past line 2,100). Tests are not exempt f","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T19:44:54Z","updatedAt":"2026-08-30T19:44:54Z","submittedAt":"2026-08-30T19:44:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98073#pullrequestreview-5061735105"},"data":{"createdAt":"2026-08-30T19:44:54Z","occurredAt":"2026-08-30T19:44:54Z","pullRequest":{"createdAt":"2026-08-29T18:17:51Z","id":"PR_kwDOPRF1G88AAAABBdR0PA","mergedAt":null,"number":98073,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(bot-mode): control Group Chats from messaging","updatedAt":"2026-08-31T15:58:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/98073"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T19:44:54Z","updatedAt":"2026-08-30T19:44:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/98073#pullrequestreview-5061735105","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLbQbfQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLbQbfQ","summary":"Reviewed exact head `35331537bc36a66c1e71bf3de4c68fd271f9c66c` against #98774 and the current runner contract. No blocking source finding on this object.\n\nThe patch fixes the reported failure mode at the selection boundary rather than trying to reinterpret downstream test failures: incomplete local venvs are rejected before launch, the rejection names the exact missing imports, `HERMES_PYTHON` is held to the same probe, and the checked regression reproduces the decisive `.venv`-drift / complete-`venv` fallback shape through the actual shell runner. The strict behavior is within #98774's accepted contract and is preferable to silently launching a suite whose missing core/dev imports can manufacture plausible code failures.\n\nExact-object gate is clean: this is one commit directly parented on current `main@4f22543509d1b91dc45bcb369447126c5eb14fb7`; CI `33331279128`, Docker `33331278310`, and Nix `33331278317` all succeeded on this SHA.\n\nThere is one repository-topology constraint, not a source defect: #98784 is a mutually exclusive implementation of the same issue and same `scripts/run_tests.sh` ownership. These two carriers must not land independently; I am reconciling that on #98774","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T19:50:13Z","updatedAt":"2026-08-30T19:50:13Z","submittedAt":"2026-08-30T19:50:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98797#pullrequestreview-5061745533"},"data":{"createdAt":"2026-08-30T19:50:13Z","occurredAt":"2026-08-30T19:50:13Z","pullRequest":{"createdAt":"2026-08-30T19:35:06Z","id":"PR_kwDOPRF1G88AAAABBhjbrg","mergedAt":null,"number":98797,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tests): reject drifted runner venvs","updatedAt":"2026-08-30T19:50:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/98797"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T19:50:13Z","updatedAt":"2026-08-30T19:50:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/98797#pullrequestreview-5061745533","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLbQQYA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLbQQYA","summary":"I reviewed exact head `4c37a70d976c8b2a9144fd6e412f1fc791c1214c` against current `main@4f22543509d1b91dc45bcb369447126c5eb14fb7`, including the full 16-file diff / 9-commit history, the behavior-critical child-construction and session-DB paths, the new tests, exact-head check state, and the overlapping delegation/profile/session PRs.\n\nThere is good engineering in this branch. In particular, the earlier traversal finding was actually absorbed; model switching now anchors on the effective delegation provider rather than blindly on the parent; cross-provider switches clear stale ACP/pin transport fields; and the model/profile schema remains default-off. Those are real improvements.\n\nI do not think this exact object is safe to land yet, though. The remaining blockers are architectural/correctness issues rather than polish.\n\n### P1 — batch override/profile preflight is not atomic; a later bad task can orphan earlier constructed children\n\nAt this head, `delegate_task()` resolves each task's model/profile and then immediately constructs that child in the same `for i, t in enumerate(task_list)` loop (`tools/delegate_tool.py`, around the new per-task routing block at ~4246 and `_build_child","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T19:48:44Z","updatedAt":"2026-08-30T19:48:44Z","submittedAt":"2026-08-30T19:48:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98031#pullrequestreview-5061742688"},"data":{"createdAt":"2026-08-30T19:48:44Z","occurredAt":"2026-08-30T19:48:44Z","pullRequest":{"createdAt":"2026-08-29T16:55:49Z","id":"PR_kwDOPRF1G88AAAABBdBLCg","mergedAt":null,"number":98031,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(delegation): per-task model selection and profile identity for delegate_task","updatedAt":"2026-08-30T20:32:25Z","url":"https://github.com/NousResearch/hermes-agent/pull/98031"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T19:48:44Z","updatedAt":"2026-08-30T19:48:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/98031#pullrequestreview-5061742688","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLbQvTw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLbQvTw","summary":"Independent reproduction — exact live head `63e2ebb2a5aa645f9192246b6d64359ee9e96784`.\n\nSource pins:\n- baseline: [`4f22543509d1b91dc45bcb369447126c5eb14fb7`](https://github.com/NousResearch/hermes-agent/commit/4f22543509d1b91dc45bcb369447126c5eb14fb7)\n- candidate: [`63e2ebb2a5aa645f9192246b6d64359ee9e96784`](https://github.com/NousResearch/hermes-agent/commit/63e2ebb2a5aa645f9192246b6d64359ee9e96784)\n- pre-patch classifier: [`agent/auxiliary_client.py`](https://github.com/NousResearch/hermes-agent/blob/4f22543509d1b91dc45bcb369447126c5eb14fb7/agent/auxiliary_client.py)\n- candidate classifier: [`agent/failure_scope.py`](https://github.com/NousResearch/hermes-agent/blob/63e2ebb2a5aa645f9192246b6d64359ee9e96784/agent/failure_scope.py)\n\nI ran a minimized, network-independent harness using the exact base and candidate classifier bodies plus the repository's two-retry budget: one initial call and up to two same-endpoint retries. Both synchronous and asynchronous retry loops were exercised.\n\n| Injected failure | Base sync / async attempts | Head sync / async attempts | Head result |\n|---|---:|---:|---|\n| `SSLV3_ALERT_HANDSHAKE_FAILURE` | 3 / 3 | 1 / 1 | endpoint-scoped; non-transient |\n| ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T19:53:00Z","updatedAt":"2026-08-30T19:53:00Z","submittedAt":"2026-08-30T19:53:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98773#pullrequestreview-5061750607"},"data":{"createdAt":"2026-08-30T19:53:00Z","occurredAt":"2026-08-30T19:53:00Z","pullRequest":{"createdAt":"2026-08-30T18:58:19Z","id":"PR_kwDOPRF1G88AAAABBhbyQA","mergedAt":null,"number":98773,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): scope fallback endpoint identity and TLS failures","updatedAt":"2026-08-31T17:01:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/98773"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T19:53:00Z","updatedAt":"2026-08-30T19:53:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/98773#pullrequestreview-5061750607","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLBSdfA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLBSdfA","summary":"Reviewed exact head `f6f90cd9d15ad0b94299dced678feb39ade0ac17` against live `main@68518c1f9bca11d9f5dbdf59ecf7e024cce057ba`, including the complete three-file diff, both sandbox RPC transports, the public dispatch handoff in `model_tools.py`, the #84271 acceptance contract, existing review thread, exact-head CI, and the current execute-code PR collision set.\n\n**Verdict: clear on code at this head. I do not find a remaining blocker in `SECURITY-CLASS-faf9d60580300e16`.**\n\nThe important thing this revision gets right is that the capability decision now has one meaning all the way to the mutation boundary:\n\n- `_resolve_sandbox_tools()` makes the distinction structural rather than truthiness-based: `None` is the explicitly documented legacy default, while `[]` and a non-overlapping grant remain deny-all.\n- Both `execute_code()` and `_execute_remote()` consume that same resolver, so local and remote execution no longer carry two independently drifting interpretations.\n- This is not only a stub-generation fix. `_rpc_server_loop` and `_rpc_poll_loop` both enforce `tool_name not in allowed_tools` at dispatch, and the new tests deliberately invoke the generated module's private `_call()` ag","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T19:53:27Z","updatedAt":"2026-08-26T19:53:27Z","submittedAt":"2026-08-26T19:53:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/86148#pullrequestreview-5034515836"},"data":{"createdAt":"2026-08-26T19:53:27Z","occurredAt":"2026-08-26T19:53:27Z","pullRequest":{"createdAt":"2026-08-14T15:22:01Z","id":"PR_kwDOPRF1G87_LBMR","mergedAt":null,"number":86148,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tools): empty execute_code capability set denies all sandbox tools","updatedAt":"2026-08-31T09:24:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/86148"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T19:53:27Z","updatedAt":"2026-08-26T19:53:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/86148#pullrequestreview-5034515836","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLbsTKQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLbsTKQ","summary":"Re-reviewing moved head `7e40f00d64c39f0730e257aae4de1ffa4c03f242` against current `main@4f22543509d1b91dc45bcb369447126c5eb14fb7`.\n\nI re-read the full four-file diff, the current worker-context carrier, #98479, and the surviving commit train. The two substantive verification blockers from review 5060490532 are still present unchanged:\n\n1. `tests/hermes_cli/test_plugins.py::test_whitelist_propagates_through_context_wrapped_worker` still proves only `propagate_context_to_thread()` + a direct call to `get_pre_tool_call_block_message()`. It never crosses the actual `agent/tool_executor.py` worker-dispatch seam and never proves a disallowed tool body is not reached. A regression that drops context propagation at the real executor boundary would still leave this test green. For a P0 authorization fix, the terminal witness needs to dispatch an actually denied tool through the real worker executor and assert both the denial result and zero tool-body execution.\n\n2. The new `execFileNoThrow` test still starts only one direct Node child (`setTimeout(..., 30_000)`) and times out that same child. It still does not reproduce the #93134/#93355 failure shape where the immediate child exits while ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T23:38:04Z","updatedAt":"2026-08-30T23:38:04Z","submittedAt":"2026-08-30T23:38:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98485#pullrequestreview-5062202153"},"data":{"createdAt":"2026-08-30T23:38:04Z","occurredAt":"2026-08-30T23:38:04Z","pullRequest":{"createdAt":"2026-08-30T09:48:59Z","id":"PR_kwDOPRF1G88AAAABBfrVgA","mergedAt":null,"number":98485,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix: preserve P0 tool safety across worker dispatch","updatedAt":"2026-08-30T23:38:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/98485"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T23:38:04Z","updatedAt":"2026-08-30T23:38:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/98485#pullrequestreview-5062202153","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLbtB4g","kind":"review","label":"PRR_kwDOPRF1G88AAAABLbtB4g","summary":"Reviewed exact head `4ba91eedf8cd9bdca65d7f88a9fd30041bab63fa`.\n\n**Blocking**\n\n- This head has no executed validation. The CI, Nix flake, and Docker workflows all completed as `action_required`, and the combined status contains no check contexts. Until those workflows are approved/rerun and green on this exact SHA, the behavior is unverified and the PR is not merge-ready.\n- Add regression coverage for the state-transfer contract: a successful streamed response emits the latest attempt’s non-null `first_chunk_at`; non-streamed, failed, and partial-stream paths emit `None`; and an outer retry/reset cannot leak a prior attempt’s timestamp. The value crosses a helper-local diagnostic into mutable agent state and later hook dispatch, so stale-state behavior needs executable proof.\n\nI traced `stream_diag.py` → `interruptible_streaming_api_call()` → `_last_api_first_chunk_at` reset → `post_api_request` dispatch. The changed control flow is internally consistent; I found no separate correctness defect in the patch.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T23:43:30Z","updatedAt":"2026-08-30T23:43:30Z","submittedAt":"2026-08-30T23:43:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98555#pullrequestreview-5062214114"},"data":{"createdAt":"2026-08-30T23:43:30Z","occurredAt":"2026-08-30T23:43:30Z","pullRequest":{"createdAt":"2026-08-30T12:21:15Z","id":"PR_kwDOPRF1G88AAAABBgHvkw","mergedAt":null,"number":98555,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"agent: expose first stream chunk timestamp (TTFB) in post_api_request hook","updatedAt":"2026-08-30T23:43:31Z","url":"https://github.com/NousResearch/hermes-agent/pull/98555"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T23:43:30Z","updatedAt":"2026-08-30T23:43:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/98555#pullrequestreview-5062214114","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLbuQ2A","kind":"review","label":"PRR_kwDOPRF1G88AAAABLbuQ2A","summary":"This is a strong reference implementation shape: the exact-route/no-fallback boundary is explicit, the reviewer has no tools, the plan gate is before handler dispatch, the final candidate is held from the normal stream surface, and the tests exercise disabled mode, pre-effect blocking, revision protocol closure, concurrent duplicate calls, cancellation, and client cleanup. I also verified this against the exact current object: `HEAD=4116137ffb48e89f107c9abd6ddfa3f1f872f398`, based directly on current `main@4f22543509d1b91dc45bcb369447126c5eb14fb7` (1 ahead / 0 behind). The single commit is authored by Luc Le Dinh; that provenance should stay attached if this is later reworked or split.\n\nI do see three landing blockers in the current draft.\n\n**P1 — the packet redactor does not satisfy the proposal's privacy boundary.**\n\n`agent/review_runner.py::_redact()` only masks a value when its *mapping key* contains `api_key|authorization|cookie|password|secret|token`. Every ordinary string leaf is returned unchanged. `_build_messages()` then serializes `objective`, `constraints`, and the whole `candidate`. On the producer side, `agent/review_checkpoints.py::_objective_text()` forwards up to 8","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T23:52:59Z","updatedAt":"2026-08-30T23:52:59Z","submittedAt":"2026-08-30T23:52:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98927#pullrequestreview-5062234328"},"data":{"createdAt":"2026-08-30T23:52:59Z","occurredAt":"2026-08-30T23:52:59Z","pullRequest":{"createdAt":"2026-08-30T23:37:19Z","id":"PR_kwDOPRF1G88AAAABBiSvAw","mergedAt":null,"number":98927,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(review): add strict automatic checkpoint runner","updatedAt":"2026-08-30T23:52:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/98927"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T23:52:59Z","updatedAt":"2026-08-30T23:52:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/98927#pullrequestreview-5062234328","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLbWrzQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLbWrzQ","summary":"Exact-head source and hosted execution are coherent on `48ecd5d90f1dbc6ac62345147361c7a06ef663ce`: this is a one-commit/two-file train, and CI 33323989258, Docker 33323988874, and Nix 33323988866 all succeeded on this exact object. The provenance direction also closes the reported value-equality gap without collapsing intentional replacement: scope-provided and dotenv-provided values can re-prove the raw env ref, while an unrelated caller literal still lands as a literal.\n\nThere is one placement blocker before this can clear acceptance: the implementation extends `hermes_cli/config.py`, which is already well above the 2,000-line ceiling (the touched persistence/env-ref region itself is beyond line 2,700). This workstream does not add behavior in-place to a godfile. Extract the env-ref/save-persistence ownership slice so every modified file — including `hermes_cli/config.py` after extraction — is below 2,000 lines, preserve the same real `save_config()` regression matrix and intentional-edit positive control, then reacquire exact-head CI/Docker/Nix on the rematerialized object. Keep the #98029/@dizhaky provenance edge intact. No semantic objection remains to the runtime-authority pr","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T20:43:06Z","updatedAt":"2026-08-30T20:43:06Z","submittedAt":"2026-08-30T20:43:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98721#pullrequestreview-5061848013"},"data":{"createdAt":"2026-08-30T20:43:06Z","occurredAt":"2026-08-30T20:43:06Z","pullRequest":{"createdAt":"2026-08-30T16:59:45Z","id":"PR_kwDOPRF1G88AAAABBhDBHQ","mergedAt":null,"number":98721,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(config): prove env-template provenance via runtime secret authorities","updatedAt":"2026-08-30T20:43:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/98721"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T20:43:06Z","updatedAt":"2026-08-30T20:43:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/98721#pullrequestreview-5061848013","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLc09tg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLc09tg","summary":"Reviewed only the post-certification delta `09004753c9c1679112be05fe4b902ba90fac870e..cf48a96f4d589c47be7421e7e1771e47ecc3d384`; the earlier credited commits are outside this review.\n\nCurrent-head receipts are green:\n\n- [CI](https://github.com/NousResearch/hermes-agent/actions/runs/33353146264)\n- [Nix flake check](https://github.com/NousResearch/hermes-agent/actions/runs/33353145431)\n- [Docker Build, Test & Publish](https://github.com/NousResearch/hermes-agent/actions/runs/33353145443)\n\nTwo blockers remain in the new delta.\n\n### 1. The Studio witness does not reproduce the Studio construction order it claims to pin\n\n`tests/agent/test_studio_bridge_affinity.py::_reply_scope()` creates the session row and then constructs `AIAgent`. At the Studio source used for this review (`86d0c95375190a82e5eadffeaaa4f2098e57f6b9`), the order is the reverse: `start_chat()` first calls `get_or_create()`, which constructs `AIAgent`; the worker later calls `_prepersist_user_message()` / `create_session()` before `run_conversation`:\n\n- [`start_chat()` calls `get_or_create()`](https://github.com/EKKOLearnAI/hermes-studio/blob/86d0c95375190a82e5eadffeaaa4f2098e57f6b9/packages/server/src/modules/hermes/se","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T05:33:08Z","updatedAt":"2026-08-31T05:33:08Z","submittedAt":"2026-08-31T05:33:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98811#pullrequestreview-5063392694"},"data":{"createdAt":"2026-08-31T05:33:08Z","occurredAt":"2026-08-31T05:33:08Z","pullRequest":{"createdAt":"2026-08-30T19:57:06Z","id":"PR_kwDOPRF1G88AAAABBhn12Q","mergedAt":null,"number":98811,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cache): honor the host-declared conversation key on the affinity-key path","updatedAt":"2026-08-31T05:42:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/98811"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T05:33:08Z","updatedAt":"2026-08-31T05:33:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/98811#pullrequestreview-5063392694","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLc5yTA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLc5yTA","summary":"Re-review at exact raw head `939374ce079405b0d73ed4685ecb5faa097ad49a`, current `main` `a9c783f21995723c812dcb2f8ae58bc6a4323e2f`, and GitHub's current synthetic merge `bf0cd86db1ac2058d60f7a0e751f7014c719fdc5`.\n\nFirst, a correction to my previous pass: commit `838b88812353f3c0f3124a63967dd81bf80cffbd` **does** close the clone-source bypass. `create_profile_endpoint()` denies isolated profile creation before `clone_from`, `clone_all`, or the implicit `default` source is resolved, and the requested sentinel/no-destination witnesses are present. The same commit also denies import and active-profile switching. Those findings are resolved; they should not remain attributed to this head.\n\n**Verdict: not ready to land. Extend this branch to own the complete server-side isolated-profile authority before merging it.** Landing the mutation half first would publish an isolation boundary that remains false on both a named route and the aggregate read surfaces, and #90181 can activate that incomplete boundary for Desktop pooled backends.\n\n### 1. The allowed principal is collision-prone and fails open\n\n`_assert_profile_in_scope()` asks `_current_profile_name()` for the allowed profile and compa","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T05:48:53Z","updatedAt":"2026-08-31T05:48:53Z","submittedAt":"2026-08-31T05:48:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/91381#pullrequestreview-5063471692"},"data":{"createdAt":"2026-08-31T05:48:53Z","occurredAt":"2026-08-31T05:48:53Z","pullRequest":{"createdAt":"2026-08-21T07:45:13Z","id":"PR_kwDOPRF1G88AAAABAhP5NQ","mergedAt":null,"number":91381,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(profiles): scope profile endpoints to an isolated dashboard's profile","updatedAt":"2026-08-31T05:48:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/91381"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T05:48:53Z","updatedAt":"2026-08-31T05:48:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/91381#pullrequestreview-5063471692","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLc76WQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLc76WQ","summary":"Reviewed exact head `ff8a81c5cf252e6214ea3e6b9ec7e5ff27919d9c` against current `main` `a9c783f21995723c812dcb2f8ae58bc6a4323e2f`. I read all six changed-file patches, the full ownership/reconnect paths, the exact-head checks, the existing review/comment state, and the adjacent backend lifecycle graph.\n\nThere is good work here. In particular, `reapReplacedSiblings()` keeps the actual kill behind child start-marker identity verification, preserves unreadable ownership evidence instead of rewriting it, retains failed-stop records for retry, and scopes replacement to the same Electron parent. Moving reconnect reset from `open` to close-time also directly addresses the observed short accept/drop loop instead of merely stretching the initial delay. The new tests cover the important negative kill cases (different profile, different parent identity, dead PID, unverifiable PID, failed stop), which is the right posture for process ownership code.\n\nI do not think this exact head is merge-ready yet, for two blocking reasons and one class-boundary issue:\n\n### P1 — exact-head CI is not green\n\nThe exact head has:\n\n- CI: **failure** — https://github.com/NousResearch/hermes-agent/actions/runs/33361","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T05:56:22Z","updatedAt":"2026-08-31T05:56:23Z","submittedAt":"2026-08-31T05:56:22Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99178#pullrequestreview-5063506521"},"data":{"createdAt":"2026-08-31T05:56:22Z","occurredAt":"2026-08-31T05:56:22Z","pullRequest":{"createdAt":"2026-08-31T05:37:36Z","id":"PR_kwDOPRF1G88AAAABBjuDNg","mergedAt":null,"number":99178,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): retire replaced backend siblings + stability-gated reconnect backoff (backend supervision, #79353)","updatedAt":"2026-08-31T05:56:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/99178"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T05:56:22Z","updatedAt":"2026-08-31T05:56:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/99178#pullrequestreview-5063506521","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLCbGdw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLCbGdw","summary":"Landing-edge topology update after the review above: `main` advanced two commits to `b0563d5ad3fd48f04cbe1d5a92e277e8408c461e`, so this unchanged head is now 5 ahead / 2 behind merge base `2f8d6b55523f52f70a9946035c08333cbf2889fe`. I read the main-only file list: the drift is confined to memory setup/Supermemory and FAL video-generation paths, with no collision against this PR’s five files. The two P1 findings therefore stand unchanged; no restack-only semantic finding is added.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T22:51:36Z","updatedAt":"2026-08-26T22:51:36Z","submittedAt":"2026-08-26T22:51:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95897#pullrequestreview-5035705975"},"data":{"createdAt":"2026-08-26T22:51:36Z","occurredAt":"2026-08-26T22:51:36Z","pullRequest":{"createdAt":"2026-08-26T22:38:16Z","id":"PR_kwDOPRF1G88AAAABBIvkeA","mergedAt":"2026-08-27T01:23:34Z","number":95897,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(update): Windows desktop update stall watchdog + fleet-check false failure","updatedAt":"2026-08-27T01:23:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/95897"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T22:51:36Z","updatedAt":"2026-08-26T22:51:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/95897#pullrequestreview-5035705975","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLcc-CA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLcc-CA","summary":"Reviewed exact head `dcef5a99f4999d6bd5a6182af2d170027f046890` against declared base `ff3835a630deb1f03054806d91ae5712b76f16d1`; current `main` is `64cc87e6681a3db4e158ed8b999ff77ba0b9d28a`. I traced the full build→middleware→hook→wire path, retry/failover control flow, current route-switch lifecycle, exact-head workflows, #23739, the earlier #92893 lineage, and the adjacent #90432 / #57664 routing proposals. The turn-scoped intent is useful, but I see three coupled blockers before this is safe to land.\n\n### P1 — request middleware and `pre_api_request` observe a different route from the one that actually goes on the wire\n\nIn `agent/conversation_loop.py`, Scope 1 applies `_runtime_override` only around `_build_api_kwargs()`, then restores the agent before `apply_llm_request_middleware(...)` and `pre_api_request` execute. Those two extension points are therefore handed the restored session identity (`agent.model/provider/base_url/api_mode`), while `api_kwargs` was built under the override. Scope 2 later re-enters the override around `_perform_api_call_inner()`, so the actual client/transport dispatch again runs under the override.\n\nThat creates two simultaneous truths for one reques","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T03:58:04Z","updatedAt":"2026-08-31T03:58:04Z","submittedAt":"2026-08-31T03:58:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99053#pullrequestreview-5062999560"},"data":{"createdAt":"2026-08-31T03:58:04Z","occurredAt":"2026-08-31T03:58:04Z","pullRequest":{"createdAt":"2026-08-31T03:29:06Z","id":"PR_kwDOPRF1G88AAAABBjJ-xQ","mergedAt":null,"number":99053,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(agent): allow pre_llm_call plugins to override model/provider at runtime","updatedAt":"2026-08-31T03:58:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/99053"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T03:58:04Z","updatedAt":"2026-08-31T03:58:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/99053#pullrequestreview-5062999560","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLcDIiQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLcDIiQ","summary":"Reviewed exact head `4a51e51320f50ff4e3005255cc6f9fa3c9243cae` against merge base `4f22543509d1b91dc45bcb369447126c5eb14fb7` and current `main@d63f996a757f6255fc1454239616ab4b4435e0f5`. The branch is 2 commits ahead / 2 behind current main; the two newer main commits are Photon-only, so I did not find a current file collision there. I read the production diff across runtime/session/transport/config/gateway persistence, the focused regressions, the overlapping Codex PRs, and the exact-head workflow state.\n\nThere is a lot of careful work here that is worth preserving: strict `turn/completed` correlation matches the current Codex v2 contract; the poisoned-write retirement model is the right direction for an indeterminate stdio write; resume fallback is narrowed instead of treating every JSON-RPC failure as a missing thread; final text is no longer promoted after a failed/timeout turn; and the same-text steer/initial-echo reconciliation is substantially more thoughtful than content dedup. The test surface is also materially better than current main. 🚀\n\nI do have three P1 boundary issues before I would treat this as a safe consolidated landing object.\n\n### P1 — the cwd marker turns unt","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T01:55:44Z","updatedAt":"2026-08-31T01:55:44Z","submittedAt":"2026-08-31T01:55:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98995#pullrequestreview-5062576265"},"data":{"createdAt":"2026-08-31T01:55:44Z","occurredAt":"2026-08-31T01:55:44Z","pullRequest":{"createdAt":"2026-08-31T01:37:16Z","id":"PR_kwDOPRF1G88AAAABBitYcA","mergedAt":null,"number":98995,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(codex): harden app-server turn continuity","updatedAt":"2026-08-31T10:51:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/98995"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T01:55:44Z","updatedAt":"2026-08-31T01:55:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/98995#pullrequestreview-5062576265","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLcM9xQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLcM9xQ","summary":"Re-reviewed moved head `ad949774f0072499c56c8e0e86fb056cb877b315` against parent `f5908c18d86a4d4a572a464be2d00e9eb8cec3ee`, submitted base `4f22543509d1b91dc45bcb369447126c5eb14fb7`, and live `main@d63f996a757f6255fc1454239616ab4b4435e0f5`.\n\nThe new commit is narrowly additive: `+163` in `gateway/hosted_rooms.py` and `+74` in `tests/gateway/test_hosted_rooms.py`. It adds the room replication manifest/lineage validator and a paged A→B→C authority-transfer round trip. I rechecked the earlier authority, client-event namespace, UTF-8 replay-byte, retired-ID ABA, and stale-writer repairs on the full current diff; those fixes remain intact. `gateway/hosted_rooms.py` is 1,619 lines and the new test file is 1,092 lines, so the new replication layer itself stays below the 2K ceiling.\n\nThe surviving two-commit train now has exact hosted proof on every object. `f5908c18...` is green in CI `33332784224`, Docker `33332783891`, and Nix `33332783919`; `ad949774...` is green in CI `33350873069`, Docker `33350872546`, and Nix `33350872477`. Live main is still exactly two Photon/docs commits ahead of the submitted base, and that interval is path-disjoint from all eight files in this PR.\n\nThe remain","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T02:40:56Z","updatedAt":"2026-08-31T02:40:56Z","submittedAt":"2026-08-31T02:40:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97712#pullrequestreview-5062737349"},"data":{"createdAt":"2026-08-31T02:40:56Z","occurredAt":"2026-08-31T02:40:56Z","pullRequest":{"createdAt":"2026-08-29T06:03:44Z","id":"PR_kwDOPRF1G88AAAABBa8XcA","mergedAt":null,"number":97712,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(bot-mode): add durable Group Chat authority and replay","updatedAt":"2026-08-31T02:46:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/97712"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T02:40:56Z","updatedAt":"2026-08-31T02:40:56Z","url":"https://github.com/NousResearch/hermes-agent/pull/97712#pullrequestreview-5062737349","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLcnNfA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLcnNfA","summary":"Reviewed exact head `641135a2698a53bdc8eec138d7300519b3a798b4` against current `main@cd2bd160579d5240e52d01e2f735da55ff4242ef`. This is a one-commit release object directly parented by current main, with exactly two touched files.\n\nThe fix is at the correct shared resolver seam. `resolve_user_provider()` already owns the user-config `ProviderDef` construction path; consulting the existing `is_provider_enabled()` contract there prevents direct callers of `resolve_provider_full()` from bypassing an explicit `enabled: false` without adding a second interpretation of the flag. The local import does not introduce an import-time cycle, and the existing enabled-by-default semantics remain unchanged.\n\nThe regression exercises the public resolver path rather than only the helper: a disabled named user provider now returns `None`. The surrounding validation reported in the PR body covers custom-provider/model-switch callers, `test_config.py`, Ruff, and diff hygiene.\n\nExact-head hosted execution is green on the sole surviving commit:\n\n- CI `33356973186` — success\n- Docker `33356972547` — success\n- Nix `33356972592` — success\n\nI also cross-checked the parallel #99104 carrier for the same #9908","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T04:44:22Z","updatedAt":"2026-08-31T04:44:22Z","submittedAt":"2026-08-31T04:44:22Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99102#pullrequestreview-5063167356"},"data":{"createdAt":"2026-08-31T04:44:22Z","occurredAt":"2026-08-31T04:44:22Z","pullRequest":{"createdAt":"2026-08-31T04:24:27Z","id":"PR_kwDOPRF1G88AAAABBjZBIA","mergedAt":null,"number":99102,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(providers): honor enabled:false in shared resolver","updatedAt":"2026-08-31T04:44:22Z","url":"https://github.com/NousResearch/hermes-agent/pull/99102"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T04:44:22Z","updatedAt":"2026-08-31T04:44:22Z","url":"https://github.com/NousResearch/hermes-agent/pull/99102#pullrequestreview-5063167356","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLcOF6w","kind":"review","label":"PRR_kwDOPRF1G88AAAABLcOF6w","summary":"Reviewed exact head `bc3df2a9e2677f5e1830ff2fb61e454e2b7f73e2` against current `main@d63f996a757f6255fc1454239616ab4b4435e0f5`. The actual merge base is `4f22543509d1b91dc45bcb369447126c5eb14fb7`, so this head is 2 commits ahead / 2 behind current main. Exact-head hosted acceptance is green: CI `33350933742`, Docker `33350933145`, and Nix `33350933176` all completed successfully.\n\nThe core diagnosis is right: chat-admission policy is not approval authority, and the new `group_policy=open` regressions correctly pin the under-rejection in #96045. The unconditional missing-identity rejection in `_resolve_update_prompt()` is also a real hardening improvement. I also appreciate that the DM regression scenarios from #99021 were adapted rather than wholesale cherry-picked and that their provenance is preserved in both the test comment and commit message.\n\nI do see two authority-boundary blockers before this becomes the canonical landing object, though. Both are the other side of the same shape: the new gate projects away dimensions that the old path was carrying.\n\n### 1. The replacement drops explicit per-chat locks, so it widens approval authority outside the `group_policy=open` bug\n\nCur","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T02:46:46Z","updatedAt":"2026-08-31T02:46:46Z","submittedAt":"2026-08-31T02:46:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99004#pullrequestreview-5062755819"},"data":{"createdAt":"2026-08-31T02:46:46Z","occurredAt":"2026-08-31T02:46:46Z","pullRequest":{"createdAt":"2026-08-31T01:44:39Z","id":"PR_kwDOPRF1G88AAAABBivGHg","mergedAt":null,"number":99004,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(feishu): gate approval/update-prompt card clicks on operator allowlist, not group policy","updatedAt":"2026-08-31T03:21:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/99004"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T02:46:46Z","updatedAt":"2026-08-31T02:46:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/99004#pullrequestreview-5062755819","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLcOzkQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLcOzkQ","summary":"Landing-edge correction to my immediately preceding review: `main` moved while that review was being read back, and Layer 1 has now been salvaged directly into upstream.\n\nCurrent main is `ed3562bbbcd8a5323be96b81812291faae99e010`. #97712 is now closed/unmerged, but its accepted foundation landed as `cbc67b939f71389494b842b5499ebe104ebda46e` followed directly by maintainer follow-up `cc4b5ba1fc48e86df99f139a46232fd5debf1834`, which carries replay-page authority lineage and the sabotage-sensitive UTF-8 byte-bound proof.\n\nThat supersedes two landing statements in review 5062754503:\n\n1. Layer 3 no longer needs to wait for #97712 itself to become an accepted current-main carrier; main now owns the Layer 1 foundation.\n2. The inherited `hermes_cli/web_server.py` >2K delta is not a downstream diff blocker once this stack is correctly rebased and the already-landed Layer 1 ancestor is dropped from the PR history.\n\nThe Layer 3 source verdict is unchanged: the prior policy/capability auto-reauthorization P1 is repaired on `5089c191...`, and the three currently surviving branch commits had exact-green CI/Docker/Nix when checked.\n\nThe required closure is now a **real restack onto salvaged main*","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T02:49:47Z","updatedAt":"2026-08-31T02:49:48Z","submittedAt":"2026-08-31T02:49:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97797#pullrequestreview-5062767505"},"data":{"createdAt":"2026-08-31T02:49:47Z","occurredAt":"2026-08-31T02:49:47Z","pullRequest":{"createdAt":"2026-08-29T09:10:36Z","id":"PR_kwDOPRF1G88AAAABBbdczQ","mergedAt":null,"number":97797,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(bot-mode): add scoped cross-gateway Group Chat transport","updatedAt":"2026-08-31T08:05:11Z","url":"https://github.com/NousResearch/hermes-agent/pull/97797"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T02:49:47Z","updatedAt":"2026-08-31T02:49:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/97797#pullrequestreview-5062767505","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLCrwfw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLCrwfw","summary":"Blocking review on exact head `38e0564dfb966a23345abfa987c694f391559cbe`.\n\nMoving the heartbeat file write off the gateway event loop is the right root direction: a slow `atomic_json_write`/`fsync` no longer stalls the loop being monitored, and the daemon handle avoids treating permanent liveness machinery as user work for scale-to-zero. This head is still unsafe to merge because the destructive consumer does not have an independent proof that the loop is dead.\n\n### Blocker 1 — the 2s heartbeat gate contradicts the existing 10s liveness contract\n\n[`gateway/shutdown_watchdog.py`](https://github.com/NousResearch/hermes-agent/blob/38e0564dfb966a23345abfa987c694f391559cbe/gateway/shutdown_watchdog.py#L50-L58) defines a loop-probe response budget of 10s but gives the new heartbeat tick only 2s. In [`start_loop_heartbeat`](https://github.com/NousResearch/hermes-agent/blob/38e0564dfb966a23345abfa987c694f391559cbe/gateway/shutdown_watchdog.py#L548-L563), a tick arriving after 2s is discarded and the writer sleeps for the full 30s interval. The CLI then [sleeps 1s and rereads the same stale file](https://github.com/NousResearch/hermes-agent/blob/38e0564dfb966a23345abfa987c694f391559cbe/herm","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T23:47:43Z","updatedAt":"2026-08-26T23:47:43Z","submittedAt":"2026-08-26T23:47:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95808#pullrequestreview-5035978879"},"data":{"createdAt":"2026-08-26T23:47:43Z","occurredAt":"2026-08-26T23:47:43Z","pullRequest":{"createdAt":"2026-08-26T19:31:20Z","id":"PR_kwDOPRF1G88AAAABBHtPzw","mergedAt":null,"number":95808,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): write loop heartbeat off the event loop","updatedAt":"2026-08-27T14:14:38Z","url":"https://github.com/NousResearch/hermes-agent/pull/95808"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T23:47:43Z","updatedAt":"2026-08-26T23:47:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/95808#pullrequestreview-5035978879","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLCs9wQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLCs9wQ","summary":"Blocking review at exact head `31e0aaa2a28f82ba6bb30b01faf7d61542058ed2`.\n\n1. **The duplicate-runtime root cause is asserted, not demonstrated.**\n\n   The issue stack crossing `vendor-react-*.js` and `session-list-density-*.js` proves only that the throw and caller landed in different assets; it does not prove two `QueryClientContext` module identities. Rolldown explicitly creates common chunks to keep every JavaScript module singleton in the final bundle output: https://rolldown.rs/in-depth/automatic-code-splitting. Vite's `resolve.dedupe` is for duplicated installed/resolved copies, but this head's lock graph contains one root `node_modules/@tanstack/react-query` entry and no workspace-local copy: https://vite.dev/config/shared-options.html#resolve-dedupe. The PR body's own pre-fix build also emitted one shared `useQuery-*.js` chunk instead of reproducing the alleged duplicate.\n\n   Close this with evidence from the failing released Windows artifact: identify the two canonical resolved module IDs/module factories/context definitions, then show the same exact package/toolchain failing before this change and launching successfully after it. Without that, the patch changes chunk place","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-26T23:51:56Z","updatedAt":"2026-08-26T23:51:56Z","submittedAt":"2026-08-26T23:51:56Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95684#pullrequestreview-5035998657"},"data":{"createdAt":"2026-08-26T23:51:56Z","occurredAt":"2026-08-26T23:51:56Z","pullRequest":{"createdAt":"2026-08-26T16:01:38Z","id":"PR_kwDOPRF1G88AAAABBGW6Ww","mergedAt":null,"number":95684,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): keep @tanstack/react-query in one runtime chunk (Closes #95560)","updatedAt":"2026-08-31T17:00:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/95684"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-26T23:51:56Z","updatedAt":"2026-08-26T23:51:56Z","url":"https://github.com/NousResearch/hermes-agent/pull/95684#pullrequestreview-5035998657","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLD9sbA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLD9sbA","summary":"Re-reviewed exact head `216cecfdb1b2a9ae18402336714474fcd45d4250` against the prior blocker and the current landing edge.\n\nThe three authority failures from my earlier review are closed on this object.\n\n- **A live owner no longer expires by age.** Rust, Python, Electron, and PowerShell now treat age as diagnostic only; liveness + exact claim identity owns the lock. The claim carries `pid + started_at + claim_token`, and release removes only the exact claim it acquired, so a same-PID replacement cannot be deleted by an older owner.\n- **Publication and stale-claim recovery now fail closed.** Python and Rust serialize the marker transaction, publish complete claims without replacement, reclaim only dead/malformed ownership under that serialization boundary, and return an error instead of continuing an install after claim infrastructure failure. The PowerShell path has the same non-replace/exact-token contract.\n- **The Windows race is covered at the real ownership boundary.** The named mutex serializes Windows claim/reclaim, while POSIX keeps the atomic non-replace link path. The tests include a 24-hour-live owner, injected write/publish failures, stale/dead recovery, and release-vs-re","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T04:47:34Z","updatedAt":"2026-08-27T04:47:34Z","submittedAt":"2026-08-27T04:47:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95719#pullrequestreview-5037321324"},"data":{"createdAt":"2026-08-27T04:47:34Z","occurredAt":"2026-08-27T04:47:34Z","pullRequest":{"createdAt":"2026-08-26T16:50:41Z","id":"PR_kwDOPRF1G88AAAABBGqpSg","mergedAt":null,"number":95719,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(update): stop Windows installers from killing in-flight updates","updatedAt":"2026-08-27T04:47:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/95719"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T04:47:34Z","updatedAt":"2026-08-27T04:47:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/95719#pullrequestreview-5037321324","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLDBiJQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLDBiJQ","summary":"Reviewed exact head `d24af9334cf133b0ca58a097591b2bcab5a1b576` against live `main@e1e72f109c9540d6ed2aceeaf1b5bfcacbab5efc` and the current GitHub merge object `18a06ebddf0c42e584814ce7bf2a059d638f423e` (`main` + this head). The branch is 2 commits ahead / 6 behind merge base `790e1eb6bd576261e6b9e70fcfe4fbdf17f866bb`; the six main-only commits are path-disjoint from the four changed files here. There were no prior PR comments/reviews when I started.\n\nThe core distinction is correct and useful: **live gateway identity is not the same thing as external supervision**. The new tests correctly preserve the inherited-marker case (a child with `_HERMES_GATEWAY=1` but no PID ownership is not the gateway) while making a direct-spawn Windows PID owner visible to the terminal and `execute_code` guards. Keeping `_is_supervised_gateway_process()` as a stricter derivative also avoids breaking the systemd-scope behavior that actually needs supervision. That is the right decomposition.\n\nI found two P1 holes in the hard lifecycle boundary, both in the same authority class: a coordinate is being treated as permission to continue when proof is absent or can be bypassed before the mutation sink.\n\n## ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T01:00:35Z","updatedAt":"2026-08-27T01:00:35Z","submittedAt":"2026-08-27T01:00:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95954#pullrequestreview-5036335653"},"data":{"createdAt":"2026-08-27T01:00:35Z","occurredAt":"2026-08-27T01:00:35Z","pullRequest":{"createdAt":"2026-08-27T00:39:48Z","id":"PR_kwDOPRF1G88AAAABBJP4Tw","mergedAt":null,"number":95954,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(gateway): block direct-spawn self-lifecycle","updatedAt":"2026-08-30T00:35:56Z","url":"https://github.com/NousResearch/hermes-agent/pull/95954"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T01:00:35Z","updatedAt":"2026-08-27T01:00:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/95954#pullrequestreview-5036335653","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLDfXyw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLDfXyw","summary":"Reviewed exact head `84838b516d48a15cb5b776d463ba8fa619fd163f` against live `main@791e2ae3257e211d14ca77e654dfe10ee1976a1c`. The branch is 1 commit ahead / 26 behind its live-main merge base `79b8703d005f284bc5a6756e0c48f2e2488e029d`; the 26 main-only commits are path-disjoint from this PR's four files at review time. There were no prior submitted reviews on this head.\n\nThere is good work here. The named-task path never enumerates the ready queue, takes the same dispatch lock as board-global dispatch, preserves the ordinary dependency/ESTOP/profile/concurrency/failure/cooldown/workspace gates, and gives callers a strict feature-detectable JSON result. The `exact_dispatched` event is also the right direction for distinguishing an exact recovery request from an unrelated global claim.\n\nI have two blockers before this should become the recovery authority for #95900.\n\n## P1 — idempotent success can report a dead worker as live\n\n`hermes_cli/kanban_db.py::dispatch_task_once()` treats this tuple as sufficient proof of success on a repeated request:\n\n- task row is still `status == \"running\"`;\n- `current_run_id` is present; and\n- that run has an `exact_dispatched` event.\n\nThe fast path then","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T02:51:19Z","updatedAt":"2026-08-27T02:51:19Z","submittedAt":"2026-08-27T02:51:19Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95996#pullrequestreview-5036824523"},"data":{"createdAt":"2026-08-27T02:51:19Z","occurredAt":"2026-08-27T02:51:19Z","pullRequest":{"createdAt":"2026-08-27T02:06:53Z","id":"PR_kwDOPRF1G88AAAABBJmXWQ","mergedAt":null,"number":95996,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(kanban): add atomic exact-task dispatch","updatedAt":"2026-08-27T02:51:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/95996"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T02:51:19Z","updatedAt":"2026-08-27T02:51:19Z","url":"https://github.com/NousResearch/hermes-agent/pull/95996#pullrequestreview-5036824523","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLdMccA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLdMccA","summary":"Reviewed exact head `59947a2f676a5c39b3aa904e99c8d899b7575fb4` against current `main@1f99a4b2f2982fbef06df00ad673ade4e1895668` and the closed #98137 / diagnostic #98867 lineage.\n\nThe narrow lease semantics are sound: the pre-publication extension is holder-qualified and occurs on the publication transaction’s connection, so a reclaimed lock cannot be resurrected; the split-failure cooldown is guarded so it cannot mask the original exception, and the real `_compress_context` path is covered. Three acceptance blockers remain.\n\n1. **This regrows three >2K files.** The production edits land in `hermes_state.py` around 7,045+ and `agent/conversation_compression.py` around 4,714/5,001, and the regression edit lands in `tests/agent/test_compression_concurrent_fork.py` around 2,227. Under the current no-regrowth gate, this release object cannot land with new authority/test behavior added inside those godfiles. Extract the new settlement/cooldown behavior and the added regression into bounded owners rather than extending them.\n\n2. **The four-commit release train is not exact-green.** HEAD CI [33364635532](https://github.com/NousResearch/hermes-agent/actions/runs/33364635532) fails `check-at","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T06:46:01Z","updatedAt":"2026-08-31T06:46:01Z","submittedAt":"2026-08-31T06:46:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99216#pullrequestreview-5063777392"},"data":{"createdAt":"2026-08-31T06:46:01Z","occurredAt":"2026-08-31T06:46:00Z","pullRequest":{"createdAt":"2026-08-31T06:32:45Z","id":"PR_kwDOPRF1G88AAAABBj_8iA","mergedAt":"2026-08-31T08:39:43Z","number":99216,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(compression): in-transaction lease refresh before publish; cooldown on split failure (#97948 symptom B)","updatedAt":"2026-08-31T08:39:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/99216"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T06:46:00Z","updatedAt":"2026-08-31T06:46:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/99216#pullrequestreview-5063777392","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLdmloQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLdmloQ","summary":"Reviewed exact head `d49361cc7188e90199de1bb68f3aa5e2f9388c5d` against live `main@1f99a4b2f2982fbef06df00ad673ade4e1895668`, the source Layer-3 review on #97797, landed Layers 1–2, and the still-open safety carrier #99107.\n\nThe source authorization blocker from #97797 is preserved as fixed here. Target-side grant refresh compares the live execution-policy digest to the digest authorized by the existing grant and returns typed `room_reauthorization_required` on drift. The home side passes the frozen capability/policy digests through `refresh_grant()`, probes the replacement grant before publication, refuses either execution-policy or catalog drift, marks the route `needs_reauthorization`, and does not rewrite a pending dispatch to newly observed authority. The new HTTP-level regression closes the prior sabotage gap at the real `/v1/room-members/grants/refresh` handler. I also rechecked the scoped transport: dispatch/status/approval/stop require a Room grant, durable run receipts carry exact room/home/authority-epoch/member/target/task/generation scope, ambiguous POST admission is tied to the idempotency key, and response reads are byte/deadline bounded.\n\nThe main implementation comm","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T07:49:01Z","updatedAt":"2026-08-31T07:49:02Z","submittedAt":"2026-08-31T07:49:01Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99244#pullrequestreview-5064205729"},"data":{"createdAt":"2026-08-31T07:49:01Z","occurredAt":"2026-08-31T07:49:01Z","pullRequest":{"createdAt":"2026-08-31T07:06:26Z","id":"PR_kwDOPRF1G88AAAABBkL9Ag","mergedAt":"2026-08-31T08:04:12Z","number":99244,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(bot-mode): Group Chats span gateways — laptop, homelab, and VPS bots in one room (salvage #97797)","updatedAt":"2026-08-31T08:04:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/99244"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T07:49:01Z","updatedAt":"2026-08-31T07:49:02Z","url":"https://github.com/NousResearch/hermes-agent/pull/99244#pullrequestreview-5064205729","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLdnGaw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLdnGaw","summary":"Reviewed exact head `8e3903adc4a738a88621d8cad49e709b5ef1275c` against `main@1f99a4b2f2982fbef06df00ad673ade4e1895668`. The PR base is current main, so there is no base drift to discount. I read the complete two-file diff, the production parent-death watchdog/marker implementation, the current watchdog regression suite, the hard-exit test surface, existing PR discussion, the related macOS parent-marker issue/PR graph, and the exact-head hosted execution state.\n\n**Source verdict: clear.** I do not have a code-level blocker on this head.\n\nThe two layers are placed at the right boundaries:\n\n- Scrubbing `HERMES_DESKTOP`, `HERMES_PARENT_*`, `HERMES_SERVE_*`, and `HERMES_SPAWN` in the root hermetic-environment fixture removes inherited process authority before an ordinary in-process test can accidentally arm production lifecycle machinery. That is stronger than patching only `test_dashboard_auth_gate.py`, because the defect class is ambient Desktop lineage leaking into any test that happens to enter `start_server()`.\n- The package-wide `os._exit` tripwire is useful independent defense in depth. Installing it for the pytest session closes the observed teardown/setup race rather than relyi","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T07:50:17Z","updatedAt":"2026-08-31T07:50:17Z","submittedAt":"2026-08-31T07:50:17Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99263#pullrequestreview-5064214123"},"data":{"createdAt":"2026-08-31T07:50:17Z","occurredAt":"2026-08-31T07:50:17Z","pullRequest":{"createdAt":"2026-08-31T07:33:22Z","id":"PR_kwDOPRF1G88AAAABBkXXNg","mergedAt":null,"number":99263,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tests): stop test_dashboard_auth_gate.py from hard-exiting the pytest process","updatedAt":"2026-08-31T07:50:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/99263"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T07:50:17Z","updatedAt":"2026-08-31T07:50:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/99263#pullrequestreview-5064214123","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLDrFAw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLDrFAw","summary":"Re-review on exact head `b0c4626244690c1f0db463cf580627ba68c8e2a0` against base/current `main@791e2ae3257e211d14ca77e654dfe10ee1976a1c`.\n\nNo blocker from this pass. The provider-boundary defect from #93815 is closed on this object without sacrificing native replay semantics:\n\n- Bedrock ordered blocks remain durable in `bedrock_content_blocks`, are carried through `NormalizedResponse.provider_data`, and are projected back into Converse in original reasoning/tool order.\n- `ChatCompletionsTransport.convert_messages()` now treats both `bedrock_content_blocks` and `anthropic_content_blocks` as native-provider sidecars and removes them copy-on-write before a Chat Completions wire request, so strict OpenAI-compatible endpoints never see unknown message keys.\n- The original history object is left intact, which is the important other side of the shape: switching away from Bedrock no longer poisons the request, while switching back can still replay the exact opaque Bedrock blocks.\n- `test_convert_messages_strips_provider_replay_sidecars` proves the wire projection and original-history preservation. `test_bedrock_transport_preserves_reasoning_and_order` covers both streaming and non-streaming","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T03:38:53Z","updatedAt":"2026-08-27T03:38:53Z","submittedAt":"2026-08-27T03:38:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96018#pullrequestreview-5037016323"},"data":{"createdAt":"2026-08-27T03:38:53Z","occurredAt":"2026-08-27T03:38:53Z","pullRequest":{"createdAt":"2026-08-27T02:31:02Z","id":"PR_kwDOPRF1G88AAAABBJsi_g","mergedAt":null,"number":96018,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(bedrock): preserve replay blocks across provider switches","updatedAt":"2026-08-27T05:29:20Z","url":"https://github.com/NousResearch/hermes-agent/pull/96018"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T03:38:53Z","updatedAt":"2026-08-27T03:38:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/96018#pullrequestreview-5037016323","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLdSnEg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLdSnEg","summary":"Reviewed exact head `ec04de4c51c6b586fa48d5bb8aaac6b11ab30b6f` against current `main` `1f99a4b2f2982fbef06df00ad673ade4e1895668` and the current synthetic merge `513678eb42c311786cd1184bad4350a3e52c6221`. The branch merge-base is `ff3835a630deb1f03054806d91ae5712b76f16d1` (22 current-main commits have landed since that base), so I also checked the merge result rather than treating the branch tip as current-main proof. There were no submitted reviews or PR comments on this head before this review.\n\nThere is good work here. A `ContextVar` is the right concurrency primitive for routed profile state; suppressing the old one-shot bridge while a scope is active is the right direction; and moving a broad set of terminal/CWD readers through a single scope seam is materially better than re-bridging `os.environ` per request. The alternating explicit docker/local tests prove the first-writer-wins backend latch that motivated this PR is removed on the gateway path.\n\nI would not land this head yet, though. The current scope is still not an authoritative profile policy: it can widen back into ambient process authority, it is not installed on the unified dashboard/TUI turn path that #98581 report","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T07:03:00Z","updatedAt":"2026-08-31T07:03:01Z","submittedAt":"2026-08-31T07:03:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99225#pullrequestreview-5063878418"},"data":{"createdAt":"2026-08-31T07:03:00Z","occurredAt":"2026-08-31T07:03:00Z","pullRequest":{"createdAt":"2026-08-31T06:46:22Z","id":"PR_kwDOPRF1G88AAAABBkE5oQ","mergedAt":null,"number":99225,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(terminal): scope terminal config per turn under profile multiplexing","updatedAt":"2026-08-31T07:03:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/99225"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T07:03:00Z","updatedAt":"2026-08-31T07:03:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/99225#pullrequestreview-5063878418","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLDSWfg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLDSWfg","summary":"Reviewed exact head `f751838e621a3e77b22df004eb086f93db0ea75b` against live `main@7a1aafb4e1dac5d2840cd3ab524f6d6bd0658694`. The current object is 13 commits ahead / 12 behind its actual live-main merge base `e1e72f109c9540d6ed2aceeaf1b5bfcacbab5efc`. There were no existing PR comments/reviews when I started. I read the three RoomLink-specific commits above `f9821fb1caf67fa54895fe312cd0896067ebdef3`, the exact grant/catalog/dispatch ABI, the HTTP and peer-session transports, Desktop capability planning, relevant tests, source-PR lineage, exact-head CI, and the surrounding hosted-room stack.\n\nThere is a lot here worth preserving. The v2 grant expands authority into explicit room/home/authority/member/target/profile coordinates rather than a bearer-shaped ambient permission; `HostedMemberDispatch` binds task + execution generation + source sequence + prompt/capability digests; non-loopback RoomLink is HTTPS-only; credentialed HTTP goes through the cross-origin header guard; response-loss recovery replays one deterministic admission identity; and Stop stays tied to the exact attempt instead of guessing from current presentation state. The preserved source lineage from #88408 (`pesho-v","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T01:59:59Z","updatedAt":"2026-08-27T01:59:59Z","submittedAt":"2026-08-27T01:59:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95966#pullrequestreview-5036611198"},"data":{"createdAt":"2026-08-27T01:59:59Z","occurredAt":"2026-08-27T01:59:59Z","pullRequest":{"createdAt":"2026-08-27T01:23:45Z","id":"PR_kwDOPRF1G88AAAABBJbW6w","mergedAt":null,"number":95966,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(bot-mode): add scoped cross-gateway RoomLink","updatedAt":"2026-08-29T05:25:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/95966"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T01:59:59Z","updatedAt":"2026-08-27T01:59:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/95966#pullrequestreview-5036611198","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLe31zg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLe31zg","summary":"Re-review at exact head `4021baa66dc39aee0f1f23891b843ca91cd6bc5c`.\n\nThe follow-up implementation closes the original cross-provider poisoning defect. `ChatCompletionsTransport.convert_messages()` now includes both `bedrock_content_blocks` and `anthropic_content_blocks` in the existing copy-on-write sanitizer, removes them only from cloned Chat Completions wire messages, and leaves durable history intact. The new regression proves wire omission plus original-history preservation. The Bedrock replay suite still crosses raw response → adapter → transport → assistant history → future Converse request for streaming and non-streaming paths, preserving byte-identical opaque blocks and exact reasoning/tool interleaving. The duplicate carrier #96018 remains closed.\n\nI also read the live-main landing seam. Current `main` is `38b7d0f4cf8a11137d8da5e3d95d7b5b7e41fb46`; its Chat Completions sanitizer has evolved, but this two-sidecar projection belongs in the same copy-on-write path and I found no new code-level composition blocker. GitHub currently reports this PR mergeable.\n\nThis is not landing-ready yet. Exact-head [CI 33042607545](https://github.com/NousResearch/hermes-agent/actions/runs/3","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T10:41:32Z","updatedAt":"2026-08-31T10:41:32Z","submittedAt":"2026-08-31T10:41:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93815#pullrequestreview-5065536974"},"data":{"createdAt":"2026-08-31T10:41:32Z","occurredAt":"2026-08-31T10:41:32Z","pullRequest":{"createdAt":"2026-08-24T11:10:44Z","id":"PR_kwDOPRF1G88AAAABAybxbw","mergedAt":null,"number":93815,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(agent): preserve Bedrock redacted reasoning for replay","updatedAt":"2026-08-31T12:41:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/93815"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T10:41:32Z","updatedAt":"2026-08-31T10:41:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/93815#pullrequestreview-5065536974","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLe4otA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLe4otA","summary":"Landing-edge correction to my immediately preceding exact-head review: upstream `main` advanced again during the review window and is now `38b7d0f4cf8a11137d8da5e3d95d7b5b7e41fb46`, six commits beyond the `446563262e...` snapshot I cited there.\n\nI compared that exact interval. The new changes are credential/env/config/web-state fixes plus contributor mappings; there is no `gateway/hosted_room*`, `tui_gateway/methods_groups.py`, or hosted-room replica test path in the interval. #99107 remains open, exact head remains `2558fb7904`, and GitHub still reports it mergeable.\n\nSo the main-SHA sentence in the prior review is stale, but the substantive verdict is unchanged: the safety object itself has not moved, its exact CI/Docker/Nix proof remains valid, the 2K shard remains the submitted object, and I find no new collision from current main. A future head rewrite still requires fresh proof.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T10:42:53Z","updatedAt":"2026-08-31T10:42:53Z","submittedAt":"2026-08-31T10:42:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99107#pullrequestreview-5065550004"},"data":{"createdAt":"2026-08-31T10:42:53Z","occurredAt":"2026-08-31T10:42:53Z","pullRequest":{"createdAt":"2026-08-31T04:35:16Z","id":"PR_kwDOPRF1G88AAAABBjcWnQ","mergedAt":null,"number":99107,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(bot-mode): keep Group Chat replicas passive until takeover is fenced","updatedAt":"2026-08-31T10:42:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/99107"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T10:42:53Z","updatedAt":"2026-08-31T10:42:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/99107#pullrequestreview-5065550004","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLe4vJw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLe4vJw","summary":"Landing-edge correction to my immediately preceding exact-head review: upstream `main` moved during the review window and is now `38b7d0f4cf8a11137d8da5e3d95d7b5b7e41fb46`, six commits beyond the `446563262e...` snapshot cited there.\n\nI compared that exact interval. The new main work is credential/env/config/web-state repair plus contributor mappings; it introduces no hosted-room gateway path, no Desktop Hermes Bots path, and no `contributors/emails/solomoj94@gmail.com` collision. #97846 remains open at exact head `52f80019d2`, still contains the same three surviving commits, and GitHub still reports it mergeable.\n\nSo the earlier main-SHA sentence is stale, but the release-train verdict is unchanged: all three surviving objects still have their own successful CI/Docker/Nix receipts, the #99107 safety object is unchanged, and the Layer-4 `4123` durability repair remains on the reviewed head. Any subsequent head rewrite still requires fresh exact-object proof.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T10:43:03Z","updatedAt":"2026-08-31T10:43:03Z","submittedAt":"2026-08-31T10:43:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97846#pullrequestreview-5065551655"},"data":{"createdAt":"2026-08-31T10:43:03Z","occurredAt":"2026-08-31T10:43:03Z","pullRequest":{"createdAt":"2026-08-29T10:40:04Z","id":"PR_kwDOPRF1G88AAAABBbvszg","mergedAt":null,"number":97846,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(bot-mode): add automatic Group Chat continuity","updatedAt":"2026-08-31T10:43:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/97846"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T10:43:03Z","updatedAt":"2026-08-31T10:43:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/97846#pullrequestreview-5065551655","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLeGP9Q","kind":"review","label":"PRR_kwDOPRF1G88AAAABLeGP9Q","summary":"Re-reviewing the materially updated exact head `2f5aa8889b6dbc80968097a8cedd679386869e01` against PR base `1cf36398135f4848a1d04b2167ffb564b7881d35` and current upstream `main@3aee290899e478c5fdfb6a241ef62758a49829b3`. I read the full 10-file diff, the seven submitted commits, the current tests, the previous review/remediation thread, the Veto consumer, exact-head workflow state, and the overlapping routing/plugin PR graph.\n\nFirst: the three P1s from my prior review are genuinely closed on this head. The gateway now carries a durable `session_key` into both command/control and `turn_route`, the plugin-visible runtime projection no longer leaks ACP command/argv, and CLI routing is turn-local rather than mutating the configured runtime. The added rotation/redaction/two-turn tests are pointed at the right invariants, and Veto #60 is the correct consumer-side repair for stable control identity. That is meaningful progress.\n\nI found one new P1 in the *other side* of the route projection: input is now safely redacted, but the returned public route is not realized according to the ABI it advertises.\n\n### P1 — `requested_provider` / runtime-hint decisions can be silently ignored and execut","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T08:59:14Z","updatedAt":"2026-08-31T08:59:14Z","submittedAt":"2026-08-31T08:59:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98703#pullrequestreview-5064724469"},"data":{"createdAt":"2026-08-31T08:59:14Z","occurredAt":"2026-08-31T08:59:14Z","pullRequest":{"createdAt":"2026-08-30T16:29:16Z","id":"PR_kwDOPRF1G88AAAABBg8GUQ","mergedAt":null,"number":98703,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat: add safe pre-agent turn routing middleware","updatedAt":"2026-08-31T10:01:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/98703"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T08:59:14Z","updatedAt":"2026-08-31T08:59:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/98703#pullrequestreview-5064724469","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLejISQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLejISQ","summary":"Reviewed exact head `c288e831c8333ea814b43aacacf17215f706d222` against base/current `main@3aee290899e478c5fdfb6a241ef62758a49829b3`. I read the full five-file patch, the new redaction/exception regressions, current `agent.secret_scope` resolution contract, exact-head Actions state, existing PR discussion/reviews (none), and the overlapping tool-result redaction graph. The direction is good: redaction is moved ahead of observers/persistence/model replay, exceptions no longer stringify full tracebacks, runtime-main provider credentials are included, and the new tests exercise real sequential dispatch rather than only unit-level regexes.\n\nI do see two landing blockers, one behavioral and one ownership/merge-order, plus the hosted acceptance gate.\n\n### P1 — the exact-value secret set does not match Hermes' actual secret-resolution authority\n\n`agent/redact.py::_runtime_loaded_secret_values()` treats any non-`None` `current_secret_scope()` as the complete credential universe:\n\n```py\nif scope is not None:\n    candidates = list(scope.values())\nelse:\n    candidates = [credential-shaped os.environ values]\n```\n\nThat is not the contract implemented by `agent.secret_scope.get_secret()` on this ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T09:54:43Z","updatedAt":"2026-08-31T09:54:43Z","submittedAt":"2026-08-31T09:54:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99306#pullrequestreview-5065197641"},"data":{"createdAt":"2026-08-31T09:54:43Z","occurredAt":"2026-08-31T09:54:43Z","pullRequest":{"createdAt":"2026-08-31T09:47:36Z","id":"PR_kwDOPRF1G88AAAABBlQjig","mergedAt":null,"number":99306,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): redact secrets at generic tool boundaries","updatedAt":"2026-08-31T15:23:38Z","url":"https://github.com/NousResearch/hermes-agent/pull/99306"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T09:54:43Z","updatedAt":"2026-08-31T09:54:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/99306#pullrequestreview-5065197641","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLERKCQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLERKCQ","summary":"Final exact-object read-back after the review above: the code head is still unchanged at `dabb369fd8c6b6b6ebfaa67bbfb95eeddb19b56b` on `main@1a66134404b891170e953f51662e6429f0b7b5a9`, but GitHub now reports the PR as **non-mergeable**. Exact-head CI `33043453559` is also terminal red in `JS & TS checks / JS & TS checks` (`98422031635`), while Docker `33043453027` and Nix `33043453177` are green. This is a topology/evidence update only; it does not change either P1 finding or the godfile-regrowth gate in review 5037631225.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T05:53:11Z","updatedAt":"2026-08-27T05:53:12Z","submittedAt":"2026-08-27T05:53:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96110#pullrequestreview-5037640201"},"data":{"createdAt":"2026-08-27T05:53:11Z","occurredAt":"2026-08-27T05:53:11Z","pullRequest":{"createdAt":"2026-08-27T05:44:16Z","id":"PR_kwDOPRF1G88AAAABBKfSIQ","mergedAt":"2026-08-27T09:17:57Z","number":96110,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"fix(desktop/sessions): legacy NULL-owner session migration — single-match owner backfill + read-only stored-transcript resume (#94724)","updatedAt":"2026-08-27T09:18:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/96110"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T05:53:11Z","updatedAt":"2026-08-27T05:53:12Z","url":"https://github.com/NousResearch/hermes-agent/pull/96110#pullrequestreview-5037640201","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLfdxcQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLfdxcQ","summary":"There is a lot of strong, useful hardening here. Moving untrusted GitHub expression values into environment variables closes the right shell-evaluation boundary; the App-token caller census is coherent across all four local-action call sites; the `gateway.session_context` import contract becomes transitive rather than one-hop; and the audit receipt at least starts from the right exact-object ingredients (HEAD, dirty state, bounded stdout/stderr hashes). I read this against exact head `54ece37526ab9c7377b063e6b607ca59365e9a66`, base `38b7d0f4cf8a11137d8da5e3d95d7b5b7e41fb46`, current `main` `64b96bb5d2755f1d34347e1fb15924a97d652f31`, the full 16-file diff, the touched workflow callers, current CI topology, and the adjacent authority/supply-chain work.\n\nI do not think this is ready to be treated as a governed/exact audit authority yet. There are two receipt-level blockers, one shared-token correctness gap, and no hosted exact-head acceptance receipt.\n\n### P1 — the receipt records the *declared* tool version, not the realized tool that actually ran\n\nIn `scripts/audit_external_tooling.py`, `AuditCommand.expected_version` is populated (`zizmor=1.30.0`, `import-linter=2.14`, `pip-audit=2","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T11:58:51Z","updatedAt":"2026-08-31T11:58:51Z","submittedAt":"2026-08-31T11:58:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99351#pullrequestreview-5066158449"},"data":{"createdAt":"2026-08-31T11:58:51Z","occurredAt":"2026-08-31T11:58:51Z","pullRequest":{"createdAt":"2026-08-31T11:26:49Z","id":"PR_kwDOPRF1G88AAAABBl6HcA","mergedAt":null,"number":99351,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Harden external capability audit and CI authority","updatedAt":"2026-08-31T11:58:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/99351"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T11:58:51Z","updatedAt":"2026-08-31T11:58:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/99351#pullrequestreview-5066158449","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLFFL5A","kind":"review","label":"PRR_kwDOPRF1G88AAAABLFFL5A","summary":"Reviewed exact head `61e6d8579abda39f6c7431bedd4fb15a01de69be` against live `main@c693c772b55ba412da21405a230a5431353fd816`, including the full 12-file diff, the execution-evidence producer/consumer paths, ACP edit approval, managed-process aggregation, gateway delivery/streaming changes, focused tests, existing review/comment state, exact-head CI state, and the overlapping architecture work. There were no prior reviews or PR comments when I started.\n\nThe core direction is valuable. Moving status derivation out of model prose is the right idea; keeping the receipt structured and rendering it only at delivery boundaries is also a good separation. The Codex path is especially careful about requiring a projected tool result instead of treating a call-shaped assistant item as execution. The gateway fallback work also tries hard not to lose the receipt when streaming finalization fails. There is real work here worth preserving.\n\nI found two P1 correctness/landing blockers plus one hard architecture gate.\n\n## P1 — `tool_calls` is recorded before the final execution-authority gate, so a denied edit can be reported as `completed`\n\nThe new helper says it records a call only after “every blo","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T07:57:32Z","updatedAt":"2026-08-27T07:57:32Z","submittedAt":"2026-08-27T07:57:31Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96165#pullrequestreview-5038492644"},"data":{"createdAt":"2026-08-27T07:57:32Z","occurredAt":"2026-08-27T07:57:31Z","pullRequest":{"createdAt":"2026-08-27T07:30:03Z","id":"PR_kwDOPRF1G88AAAABBLExBA","mergedAt":null,"number":96165,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat: add authoritative execution receipts","updatedAt":"2026-08-27T07:57:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/96165"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T07:57:31Z","updatedAt":"2026-08-27T07:57:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/96165#pullrequestreview-5038492644","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLFTSKQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLFTSKQ","summary":"Reviewed exact head `9aa1e30f4ae096cce98bff592a62a94d1d04e737` against live `main@93a29d110db7724f18959cb941aae3520fb587ac`, including all six changed files, the full Baileys bridge send/read surfaces, adapter send/read paths, direct send-tool path, exact-head workflows, the related silent-monitoring issue, and overlapping WhatsApp safety work. There were no existing comments or reviews on this PR when I started.\n\nThe layering is good: the adapter gate, standalone sender, direct `send_message` tool, and bridge middleware all fail before their normal transport work; the lock-file override is simple to operate; and the config gate is profile-local through `config.extra` rather than inventing a second config parser. Keeping inbound polling alive while outbound is stopped is also the right operational shape for a kill switch.\n\nI found two P1 holes in the hard-lock contract. They are both the same class: **the stop proof is checked before the irreversible effect, but not consumed at the effect boundary.**\n\n## P1 — an admitted queued send can execute after the emergency lock is created\n\nIn `scripts/whatsapp-bridge/bridge.js`, the new middleware checks `OUTBOUND_LOCK_PATH` when `/send`, `","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T08:26:05Z","updatedAt":"2026-08-27T08:26:05Z","submittedAt":"2026-08-27T08:26:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96146#pullrequestreview-5038723625"},"data":{"createdAt":"2026-08-27T08:26:05Z","occurredAt":"2026-08-27T08:26:05Z","pullRequest":{"createdAt":"2026-08-27T06:54:19Z","id":"PR_kwDOPRF1G88AAAABBK2yqw","mergedAt":null,"number":96146,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(whatsapp): add emergency outbound send lock","updatedAt":"2026-08-27T08:26:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/96146"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T08:26:05Z","updatedAt":"2026-08-27T08:26:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/96146#pullrequestreview-5038723625","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLfVZsA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLfVZsA","summary":"Landing-edge correction: `main` advanced once more after my review to `8fd144c50281a44c65288f18b4f0ec918a55d8e1`. I compared the exact `fa2dd2802… → 8fd144c5…` interval: it changes only `hermes_cli/web_server.py`, `tests/hermes_cli/test_model_assignment_env_key_mirror.py`, and `tests/hermes_cli/test_model_set_secret_copy.py`. Those paths are disjoint from #98072's current FILE-LIST, so the source/cleanup verdict and exact-head CI receipts on `e5c2a8006c` remain unchanged. No new landing-edge collision was introduced.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T11:43:53Z","updatedAt":"2026-08-31T11:43:53Z","submittedAt":"2026-08-31T11:43:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98072#pullrequestreview-5066021296"},"data":{"createdAt":"2026-08-31T11:43:53Z","occurredAt":"2026-08-31T11:43:53Z","pullRequest":{"createdAt":"2026-08-29T18:17:41Z","id":"PR_kwDOPRF1G88AAAABBdRyJQ","mergedAt":null,"number":98072,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(bot-mode): share Group Chat files across gateways","updatedAt":"2026-08-31T11:43:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/98072"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T11:43:53Z","updatedAt":"2026-08-31T11:43:53Z","url":"https://github.com/NousResearch/hermes-agent/pull/98072#pullrequestreview-5066021296","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLgC_HQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLgC_HQ","summary":"Reviewed exact head `38ab88d7e3452fc379dbdd5e76f961ff436eff04` against current `main` `89c28ccf7b7922620fd42b69a6001d7307d94a48` and the live memory/guardrail/approval graph.\n\nI checked the two-file diff, the turn-boundary reset in `agent/turn_context.py`, every guarded mutation entry point (`add` / `replace` / `remove` / `apply_batch`), `_success_response()`, staged approval replay, `ToolCallGuardrailController` + failure classification, #81120, triaged duplicate #99202, the merged #42405 predecessor lineage (#55526, including the earlier #42417 contribution from liuhao1024), and the relevant open memory work. Exact-head CI `33383467460`, Docker `33383466676`, and Nix `33383466623` are green.\n\nThere is a good boundedness primitive here: after six store-level successes, the next mutation is refused before state changes; the atomic batch path is covered; idempotent duplicate adds consume budget; and the existing turn-start hook really does reset the new counter. That materially reduces the maximum amount of additional disk churn in one store instance.\n\nI do not think this can close #81120 yet, for two concrete reasons.\n\n**P1 — the seventh-write refusal does not actually settle the a","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T13:03:57Z","updatedAt":"2026-08-31T13:03:57Z","submittedAt":"2026-08-31T13:03:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99332#pullrequestreview-5066768157"},"data":{"createdAt":"2026-08-31T13:03:57Z","occurredAt":"2026-08-31T13:03:57Z","pullRequest":{"createdAt":"2026-08-31T10:40:19Z","id":"PR_kwDOPRF1G88AAAABBlmoSQ","mergedAt":null,"number":99332,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(memory): cap successful writes per turn to stop success-only mutation loops","updatedAt":"2026-08-31T13:03:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/99332"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T13:03:57Z","updatedAt":"2026-08-31T13:03:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/99332#pullrequestreview-5066768157","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLGj1mw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLGj1mw","summary":"Exact-head topology review for `771ed1b04b0d7c2a5a1fd42340994269d17c22ed`.\n\nThis is a real fix for #96282's Python-level stream-redirection regression, and the separate-stream test closes the hole that let merged-stderr CI miss it. But this PR should not be treated as the general Desktop readiness fix, and it should not race a second carrier for the same two-file defect.\n\nTwo current facts matter:\n\n1. #96292 now changes the same two paths for the same #96282 root cause, but emits the sentinel once directly to the original stdout instead of first printing through redirected `sys.stdout` and then duplicating it through `sys.__stdout__`. These carriers should be consolidated to one implementation before merge; landing both would be duplicate work in the same source/test seam.\n2. #96280 is a distinct Windows realization failure. On the reported uv-managed venv, Electron owns the launcher process while the serving interpreter is a grandchild, and **no child.stdout chunks reach Electron at all** even though the backend is healthy. Writing fd 1 correctly inside the interpreter fixes #96282's `sys.stdout` rebind, but it does not prove that the launcher's inherited pipe reaches Electron on ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T11:07:36Z","updatedAt":"2026-08-27T11:07:36Z","submittedAt":"2026-08-27T11:07:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96289#pullrequestreview-5040043419"},"data":{"createdAt":"2026-08-27T11:07:36Z","occurredAt":"2026-08-27T11:07:36Z","pullRequest":{"createdAt":"2026-08-27T11:00:19Z","id":"PR_kwDOPRF1G88AAAABBMcxhA","mergedAt":null,"number":96289,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(serve): write READY sentinel to real fd 1 so desktop handshake survives stdout redirect","updatedAt":"2026-08-27T11:42:38Z","url":"https://github.com/NousResearch/hermes-agent/pull/96289"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T11:07:36Z","updatedAt":"2026-08-27T11:07:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/96289#pullrequestreview-5040043419","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLGj9dw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLGj9dw","summary":"Exact-head review for `4be6207cbd1a8e137d931b13f2b50aae81e13fe4`.\n\nFor #96282 specifically, this is the cleaner of the two live carriers I found. It changes the same two-file seam as #96289, emits the READY token once through the interpreter's original stdout instead of duplicating it across redirected stderr + original stdout, and its regression test separates the streams and asserts the token does not leak to stderr. That matches the reported macOS/current-main defect class.\n\nThe topology claim in the PR body needs one correction before this is used to close adjacent reports: #96280 is **not** proved by this fix. Its Windows reproduction is below the Python `sys.stdout` layer: Electron waits on the uv venv launcher, the real interpreter is a grandchild, and the reporter observed zero stdout chunks at Electron for the full timeout while the backend was serving normally. `sys.__stdout__` can repair Python-level rebinding without proving that a grandchild fd-1 write traverses the launcher's pipe.\n\nThe repository already contains the explicit other-side contract for that topology: `HERMES_DESKTOP_READY_FILE` on the Python side and `makeDashboardReadyFile()` / `waitForDashboardReadyFi","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T11:07:52Z","updatedAt":"2026-08-27T11:07:52Z","submittedAt":"2026-08-27T11:07:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96292#pullrequestreview-5040045431"},"data":{"createdAt":"2026-08-27T11:07:52Z","occurredAt":"2026-08-27T11:07:52Z","pullRequest":{"createdAt":"2026-08-27T11:05:30Z","id":"PR_kwDOPRF1G88AAAABBMe1nA","mergedAt":null,"number":96292,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(serve): emit READY sentinel on real stdout after tui_gateway rebinds it","updatedAt":"2026-08-27T11:26:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/96292"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T11:07:52Z","updatedAt":"2026-08-27T11:07:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/96292#pullrequestreview-5040045431","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLgpFCg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLgpFCg","summary":"Re-reviewed exact head `862918fda9ebd6517144517befab13a4d4e7b9c5` against current `main@a0a63a1bc21115ba8da7fed6fdb695522dd37c96`. This head materially addresses the earlier source-authority findings: facts now carry target + full artifact SHA identity, the fetch cache re-hashes before reuse, adoption walks the shipped lock and re-hashes realized trees, and release tag admission resolves/checks an immutable SHA. I am **not** carrying the older same-version-SHA/adoption/tag-admission blockers forward.\n\nThere are still three landing blockers on the current object, plus one settlement bug.\n\n### P1 — the normal execution path records a realized digest, then stops proving it\n\nThe source identity is now much stronger, but the other side of the shape is still open: **post-install realization drift**.\n\n`pm/lock.py::Facts.record()` stores `digest=tree_digest(entry)`, but `Facts.installed()` never consumes that digest. Once version + `(target, artifact SHAs)` match, its terminal predicate is only:\n\n```python\nreturn (store_root / fact[\"entry\"]).exists()\n```\n\nThat predicate is then used by `pm/ensure.py::ensure()`, `check()`, `_store_path_dirs()`, and `uv()` to decide whether the existing stor","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T14:03:55Z","updatedAt":"2026-08-31T14:03:55Z","submittedAt":"2026-08-31T14:03:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95281#pullrequestreview-5067392266"},"data":{"createdAt":"2026-08-31T14:03:55Z","occurredAt":"2026-08-31T14:03:55Z","pullRequest":{"createdAt":"2026-08-26T06:01:29Z","id":"PR_kwDOPRF1G88AAAABBCMlaQ","mergedAt":null,"number":95281,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"pm: unified package manager","updatedAt":"2026-08-31T14:03:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/95281"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T14:03:55Z","updatedAt":"2026-08-31T14:03:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/95281#pullrequestreview-5067392266","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLguetQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLguetQ","summary":"Re-reviewed exact release head `a455c712ac3a02c46b3e60019971c4df6531e9c2` against live `main` `a0a63a1bc21115ba8da7fed6fdb695522dd37c96`. The compare is now one commit ahead / zero behind, with the PR commit directly parented on `main`.\n\nThe remaining source blocker from review `5061372765` is closed. In `hermes_state_holders.py`, a non-disappearance `readlink(fd)` failure now consults `_read_proc_argv(pid)` and emits `uninspectable descriptor:` only when `_looks_like_hermes(argv)` identifies a supported Hermes execution target. The two stronger-evidence cases are preserved: once `readlink()` names a watched DB/WAL/SHM path, a subsequent non-disappearance `stat(fd)` failure blocks regardless of argv; alias/non-watched stat uncertainty remains Hermes-qualified.\n\nThe paired regression is at the real repair boundary, not only the helper. `test_uninspectable_unknown_descriptor_uses_hermes_identity_at_repair_boundary` proves unrelated `python3 backup.py` reaches the real `_connect_repair_durable` probe, while `python3 -m hermes_cli.main gateway` refuses before SQLite. The deleted-WAL subprocess witness, same-path/different-inode negative, different-path/same-inode positive, and visible-","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T14:12:52Z","updatedAt":"2026-08-31T14:12:52Z","submittedAt":"2026-08-31T14:12:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97330#pullrequestreview-5067480757"},"data":{"createdAt":"2026-08-31T14:12:52Z","occurredAt":"2026-08-31T14:12:52Z","pullRequest":{"createdAt":"2026-08-28T17:38:26Z","id":"PR_kwDOPRF1G88AAAABBXlYSA","mergedAt":null,"number":97330,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(state): block repair on deleted SQLite holders","updatedAt":"2026-08-31T14:31:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/97330"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T14:12:52Z","updatedAt":"2026-08-31T14:12:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/97330#pullrequestreview-5067480757","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLGYcjA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLGYcjA","summary":"Fresh exact-head re-review on `80e13503042d517f86afedefd3b2b028256d573a` after the current-main restack.\n\nThis is not a transferred old verdict. I rechecked the authority-critical object against the previously cleared `f4ccdf633f4eadeaa2b1864a65ac89ec8b684cd8` head: `gateway/hosted_rooms.py` remains blob `bb8004841357d927401d5d247d5319e1aa2b8401`, `hermes_cli/install_identity.py` remains `28dbba518a6668c31594879e8c53c9f8563643b6`, and `tui_gateway/methods_groups.py` remains `e31cafdf9b63a06913c69a0775eeb4d05120fc0e`, so the previously verified transactional schema, install-identity, and server-issued authority contracts are byte-identical.\n\nThe Desktop plugin did change during the restack, so I re-read that boundary rather than inheriting the prior receipt. The current tree still separates projection from authority: client/local/UI merges conservatively preserve an existing hosted owner instead of accepting a fabricated higher client epoch; `applyHostedRoomAuthority()` is the server-state gate and consumes the `groups.state` owner/epoch/claim lineage before replacement. I do not see the earlier client-minted-owner or client-cleared-owner defect returning.\n\nThe landing edge is exact","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T10:42:34Z","updatedAt":"2026-08-27T10:42:34Z","submittedAt":"2026-08-27T10:42:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95314#pullrequestreview-5039856780"},"data":{"createdAt":"2026-08-27T10:42:34Z","occurredAt":"2026-08-27T10:42:34Z","pullRequest":{"createdAt":"2026-08-26T06:28:35Z","id":"PR_kwDOPRF1G88AAAABBCVPdg","mergedAt":null,"number":95314,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(bot-mode): add durable authority and replay for hosted rooms","updatedAt":"2026-08-29T05:25:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/95314"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T10:42:34Z","updatedAt":"2026-08-27T10:42:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/95314#pullrequestreview-5039856780","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLGYkHg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLGYkHg","summary":"Re-review on exact head `e4580eaa55c2f080c18c5533ee949463eea560fa` after the persistence/topology repair.\n\nThe two substantive blockers from my prior review are closed on this object. `_record_startup_resume_attempt()` now treats a readable, valid ledger plus a successful atomic write as admission authority and returns false on malformed/read failure or publication failure; `_schedule_resume_pending_sessions()` refuses before session-slot/task creation when that authoritative increment is unavailable. The new regressions cover existing-count/write failure, malformed ledger, successful persisted dispatch, malformed sibling state, concurrent clear/admission, failed suspension persistence, and failed resume-marker clearing. `SessionStore.clear_resume_pending()` also restores the in-memory marker if `_save()` fails, so retry evidence is not consumed ahead of durable session state.\n\nThe graph claim is corrected as well: the PR now says `Partially fixes #96181` and keeps #95663/#95548 as the complementary in-boot no-progress owner.\n\nI also need to correct one claim from my prior review. I treated #77738's `GatewayLifecycleMixin` as though it were already repository authority. It is not: ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T10:42:51Z","updatedAt":"2026-08-27T10:42:51Z","submittedAt":"2026-08-27T10:42:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96204#pullrequestreview-5039858718"},"data":{"createdAt":"2026-08-27T10:42:51Z","occurredAt":"2026-08-27T10:42:51Z","pullRequest":{"createdAt":"2026-08-27T08:29:46Z","id":"PR_kwDOPRF1G88AAAABBLdYGQ","mergedAt":null,"number":96204,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): stop hung sessions from auto-resuming on every restart","updatedAt":"2026-08-27T10:42:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/96204"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T10:42:51Z","updatedAt":"2026-08-27T10:42:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/96204#pullrequestreview-5039858718","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLH_wPw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLH_wPw","summary":"Re-reviewed exact head `e0465b1474239f4bd6bea453562510d8efd74d0f`. The remaining preview-action authority blocker is closed on this object.\n\nThe production path now carries one identity from origin through effect:\n\n- `usePreviewRouting()` stamps the routed `preview.open` event's `session_id` onto the created preview tab;\n- `PreviewTilePane` carries that immutable `ownerSessionId` into `PreviewPane`;\n- reader registration binds that exact owner rather than ambient `$activeSessionId`;\n- `desktop-bridge.ts` resolves `$rightRailActiveTabId` first and asks whether that exact live/open tab is owned by the requesting session before admitting a background mutation.\n\nThat closes both prior substitution schedules: foreground-session ambient state can no longer steal ownership from a background opener, and ownership of preview A can no longer authorize a mutation of active preview B. The new production-level regression exercises A foreground / B opener and proves later active-session changes do not rewrite B's owner; the two-live-tabs regression proves authorization is independent of reader-map insertion order.\n\nThe unrelated #89272 fallback change from earlier heads is no longer present in `","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T13:50:42Z","updatedAt":"2026-08-27T13:50:42Z","submittedAt":"2026-08-27T13:50:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95475#pullrequestreview-5041549375"},"data":{"createdAt":"2026-08-27T13:50:42Z","occurredAt":"2026-08-27T13:50:42Z","pullRequest":{"createdAt":"2026-08-26T10:44:06Z","id":"PR_kwDOPRF1G88AAAABBEAP8A","mergedAt":null,"number":95475,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): bind preview actions to the owning session's active tab","updatedAt":"2026-08-27T16:40:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/95475"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T13:50:42Z","updatedAt":"2026-08-27T13:50:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/95475#pullrequestreview-5041549375","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLH-DmQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLH-DmQ","summary":"Reviewed exact head `7c40ceeaaa837b9ff0ba673717f7c00532d52318` against its submitted base `5fc308a70719a83cccdbba4c0e39c23f5a8239d5` and live `main@cced6fa360a589ba50abfde687ef1bcba8ddaf2e`. Live main is only three commits ahead of the submitted base and that drift is path-disjoint (cron/Kanban/contributor-map paths), so the findings below are in this PR's own object rather than landing-main churn. I read all nine changed paths, the room-profile store, the runtime/provider/reasoning resolution sites, the `/model --room` admission path, backup/profile distribution behavior, the focused tests, current CI state, and the active reasoning/channel-override graph. There were no prior reviews or PR comments on this head.\n\nThere is a good core here. The feature-owned sidecar is versioned, writes are RMW-locked across threads/processes, atomic replacement happens only after validation, the command path persists before clearing transient session state, partial convergence is reported rather than called success, and the preset tuple is server-owned rather than taken directly from model/user text. Keeping Fast/service-tier session-only is also the right separation.\n\nI have two P1 contract block","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T13:48:55Z","updatedAt":"2026-08-27T13:48:55Z","submittedAt":"2026-08-27T13:48:55Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96397#pullrequestreview-5041521561"},"data":{"createdAt":"2026-08-27T13:48:55Z","occurredAt":"2026-08-27T13:48:55Z","pullRequest":{"createdAt":"2026-08-27T13:32:37Z","id":"PR_kwDOPRF1G88AAAABBNiA2w","mergedAt":null,"number":96397,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(gateway): support persistent room model profiles","updatedAt":"2026-08-31T14:24:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/96397"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T13:48:55Z","updatedAt":"2026-08-27T13:48:55Z","url":"https://github.com/NousResearch/hermes-agent/pull/96397#pullrequestreview-5041521561","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLh1Quw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLh1Quw","summary":"Follow-up correction on exact head `3fa78dbfd1cfbdd450a1394facde28234c39f32d` against current `main@fc0a10a924ce31a7badd0d7a202dcc0779ef7942`.\n\nThe result-code and durable-quarantine direction remains right, but I missed one P1 fail-open in my prior re-review. #97940's required physical acceptance test is also still absent.\n\n### P1 — truncated `integrity_check` output is being treated as complete FTS provenance\n\n`SessionDB._has_fts_corruption_evidence()` runs `PRAGMA integrity_check` with no argument, collects the returned rows, then authorizes online recovery when `all(...)` returned diagnostics name Hermes FTS tables.\n\nSQLite's own contract is that `integrity_check` reports **at most N errors and N defaults to 100**: https://www.sqlite.org/pragma.html#pragma_integrity_check\n\nThat means the returned list can be only a prefix. With mixed corruption, 100 FTS-scoped diagnostics followed by a canonical-table, index, freelist, or duplicate-page defect is indistinguishable here from FTS-only damage. The method returns `True`; `_try_runtime_fts_rebuild()` or `_enter_fts_fail_open()` can then mutate derived structures and retry the canonical write against a structurally damaged store — th","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T16:10:43Z","updatedAt":"2026-08-31T16:10:43Z","submittedAt":"2026-08-31T16:10:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98090#pullrequestreview-5068640443"},"data":{"createdAt":"2026-08-31T16:10:43Z","occurredAt":"2026-08-31T16:10:43Z","pullRequest":{"createdAt":"2026-08-29T19:12:17Z","id":"PR_kwDOPRF1G88AAAABBdce5g","mergedAt":null,"number":98090,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(state): stop structurally corrupt databases from accepting writes","updatedAt":"2026-08-31T17:02:56Z","url":"https://github.com/NousResearch/hermes-agent/pull/98090"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T16:10:43Z","updatedAt":"2026-08-31T16:10:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/98090#pullrequestreview-5068640443","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLHd8hQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLHd8hQ","summary":"Reviewed exact current head `f7918f6169f39b4cc5c229daccd7c17cd7e6adee` against live `main@5fc308a70719a83cccdbba4c0e39c23f5a8239d5`. This is a direct two-commit child of current main, with no prior review submissions when I started. I read all eight changed paths, the #95705 incident report, the existing gateway authorization semantics, and the overlapping WhatsApp/decomposition work.\n\nThere is good work here. Pulling the bridge's owner signal into `SessionSource` is the right *kind* of provenance improvement; the new explicit operator list is much better than the old unconditional `/sethome` delivery; the sanitizer keeps the existing secret/provider-error ordering; and the second commit repaired the adjacent status-command regression without changing the security implementation. Exact-head CI `33073322676`, Docker `33073321710`, and Nix `33073321721` are all green.\n\nI still see three P1 security-contract failures plus one hard architecture gate before #95705 can be closed.\n\n## P1 — the `/sethome` gate proves an actor/admission fact, then spends it as target authority\n\n`_sethome_target_is_authorized()` is named as a **target** gate, but three of its four grants are not target-bound","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T12:55:09Z","updatedAt":"2026-08-27T12:55:09Z","submittedAt":"2026-08-27T12:55:09Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96350#pullrequestreview-5040995461"},"data":{"createdAt":"2026-08-27T12:55:09Z","occurredAt":"2026-08-27T12:55:09Z","pullRequest":{"createdAt":"2026-08-27T12:28:26Z","id":"PR_kwDOPRF1G88AAAABBNDMhg","mergedAt":null,"number":96350,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): gate /sethome nudge to operator targets; strip tool-render chrome","updatedAt":"2026-08-27T12:55:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/96350"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T12:55:09Z","updatedAt":"2026-08-27T12:55:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/96350#pullrequestreview-5040995461","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLhI-gA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLhI-gA","summary":"Reviewed exact head `6cb60d9cbbf36f4078ecd14b26f18fc6c101a15d` across the full 23-file change, the pre-mutation gate, inventory/supervisor identity capture, durable restart state, restart/reconciliation path, terminal guard, the new focused tests, the live update architecture around #91277/#53480/#53500, the adjacent receipt fix in #99449, and exact-head Actions.\n\nThe core direction is right: moving the fleet stop **before** checkout/venv mutation attacks the torn-module class at the correct boundary instead of trying to heal a mixed interpreter after the fact. Exact unit/label capture before stop, old-PID verification, the systemd/launchd distinction, and exact-unit reconciliation are all materially stronger than profile/glob heuristics. There is good work here.\n\nI do not think this head is safe to land yet, though. There are four class-level holes in the new contract.\n\n### P1 — the supposedly durable restart obligation fails open before the first stop\n\n`run_pre_mutation_quiesce()` says persistence is load-bearing and calls `write_restart_pending_state(...)` before stopping anything, but it ignores the result. The writer catches `OSError` and returns `False` on mkdir/open/fsync/re","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T14:56:10Z","updatedAt":"2026-08-31T14:56:10Z","submittedAt":"2026-08-31T14:56:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99450#pullrequestreview-5067914880"},"data":{"createdAt":"2026-08-31T14:56:10Z","occurredAt":"2026-08-31T14:56:10Z","pullRequest":{"createdAt":"2026-08-31T14:28:15Z","id":"PR_kwDOPRF1G88AAAABBnTFrg","mergedAt":null,"number":99450,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(update): quiesce the running fleet before mutating the checkout","updatedAt":"2026-08-31T16:39:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/99450"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T14:56:10Z","updatedAt":"2026-08-31T14:56:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/99450#pullrequestreview-5067914880","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLhl5jw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLhl5jw","summary":"Final exact-head pass on `0c3a54904150842222e0ed0d90ee255c8cc9791f`.\n\nThe consolidation preserves the exact code tree `ae0d4285ccd1f5357fea591be1ff3a307a9aef20` from the previously source/UAT-reviewed `87c5934dcc588e1efd3327ecc8d105b0dad0a77b`, so the existing same-gateway and cross-gateway byte-equality UAT applies to the current source object rather than an adjacent reconstruction.\n\nEvery surviving release object is now individually green:\n- parent `e5c2a8006c8549eb3a7a1849688e82df17e9b993`: CI `33386477053`, Docker `33386470353`, Nix `33386470776` — all success;\n- head `0c3a54904150842222e0ed0d90ee255c8cc9791f`: CI `33408689617`, Docker `33408688707`, Nix `33408688689` — all success. The head CI includes successful Windows, macOS, JavaScript, lints, Python 3.10/3.11/e2e, targeted memory eval, Lines, and review aggregation jobs.\n\nThere are no unresolved formal review threads. Main drift through `ca9952cbb3087564fb19b5e26a0bb3564a1a3693` is FILE-LIST path-disjoint from this handoff surface. The previous exact-object hosted-proof blocker is closed; I do not find a remaining P1/P2 in this handoff object.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T15:43:35Z","updatedAt":"2026-08-31T15:43:35Z","submittedAt":"2026-08-31T15:43:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99159#pullrequestreview-5068388751"},"data":{"createdAt":"2026-08-31T15:43:35Z","occurredAt":"2026-08-31T15:43:35Z","pullRequest":{"createdAt":"2026-08-31T05:29:02Z","id":"PR_kwDOPRF1G88AAAABBjrtCg","mergedAt":null,"number":99159,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(bot-mode): let Bots hand off files in hosted Group Chats","updatedAt":"2026-08-31T15:43:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/99159"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T15:43:35Z","updatedAt":"2026-08-31T15:43:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/99159#pullrequestreview-5068388751","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLHNvsg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLHNvsg","summary":"Exact-head follow-up on current `516a48d9b23aa48bd2b0bf55b351f6a794bddc23` after the branch advanced one commit during review.\n\nI inspected the delta from reviewed `3312833a631cf29c41a10f1069a0d834e19b9603` to this head. It changes only two documentation/package-surface files: `README.md` adds DeepInfra to the listed built-in backends, and `tools/environments/__init__.py` adds DeepInfra to the built-in backend module description. No implementation, lifecycle, dependency-resolution, or provider-boundary code changed.\n\nSo the three findings in review 5040687165 remain materially unchanged on this exact head:\n\n1. the carrier still bypasses the merged #94400 `TerminalEnvironmentProvider` edge and hardcodes a third-party sandbox through core/godfile surfaces;\n2. ambiguous-create cleanup still uses a non-injective task label as destructive sandbox authority, while final cleanup can still discard the exact sandbox handle after an indeterminate terminate;\n3. `pyproject.toml` still adds `deepinfra==0.3.0` without an exact-head `uv.lock` resolution.\n\nThe new commit actually makes the first architectural decision more explicit by documenting DeepInfra as an eighth built-in; it does not resolv","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T12:25:57Z","updatedAt":"2026-08-27T12:25:57Z","submittedAt":"2026-08-27T12:25:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96335#pullrequestreview-5040730034"},"data":{"createdAt":"2026-08-27T12:25:57Z","occurredAt":"2026-08-27T12:25:57Z","pullRequest":{"createdAt":"2026-08-27T12:09:25Z","id":"PR_kwDOPRF1G88AAAABBM6YMA","mergedAt":null,"number":96335,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(approval): restore plugin-registered skip_container_guards consult","updatedAt":"2026-08-27T12:51:56Z","url":"https://github.com/NousResearch/hermes-agent/pull/96335"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T12:25:57Z","updatedAt":"2026-08-27T12:25:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/96335#pullrequestreview-5040730034","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLhxvnA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLhxvnA","summary":"Reviewed exact head `2836d959021d7e86ec4d274652edc6ec14dd7c1e` against base `ca9952cbb3087564fb19b5e26a0bb3564a1a3693`, including the full three-file diff, #94736 and its incident history, the current `SessionDB` close/read-pool/token-writer lifecycle, #94754, #94816, #78492, the just-merged #88048/#88033 ownership work, adjacent state.db recovery work in #99513, and the repository-wide teardown/generation contract in #90145. Exact-head CI, Nix, and Docker are all green; Python tests/e2e, Windows/macOS, ruff/ty, attribution, supply-chain, and the required-check aggregate are green as well.\n\nThere is a lot that is strong here. The diagnosis of the `None.execute` symptom is concrete, the new regressions use a real SQLite file rather than mocking the persistence primitive, and this version fixes an important defect in the older #78492 guard idea by restoring the CJK extension setup and giving the behavior real coverage. The work is clearly moving the right failure from an opaque `AttributeError` toward an explicit lifecycle model.\n\nI do not think this head is safe to land yet, though, because the recovery currently authorizes more than the evidence proves.\n\n### P1 — `close()` is an ow","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T16:04:00Z","updatedAt":"2026-08-31T16:04:00Z","submittedAt":"2026-08-31T16:04:00Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99509#pullrequestreview-5068582812"},"data":{"createdAt":"2026-08-31T16:04:00Z","occurredAt":"2026-08-31T16:04:00Z","pullRequest":{"createdAt":"2026-08-31T15:41:37Z","id":"PR_kwDOPRF1G88AAAABBn38NQ","mergedAt":null,"number":99509,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(state): self-heal SessionDB writes after close() races an in-flight worker (#94736)","updatedAt":"2026-08-31T17:15:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/99509"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T16:04:00Z","updatedAt":"2026-08-31T16:04:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/99509#pullrequestreview-5068582812","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLIFrqg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLIFrqg","summary":"Follow-up topology decision on the author’s response, still anchored to exact head `e9c7d8f42210f2e0a1e3bc229ccf9e727f3b64f5`, rechecked against live `main@cced6fa360a589ba50abfde687ef1bcba8ddaf2e` and the current dependency graph. The submitted head has not moved, so the original P1 route-proof blocker and hard 2K architecture blocker remain unchanged. This review answers the requested ownership/topology question only.\n\n## Decision\n\nThe proposed repair direction satisfies the architecture gate with two corrections:\n\n1. Do not create a second route authority beside the current runtime resolver.\n2. Do not stack on the current #80138 head; stack on the eventual canonical extracted owner after its declared train and semantic gates have cleared.\n\n## 1. Route realization must have one owner\n\nCurrent main already owns shared provider realization in `hermes_cli/runtime_provider.py::resolve_runtime_provider()`. That path determines effective provider, endpoint, API/transport mode, source, and credentials, and it is consumed by cron and the other runtime entry points.\n\nA new `hermes_cli/runtime_route.py` is acceptable only as a real extraction: it must become the sole implementation of the ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T13:59:32Z","updatedAt":"2026-08-27T13:59:32Z","submittedAt":"2026-08-27T13:59:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96065#pullrequestreview-5041646506"},"data":{"createdAt":"2026-08-27T13:59:32Z","occurredAt":"2026-08-27T13:59:32Z","pullRequest":{"createdAt":"2026-08-27T04:21:06Z","id":"PR_kwDOPRF1G88AAAABBKJUyw","mergedAt":null,"number":96065,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(cron): add per-job fallback boundaries for agent-backed cron jobs","updatedAt":"2026-08-27T13:59:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/96065"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T13:59:32Z","updatedAt":"2026-08-27T13:59:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/96065#pullrequestreview-5041646506","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLiKh0w","kind":"review","label":"PRR_kwDOPRF1G88AAAABLiKh0w","summary":"Reviewed exact `main@936b970e281d5d28e930c5698f36bc4ebb54c7ba` → `head@5aa81d176e9d5737d53168fe24c5bfa1dde0e83b`.\n\nThe revised publication composition is now correct: `_drive()` carries one TTL, holder, and row through refresher give-up into `publish_compression_child(..., require_lease_refresh=True)`, and the suite distinguishes retained-holder success from reclaimed-holder refusal. The #99216 ownership/scope statement is also corrected. [CI](https://github.com/NousResearch/hermes-agent/actions/runs/33415575551), [Docker](https://github.com/NousResearch/hermes-agent/actions/runs/33415574634), and [Nix](https://github.com/NousResearch/hermes-agent/actions/runs/33415574618) are green at this exact head. I am resolving the two superseded inline threads.\n\nThis is still not merge-ready.\n\n## The 240-second number is a zero-latency lower bound, not the production give-up window\n\n`TestGiveUpTiming` timestamps entry into `FlakyDB.refresh_compression_lock()`, whose synthetic failures return immediately. The production method runs `_execute_write()` with `_WRITE_PATIENCE_S = 20.0`; `_run()` waits the 60-second interval only after each call returns. Under exhausted write contention, attempt s","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T16:51:38Z","updatedAt":"2026-08-31T16:51:39Z","submittedAt":"2026-08-31T16:51:38Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98867#pullrequestreview-5068988883"},"data":{"createdAt":"2026-08-31T16:51:38Z","occurredAt":"2026-08-31T16:51:38Z","pullRequest":{"createdAt":"2026-08-30T21:27:16Z","id":"PR_kwDOPRF1G88AAAABBh6KiA","mergedAt":null,"number":98867,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"test(compression): pin the lease refresher's consecutive-failure give-up","updatedAt":"2026-08-31T17:15:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/98867"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T16:51:38Z","updatedAt":"2026-08-31T16:51:39Z","url":"https://github.com/NousResearch/hermes-agent/pull/98867#pullrequestreview-5068988883","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLILHdg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLILHdg","summary":"Reviewed exact head `623c8ffc0a85fc7ffc4b459a0d7d85c722bae902` against current `main` `cced6fa360a589ba50abfde687ef1bcba8ddaf2e`.\n\nThe per-turn state split and cumulative-frame coverage are directionally useful, but this object is not merge-ready. These are runtime delivery/lifecycle blockers, not polish:\n\n1. **[P0] Intermediate reply acks discard terminal errors, so a server-dead stream remains locally live.**\n\n   `WeComAdapter._send_reply_queued(..., is_final=False)` returns a synthetic success immediately. The later `_resolve_reply_ack()` only resolves the frame future and clears the queue; no code awaits that intermediate future or classifies its `body.errcode`. An ack carrying `846604`, `846608`, `6000`, or another terminal failure is therefore consumed and forgotten. The subsequent `except WeComStreamExpiredError` branch for intermediate frames cannot repair this path; it additionally returns `True` and deliberately keeps the turn live.\n\n   That is the opposite of the reference behavior this PR cites: the official plugin raises `StreamExpiredError` from non-blocking intermediate replies and marks the stream expired so final delivery falls back once: https://github.com/WecomTe","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T14:07:16Z","updatedAt":"2026-08-27T14:07:16Z","submittedAt":"2026-08-27T14:07:16Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/41771#pullrequestreview-5041735542"},"data":{"createdAt":"2026-08-27T14:07:16Z","occurredAt":"2026-08-27T14:07:16Z","pullRequest":{"createdAt":"2026-06-08T03:49:27Z","id":"PR_kwDOPRF1G87jvvLh","mergedAt":null,"number":41771,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(wecom): native reply streaming (typing bubble, per-turn isolation, dedup-safe)","updatedAt":"2026-08-27T14:34:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/41771"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T14:07:16Z","updatedAt":"2026-08-27T14:07:16Z","url":"https://github.com/NousResearch/hermes-agent/pull/41771#pullrequestreview-5041735542","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLiPpPQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLiPpPQ","summary":"Reviewed exact head `96d12240b741cece2d75039b8b75216a63ca1d99`, including the one-commit child delta over #97309 (`373bb3e227b3478d4150738827ad16a8b73e6d9a` → `96d12240…`), the #66887 incident/recovery history, current `main`, exact-head workflows, the historical #69042 shape objection, merged #88734 / #88632 lineage, and the still-open #96038 corruption-classification interlock.\n\nThe architectural split is right. #88734 established active-scope per-profile DB handles; #97309 derives per-session row ownership from the qualified `agent:<profile>:…` key for unscoped/background work; this PR correctly recognizes that `_entries` is a different kind of object — one process-wide routing index — and gives that index one durable owner. Moving `_ensure_loaded_locked`, reconciliation, full persistence and the single-entry fast path onto `_routing_db`, while keeping `_prune_stale_sessions_locked`'s session-liveness check on `_db_for_key(key)`, is exactly the correct owner boundary. The new restart regression also proves the forward-state failure cleanly.\n\nI found two P1 boundaries before this can be used as the recovery half of #66887.\n\n### P1 — the regression proves post-fix writes, but the ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T17:02:10Z","updatedAt":"2026-08-31T17:02:10Z","submittedAt":"2026-08-31T17:02:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/99559#pullrequestreview-5069072701"},"data":{"createdAt":"2026-08-31T17:02:10Z","occurredAt":"2026-08-31T17:02:10Z","pullRequest":{"createdAt":"2026-08-31T16:24:37Z","id":"PR_kwDOPRF1G88AAAABBoMtjA","mergedAt":null,"number":99559,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): give the routing index one store instead of the ambient one","updatedAt":"2026-08-31T17:02:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/99559"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T17:02:10Z","updatedAt":"2026-08-31T17:02:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/99559#pullrequestreview-5069072701","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLiPWPg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLiPWPg","summary":"Re-reviewed exact head `d0ed41f009b3b3ce08e8c7d4368ac1238a2c37ac` after the final modified-file 2K repair.\n\nThe sole blocker from my prior `6dc1300130` pass is closed on this submitted tree. The six oversized Desktop locale/type owners are absent from the 45-file diff; delegation-only copy now lives in bounded `apps/desktop/src/i18n/delegation-status.ts` (42 lines), with compile-time locale completeness through `satisfies Record<Locale, DelegationStatusCopy>`. `tui_gateway/server.py` remains absent, the gateway outcome regression now has its own bounded test owner, and the previously reviewed delegation/process-registry extractions remain bounded. The resolved Desktop false-green thread is still source-satisfied. I found no new lifecycle/outcome source defect in this diff.\n\nThe submitted object is internally settled:\n\n- exactly one commit, directly parented by `936b970e281d5d28e930c5698f36bc4ebb54c7ba`;\n- exact-head [CI 33415077472](https://github.com/NousResearch/hermes-agent/actions/runs/33415077472), [Docker 33415076758](https://github.com/NousResearch/hermes-agent/actions/runs/33415076758), and [Nix 33415076461](https://github.com/NousResearch/hermes-agent/actions/runs/33415076","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-31T17:01:35Z","updatedAt":"2026-08-31T17:01:35Z","submittedAt":"2026-08-31T17:01:35Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/68499#pullrequestreview-5069067838"},"data":{"createdAt":"2026-08-31T17:01:35Z","occurredAt":"2026-08-31T17:01:35Z","pullRequest":{"createdAt":"2026-07-21T08:33:50Z","id":"PR_kwDOPRF1G870QOyN","mergedAt":null,"number":68499,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(delegation): separate lifecycle from task outcome","updatedAt":"2026-08-31T17:01:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/68499"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-31T17:01:35Z","updatedAt":"2026-08-31T17:01:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/68499#pullrequestreview-5069067838","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLIrR5w","kind":"review","label":"PRR_kwDOPRF1G88AAAABLIrR5w","summary":"Reviewed exact head `19cc996d2328ee37e935aca51d3efc61234320de` against live `main@34393c32aab9dc983020e404c6845016ba058a47`, including the full credential-write/read path across `web_server.py`, `config.py`, `model_setup_flows.py`, `runtime_provider.py`, `auxiliary_client.py`, `credential_pool.py`, delegation, the focused regressions, prior review/comment history, and the current overlapping PR/issue graph.\n\nThere is a lot of good repair work here. The earlier cross-endpoint `key_env` retention holes are closed; URL-scoped identity now includes path/query; main, auxiliary, CLI, named-provider, delegation, and credential-pool paths consistently prefer indirection over plaintext; borrowed env-backed pool entries are sanitized at the disk boundary; and the exact-head hosted matrix is green: CI `33083866236`, Docker `33083864885`, Nix `33083864852`, with the aggregate required-check gate passing. The branch has also absorbed several useful rounds of prior review instead of patching only the first reported sink. 🚀\n\nI still see two P1 security-contract gaps, plus one hard landing-architecture gate.\n\n## P1 — a declared `key_env` is still treated as a hint rather than an authority binding","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T14:55:28Z","updatedAt":"2026-08-27T14:55:28Z","submittedAt":"2026-08-27T14:55:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80927#pullrequestreview-5042262503"},"data":{"createdAt":"2026-08-27T14:55:28Z","occurredAt":"2026-08-27T14:55:28Z","pullRequest":{"createdAt":"2026-08-07T08:58:08Z","id":"PR_kwDOPRF1G87788Ml","mergedAt":null,"number":80927,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): keep custom endpoint API keys out of config.yaml by using key_env","updatedAt":"2026-08-31T09:24:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/80927"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T14:55:28Z","updatedAt":"2026-08-27T14:55:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/80927#pullrequestreview-5042262503","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLITcng","kind":"review","label":"PRR_kwDOPRF1G88AAAABLITcng","summary":"Reviewed exact head `208f313f1e9f94bd0f5b534a15633ae057abfe2d` against current `main` `cced6fa360a589ba50abfde687ef1bcba8ddaf2e`.\n\nThis is not merge-ready.\n\n1. **A requested resume still fails open to a stateless turn.**\n\n   `_create_session_db_for_oneshot()` converts any store-open failure to `None`, and `_load_resume_history()` then returns `(requested_id, None)`. The two resume reads also convert every non-lock failure into `ok=False` and continue without history. The new tests explicitly preserve this behavior (`test_no_db_returns_id_stateless`, `test_broken_store_degrades_to_stateless`, `test_non_lock_error_still_degrades_to_stateless`).\n\n   That is the same forbidden outcome reported in #49195 under a different failure mode: the caller explicitly asks to resume, Hermes produces a context-less answer, and the invocation can still exit successfully. “Confirmed missing in a healthy store, therefore create this caller key” and “the store could not be opened/resolved/read” are different terminal states and cannot collapse into the same branch. Once `--resume` or `--continue` is requested, inability to load the canonical session must fail nonzero; create-on-first-use may proceed on","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T14:18:54Z","updatedAt":"2026-08-27T14:18:54Z","submittedAt":"2026-08-27T14:18:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/80799#pullrequestreview-5041872030"},"data":{"createdAt":"2026-08-27T14:18:54Z","occurredAt":"2026-08-27T14:18:54Z","pullRequest":{"createdAt":"2026-08-07T04:49:10Z","id":"PR_kwDOPRF1G87738RK","mergedAt":null,"number":80799,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cli): honor --resume/--continue in oneshot (-z) — rebase + real-SQLite coverage","updatedAt":"2026-08-27T14:18:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/80799"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T14:18:54Z","updatedAt":"2026-08-27T14:18:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/80799#pullrequestreview-5041872030","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLJ0IOQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLJ0IOQ","summary":"Reviewed exact head `e025fe01df86f1969da38f7191b769ec29fa3256` against live `main@39f1e1881a027cead71c81b7b747be1c7ad6853a`. The actual live-main merge base is `46f091b93e8fbe04f02d9200950145dcf5e3b031`, so this head is 1 commit ahead / 18 behind; the main-only drift I checked is path-disjoint from this PR's two files. There were no submitted reviews on this head when I started.\n\nThe core lifecycle correction is right: a session stream transport disappearing should not automatically mean the persisted agent turn was abandoned. I specifically like that shutdown cancellation remains separate, `_active_run_agents` stays live until `_run_agent()` actually exits, and the detached consumer drains the now-unread queue rather than letting SSE events accumulate for the rest of a long tool turn. The new regression also proves the old transport-disconnect interrupt is gone while preserving the run control ref. That is a useful, narrowly scoped repair.\n\nI do have one P1 lifecycle/control-plane blocker, plus the repository's hard decomposition gate.\n\n## P1 — a detached run can outlive the only public coordinate that can control or reconcile it\n\nThe new contract says the turn keeps running and c","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T16:59:50Z","updatedAt":"2026-08-27T16:59:50Z","submittedAt":"2026-08-27T16:59:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96507#pullrequestreview-5043456057"},"data":{"createdAt":"2026-08-27T16:59:50Z","occurredAt":"2026-08-27T16:59:50Z","pullRequest":{"createdAt":"2026-08-27T16:29:07Z","id":"PR_kwDOPRF1G88AAAABBO6NCA","mergedAt":null,"number":96507,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(api_server): decouple session SSE from agent execution on client disconnect","updatedAt":"2026-08-28T03:11:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/96507"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T16:59:50Z","updatedAt":"2026-08-27T16:59:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/96507#pullrequestreview-5043456057","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLJDdeQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLJDdeQ","summary":"Re-review on exact head `970cd83146677b7c0d3b2a2798e7650537b2de9c`.\n\nThe remaining structural blocker from my prior review is closed on this object.\n\n`agent/transcript_repair.py` now owns the new transcript-repair policy: active-row/watermark-clone resolution, conditional blank-row repair, concurrent canonical-winner adoption, and post-commit live-message synchronization. `SessionDB.append_messages_batch()` remains the sole guarded transaction owner. `hermes_state.py` retains only the narrow call seam inside that transaction, and `run_agent.py` retains only row-identity transfer plus post-commit synchronization. Comparing this head with the previously accepted correctness head shows a semantic extraction, not a second persistence authority or another durable-write path.\n\nThe regression coverage for each previously closed P0 remains present. Hosted checks on this head are green:\n- CI run `33085107817` — success\n- Docker run `33085106690` — success\n- Nix run `33085106669` — success\n- aggregate `All required checks pass` — success\n\nNo code blocker remains from my prior findings.\n\nThis is not yet a final landing receipt. Live `main` is now `42ac29eacc4d743ed2df7db0f886b99111d9e68b`, ei","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T15:33:44Z","updatedAt":"2026-08-27T15:33:44Z","submittedAt":"2026-08-27T15:33:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95886#pullrequestreview-5042658681"},"data":{"createdAt":"2026-08-27T15:33:44Z","occurredAt":"2026-08-27T15:33:44Z","pullRequest":{"createdAt":"2026-08-26T22:24:05Z","id":"PR_kwDOPRF1G88AAAABBIrkNg","mergedAt":null,"number":95886,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): preserve streamed assistant text and unify atomic persistence (#95514)","updatedAt":"2026-08-29T07:23:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/95886"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T15:33:44Z","updatedAt":"2026-08-27T15:33:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/95886#pullrequestreview-5042658681","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLJP6jA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLJP6jA","summary":"Re-reviewed exact head `98a5bee54f8bfb0b91e7b66fefe38ae9e9d7e6ca` after the ownership/lifecycle + per-cell-authority repair. The two original blockers are materially improved: the kernel owner is now the approval session key with owner teardown / idle reap / process-wide LRU cap, and the long-lived RPC thread no longer freezes the first cell's context. Both submitted commits also have green exact-SHA CI/Docker/Nix receipts (`0ff6dbc…`: 32837261784 / 32837260277 / 32837260217; `98a5bee…`: 33065151167 / 33065150604 / 33065150577).\n\nOne P1 remains at the authority handoff, and it is specifically a cross-cell delayed-RPC race.\n\n`tools/code_execution_tool.py`'s generated persistent client authenticates every RPC with only the kernel-lifetime `HERMES_RPC_TOKEN`; the request carries `{tool, args, token}` and no cell/generation identity. `tools/code_kernel.py::_rpc_forever()` then chooses `kernel.cell_authority` at **dispatch time**. `execute_in_session_kernel()` replaces that slot with the next cell's `CellAuthority` before writing the next cell request.\n\nThat means a background thread created by cell N can outlive that cell, wait until cell N+1 is active, then call a retained `hermes_too","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T15:55:29Z","updatedAt":"2026-08-27T15:55:29Z","submittedAt":"2026-08-27T15:55:29Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/94647#pullrequestreview-5042862732"},"data":{"createdAt":"2026-08-27T15:55:29Z","occurredAt":"2026-08-27T15:55:29Z","pullRequest":{"createdAt":"2026-08-25T10:26:45Z","id":"PR_kwDOPRF1G88AAAABA6_MJA","mergedAt":"2026-08-27T19:26:32Z","number":94647,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(tools): session-persistent kernels for execute_code (kernel_mode: session)","updatedAt":"2026-08-27T19:26:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/94647"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T15:55:29Z","updatedAt":"2026-08-27T15:55:29Z","url":"https://github.com/NousResearch/hermes-agent/pull/94647#pullrequestreview-5042862732","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLJw-kg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLJw-kg","summary":"Re-reviewed exact head `0aa80cfe3d1cfa985b7fec1fddcebe6454ec5636` against live `main@39f1e1881a027cead71c81b7b747be1c7ad6853a`. The branch is now diverged by 2 commits ahead / 175 behind. I read the repair commit, the full runtime boundary files rather than only the added tests, the open privacy-middleware carrier in #95186, the original decomposition owners, and the exact-head workflow objects.\n\nSeveral prior findings are genuinely closed on this head:\n\n- a required execution-middleware callback that raises after successful downstream execution now remains fatal for both LLM and tool execution;\n- certification deferral now suppresses callback and plugin stream observers;\n- partial, failed, incomplete, and errored ACP results are rejected before the wrapper can inspect a pre-existing artifact;\n- Windows now advertises certification as unavailable and refuses before model execution rather than entering the POSIX implementation;\n- terminal and edit authorization are preserved as explicit non-rendering deny decisions instead of being omitted.\n\nThose are substantive repairs. The head is still not acceptable. Two P1 boundary classes and the prior hard ownership gate remain.\n\n## P1 — cer","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T16:53:43Z","updatedAt":"2026-08-27T16:53:43Z","submittedAt":"2026-08-27T16:53:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96043#pullrequestreview-5043404434"},"data":{"createdAt":"2026-08-27T16:53:43Z","occurredAt":"2026-08-27T16:53:43Z","pullRequest":{"createdAt":"2026-08-27T03:41:57Z","id":"PR_kwDOPRF1G88AAAABBJ-3xw","mergedAt":null,"number":96043,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(agent): isolate artifact certification observers","updatedAt":"2026-08-27T16:53:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/96043"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T16:53:43Z","updatedAt":"2026-08-27T16:53:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/96043#pullrequestreview-5043404434","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLK0drw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLK0drw","summary":"Re-review of exact head `7c28eda02b1bdb9125b866d27466677951749986` against current base/merge-base `f3cbb262c1d7014f1a4d225242d06983122c5ddf`.\n\nThe typed `SessionBindOutcome` and the focused `tui_gateway/session_ownership.py` owner are directionally right. Exact-head hosted CI is green. This object is still **not merge-ready**: two ownership blockers remain, and the current merged diff has reintroduced the decomposition regression.\n\n### P1 — `prompt.submit` proves authority only after it has already acquired and mutated ownership\n\nIn `tui_gateway/methods_prompt.py`, the order after the unlocked `_sess_nowait()` read is currently:\n\n1. `_ensure_active_session_slot(sid, session)`\n2. `session[\"client_surface\"] = ...`\n3. `_load_dashboard_process_isolation_config()`\n4. `_bind_live_session_transport(...)` / `_session_record_is_authoritative(...)`\n\nThat means the claimed terminal rule — “nothing may be queued, mutated, or started on `STALE_RECORD`” — is still false before the typed gate runs. `_ensure_active_session_slot()` is not a read: it can acquire a process-global active-session lease and store it on the record.\n\nA concrete interleaving remains:\n\n1. `_sess_nowait()` returns record `S","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T18:47:52Z","updatedAt":"2026-08-27T18:47:52Z","submittedAt":"2026-08-27T18:47:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95709#pullrequestreview-5044510127"},"data":{"createdAt":"2026-08-27T18:47:52Z","occurredAt":"2026-08-27T18:47:52Z","pullRequest":{"createdAt":"2026-08-26T16:30:42Z","id":"PR_kwDOPRF1G88AAAABBGiwZA","mergedAt":null,"number":95709,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(tui-gateway): serialize WS session transport ownership","updatedAt":"2026-08-27T18:47:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/95709"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T18:47:52Z","updatedAt":"2026-08-27T18:47:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/95709#pullrequestreview-5044510127","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLK4ndQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLK4ndQ","summary":"Reviewed exact head `cf82cb3fc2e24f90f5e3f4488e07ea461057e45b` on exact base/live `main@0dfba37b11ff2ca908ae2df85b55f4f4c9b7fd8b`, including the scheduler transition, command-result CWD propagation in both environment layers, terminal session-CWD recording, execution-ledger propagation, focused regressions, current CI state, and the live overlap/decomposition graph.\n\nThe core direction is strong. Binding one cron execution to `cron:<job_id>:<execution_id>` is a much better ownership coordinate than mutating process-global `TERMINAL_CWD`; forwarding the durable execution ID through `run_one_job()` keeps retries/ledger identity aligned; putting the observed cwd on the *command result* instead of re-reading a shared environment after another command can mutate it is the correct fix for the terminal race; and clearing the task-scoped record in `finally` gives the new authority a bounded lifetime. Removing the scheduler-wide readers/writer lock also eliminates a real head-of-line failure class rather than just extending its timeout.\n\nI found one P1 correctness hole in the new contract, plus a hard landing/ownership blocker.\n\n## P1 — a configured workdir that disappears is still downgrad","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T18:55:40Z","updatedAt":"2026-08-27T18:55:40Z","submittedAt":"2026-08-27T18:55:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96573#pullrequestreview-5044578165"},"data":{"createdAt":"2026-08-27T18:55:40Z","occurredAt":"2026-08-27T18:55:40Z","pullRequest":{"createdAt":"2026-08-27T18:34:43Z","id":"PR_kwDOPRF1G88AAAABBPyXug","mergedAt":null,"number":96573,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cron): isolate per-execution working directories","updatedAt":"2026-08-27T18:55:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/96573"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T18:55:40Z","updatedAt":"2026-08-27T18:55:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/96573#pullrequestreview-5044578165","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLKSVSA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLKSVSA","summary":"Reviewed exact head `0c7f18e341f130f3a27102baf2673539b9d2055f` against its live base `main@0dfba37b11ff2ca908ae2df85b55f4f4c9b7fd8b`. I read the complete three-file diff, the full current Discord adapter around the affected paths, the canonical `tools.url_safety` transport contract, both new regression files, the exact-head workflow state, the open predecessor/sibling graph, and the Discord decomposition record. There were no existing reviews or PR comments when I started.\n\nThe security mechanism itself is careful work. In particular:\n\n- direct HTTP(S) goes through the repository's `create_ssrf_safe_async_client`, whose contract resolves/validates at connect time and dials the vetted IP while preserving Host/SNI;\n- redirects are manual and re-enter the same boundary instead of inheriting one hostname check;\n- decoded response bytes are streamed through a hard per-response aggregate limit rather than trusting `Content-Length`;\n- the 100 MiB batch budget survives Discord's 10-file chunking and the native→base fallback through one task-local budget object;\n- rejected/non-200 bodies count toward the batch budget, while an overdeclared-but-unread response does not falsely consume bytes;","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T17:52:58Z","updatedAt":"2026-08-27T17:52:58Z","submittedAt":"2026-08-27T17:52:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96540#pullrequestreview-5043950920"},"data":{"createdAt":"2026-08-27T17:52:58Z","occurredAt":"2026-08-27T17:52:58Z","pullRequest":{"createdAt":"2026-08-27T17:43:39Z","id":"PR_kwDOPRF1G88AAAABBPa5bg","mergedAt":null,"number":96540,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(discord): harden outbound image URL fetches","updatedAt":"2026-08-27T17:52:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/96540"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T17:52:58Z","updatedAt":"2026-08-27T17:52:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/96540#pullrequestreview-5043950920","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLKwh0A","kind":"review","label":"PRR_kwDOPRF1G88AAAABLKwh0A","summary":"Re-review on exact head `8c71a921c3fc42805df338edad4ba89604d0954d` against current `main@0dfba37b11ff2ca908ae2df85b55f4f4c9b7fd8b`.\n\nThe repeated-user-text blocker from review `5044033424` is closed in the source on this object.\n\nThe repair now preserves typed current-turn ownership instead of trying to rediscover it from text after the fact. `repair_message_sequence()` carries `_persist_user_message_idx` onto the surviving previous-user dict when Pass 2 merges away the current row; `preserve_current_turn_user_idx()` carries that same object identity across the ghost-row rebuild; the conversation loop refreshes its local injection cursor after both transformations; and the normal Responses run forwards the resulting index as `_current_turn_user_idx`. `gateway/response_turn_boundary.py` passes that typed index into the canonical `reanchor_current_turn_user_idx()` before any content fallback.\n\nThe missing witnesses from the prior review are present at the actual boundaries:\n\n- `test_duplicate_user_text_after_pass2_merge_keeps_only_current_call` performs the ordinary user→user Pass-2 merge with an older identical request, then drives real `POST /v1/responses` and requires output to be","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T18:40:38Z","updatedAt":"2026-08-27T18:40:38Z","submittedAt":"2026-08-27T18:40:38Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/70695#pullrequestreview-5044445648"},"data":{"createdAt":"2026-08-27T18:40:38Z","occurredAt":"2026-08-27T18:40:38Z","pullRequest":{"createdAt":"2026-07-24T09:54:34Z","id":"PR_kwDOPRF1G871yxMc","mergedAt":null,"number":70695,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(api_server): robust Responses turn-start detection","updatedAt":"2026-08-27T19:06:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/70695"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T18:40:38Z","updatedAt":"2026-08-27T18:40:38Z","url":"https://github.com/NousResearch/hermes-agent/pull/70695#pullrequestreview-5044445648","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLKwUyQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLKwUyQ","summary":"Reviewed current exact head `5664e4512b29bad020e3ec939c3d99cb81f3a78c` after the scope-qualified identity, process-incarnation, and bounded-owner repairs.\n\nThe semantic repair still reads coherently, and the refreshed Linux/user-systemd witness proves the reported single-user-scope path on this head: the pre-update process is replaced, generation B is active, and the old PID is gone. This head is nevertheless **not acceptance-ready** because the full Python suite is red. The two failures are deterministic stale-test contracts, not an unexplained product regression:\n\n1. **`test_abort_recovery_does_not_restart_manual_only_fleet`**\n\n   This older gateway-only test assumes a manual-only gateway plan launches no fresh child. That assumption is no longer globally true on Linux: `_serve_unit_recovery_available()` is true when `systemctl` is present, and the new #92145 contract intentionally launches the child even with zero supervised gateway profiles so it can reconcile active `hermes-serve*` units. The test also stubs `subprocess.run` with `calls.append(...)`, which returns `None`, so the newly legitimate child path fails when the driver reads `result.returncode`.\n\n   Keep this test sco","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T18:39:57Z","updatedAt":"2026-08-27T18:39:57Z","submittedAt":"2026-08-27T18:39:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96235#pullrequestreview-5044442313"},"data":{"createdAt":"2026-08-27T18:39:57Z","occurredAt":"2026-08-27T18:39:57Z","pullRequest":{"createdAt":"2026-08-27T09:23:12Z","id":"PR_kwDOPRF1G88AAAABBL0IyQ","mergedAt":null,"number":96235,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(update): recover the hermes serve generation after an aborted restart phase","updatedAt":"2026-08-29T20:19:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/96235"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T18:39:57Z","updatedAt":"2026-08-27T18:39:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/96235#pullrequestreview-5044442313","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLL2wLw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLL2wLw","summary":"Reviewed exact head `96d09bf788383885712f725b13ffb265a26cf8d6` against live `main@dd401e0f15c6d527d5ce01367732746f1da5df3d`. I read the full six-file delta, the shared `state_db_begin_immediate` primitive, both helper connection/transaction paths, the real-contention and fd-leak tests, current-main versions of the same helpers, exact-head workflow state, and the newly-landed journal-mode ownership work. There are no prior formal reviews on this PR; the existing automated comment predates the repository context below.\n\nThe core contention fix is well-shaped. `state_db_begin_immediate()` acquires the write lock before the body, retries only `BEGIN IMMEDIATE`, and never replays side effects. `tests/state/test_helper_writer_contention.py` is particularly good: it disables SQLite's own busy wait, has a real competing writer signal only after its own `BEGIN IMMEDIATE` succeeds, counts the actual BEGIN calls, asserts the body runs exactly once, and verifies persistence from a fresh connection. Keeping connection lifecycle with each short-lived helper also preserves the fd-leak contract. That mechanism is worth landing.\n\nI have one P1 class blocker on the current repository graph: **this e","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T20:56:32Z","updatedAt":"2026-08-27T20:56:32Z","submittedAt":"2026-08-27T20:56:32Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89420#pullrequestreview-5045596207"},"data":{"createdAt":"2026-08-27T20:56:32Z","occurredAt":"2026-08-27T20:56:32Z","pullRequest":{"createdAt":"2026-08-18T19:50:34Z","id":"PR_kwDOPRF1G88AAAABAMVkvA","mergedAt":null,"number":89420,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(state-db): coordinate helper writes with BEGIN IMMEDIATE","updatedAt":"2026-08-29T12:14:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/89420"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T20:56:32Z","updatedAt":"2026-08-27T20:56:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/89420#pullrequestreview-5045596207","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLLxSZg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLLxSZg","summary":"Re-reviewed exact head `949c0f8449a4be8172d4852e6b9ea2335c1d9cd3` after the two-time-proof rewrite. I re-read the passive `gateway/__init__.py` birth capture, the full `gateway/import_sanity.py` proof, the new vertical startup-window regressions, live `main@a24c12d14f5f1d37deee8887c6072a1d579e7e98`, and exact-head hosted workflows.\n\nBoth blockers from my previous review are materially repaired:\n\n- the canary now has an observation **before** the startup race can be hidden: package import captures a birth receipt, `startup_import_smoke()` compares against it after eager imports, and runtime snapshots are seeded only from a verified state; the committed A→B-before-smoke regression drives the real path and fails rather than adopting B as the baseline;\n- this PR no longer adds startup/housekeeping hooks to `gateway/run.py`; the detection core stays in a 369-line module and runtime wiring is explicitly deferred to the decomposition owners.\n\nThere is one remaining P1 in the proof's missing-observation semantics.\n\n## P1 — a valid birth HEAD followed by an unreadable/unresolvable second HEAD is treated as healthy\n\n`_verify_birth_receipt()` currently does:\n\n```py\ncommit, modules = receipt\nh","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T20:46:18Z","updatedAt":"2026-08-27T20:46:18Z","submittedAt":"2026-08-27T20:46:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96472#pullrequestreview-5045506662"},"data":{"createdAt":"2026-08-27T20:46:18Z","occurredAt":"2026-08-27T20:46:18Z","pullRequest":{"createdAt":"2026-08-27T15:30:02Z","id":"PR_kwDOPRF1G88AAAABBOfM5w","mergedAt":null,"number":96472,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(gateway): import sanity canary — detect source swapped under a live process","updatedAt":"2026-08-28T14:37:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/96472"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T20:46:18Z","updatedAt":"2026-08-27T20:46:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/96472#pullrequestreview-5045506662","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLMeKtA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLMeKtA","summary":"Reviewed exact head `7700ccb4e45cab410f8b19e1cc0f337890818eef` against current `main` `10b388300a63d83857fac3ca4f8b05b64e01bc50`.\n\nNo blocking correctness issue found in the three-file delta. The important settlement boundary is preserved: discovery of `HERMES_BACKEND_READY port=N` through the spawn-time tail, stdout, stderr, ready file, or exit scan yields only the candidate port; the existing `waitForHermes(...)`/`startFailed` race still requires a live, responsive backend before the descriptor can publish. An announcement from an exited or superseded child therefore cannot become a promoted backend generation.\n\nExact-head hosted evidence is green: CI `33071940541`, Docker `33071940008`, and Nix `33071939985` all completed successfully. The unrelated label-rerun invocations are skipped/cancelled trigger noise, not product-check failures.\n\nThis resolves the #96315 announcement-channel defect at this exact object while leaving #96280's distinct launcher/grandchild realization boundary explicit.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T22:34:08Z","updatedAt":"2026-08-27T22:34:08Z","submittedAt":"2026-08-27T22:34:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96347#pullrequestreview-5046241972"},"data":{"createdAt":"2026-08-27T22:34:08Z","occurredAt":"2026-08-27T22:34:08Z","pullRequest":{"createdAt":"2026-08-27T12:27:21Z","id":"PR_kwDOPRF1G88AAAABBNCudA","mergedAt":null,"number":96347,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): make backend port-announcement wait multi-channel — closes the 90s boot-timeout family (#96315)","updatedAt":"2026-08-27T22:34:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/96347"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T22:34:08Z","updatedAt":"2026-08-27T22:34:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/96347#pullrequestreview-5046241972","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLMH4Eg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLMH4Eg","summary":"Re-reviewed exact head `b48feed54d451855a59c77086220df337bbe04a7` after my `64eaafc2…` settlement review, including the extracted gateway/result owners and the deterministic dispatch witnesses.\n\nThe remaining P1 from that review is closed on this object. `InjectionDelivery` now arbitrates the cancellation/adoption boundary before `adapter.handle_message()`; once adapter entry has won, both cancellation and an adapter exception are represented as delivery-unknown (`settled=False`, `refused=False`, `safe_to_retry=False`) rather than a terminal refusal. Cancellation that wins before adapter entry remains a settled retry-safe refusal.\n\nThe exact requested witnesses are present in `tests/gateway/test_plugin_injection_dispatch_result.py`:\n\n- `test_cancel_after_adapter_entry_cannot_claim_refusal_or_safe_retry` records an adapter side effect, then cancels while the adapter is blocked, and proves the result is indeterminate/non-retryable;\n- `test_adapter_raising_after_a_side_effect_preserves_unknown_delivery` records the side effect and then raises, with the same unknown-delivery semantics;\n- `test_cancel_before_adapter_entry_is_a_settled_retry_safe_refusal` preserves the genuinely safe pre","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T21:36:26Z","updatedAt":"2026-08-27T21:36:27Z","submittedAt":"2026-08-27T21:36:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96179#pullrequestreview-5045876754"},"data":{"createdAt":"2026-08-27T21:36:26Z","occurredAt":"2026-08-27T21:36:26Z","pullRequest":{"createdAt":"2026-08-27T07:52:36Z","id":"PR_kwDOPRF1G88AAAABBLN63g","mergedAt":null,"number":96179,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(plugins): report gateway dispatch outcomes","updatedAt":"2026-08-27T21:36:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/96179"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T21:36:26Z","updatedAt":"2026-08-27T21:36:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/96179#pullrequestreview-5045876754","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLMm20w","kind":"review","label":"PRR_kwDOPRF1G88AAAABLMm20w","summary":"Reviewed exact head `8a9e90a9d2946b7d97e2117fdd97510fe59578d9` against PR base `10b388300a63d83857fac3ca4f8b05b64e01bc50` and live `main@4956ff0cb9646aaf894c228e6dc932b126d1f927` (the one main-only commit is path-disjoint). I read all nine changed files, the complete new workspace owner, the runtime/task-CWD handoff, the production inbound ordering around `_handle_message_with_agent`, the focused tests, current CI state, and the existing workspace/CWD PR graph. There were no prior reviews or comments on this PR when I started.\n\nThere is a lot worth preserving here. The deterministic opaque path identity is a good fit for durable messaging sessions; stored bindings are validated rather than trusted; symlink/escape checks are explicit; an enabled workspace becoming unavailable refuses instead of falling back to ambient cwd; the task-local override is installed before inbound context-reference expansion on the real production path; compression-child inheritance is separately gated; and the final `runtime_cwd` change closes the important “required proof disappeared, therefore fall back to process cwd” failure mode. The third commit also fixes the right side of the `@file` shape instead","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T22:59:30Z","updatedAt":"2026-08-27T22:59:30Z","submittedAt":"2026-08-27T22:59:30Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96693#pullrequestreview-5046384339"},"data":{"createdAt":"2026-08-27T22:59:30Z","occurredAt":"2026-08-27T22:59:30Z","pullRequest":{"createdAt":"2026-08-27T22:24:39Z","id":"PR_kwDOPRF1G88AAAABBRLxjg","mergedAt":null,"number":96693,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(gateway): isolate durable messaging sessions","updatedAt":"2026-08-27T22:59:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/96693"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T22:59:30Z","updatedAt":"2026-08-27T22:59:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/96693#pullrequestreview-5046384339","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLMNTsA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLMNTsA","summary":"Re-reviewed exact current head `caba9f6b5a57da15caa331ad39363abd79ebeb22` against live `main@10b388300a63d83857fac3ca4f8b05b64e01bc50`, specifically because this head materially changed after my prior review at `9303ae7d…`.\n\nThe important correction is real: the intervening `1a726463…` contribution by `yuzilongleif-collab` removes the unsafe blanket outer `SystemError` callback replay that the earlier head used as defense in depth. That was necessary. The reproduced failure was not theoretical: a post-commit maintenance `SystemError` could make `_execute_write()` replay an already-durable append, producing two durable rows. The current head now keeps the structural `_read_ctx()` fix, treats a matching `SystemError` *inside the transaction callback* as non-retryable/ambiguous, and contains ordinary FTS maintenance failures after commit so they cannot invalidate the already-completed write. The exact regression asserts one message row, one session-counter increment, one write-count increment, and one maintenance attempt. That closes the exactly-once defect introduced by the previous head.\n\nI also rechecked live main rather than assuming this old branch is still relevant. It is: curre","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T21:50:07Z","updatedAt":"2026-08-27T21:50:07Z","submittedAt":"2026-08-27T21:50:07Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/90734#pullrequestreview-5045965744"},"data":{"createdAt":"2026-08-27T21:50:07Z","occurredAt":"2026-08-27T21:50:07Z","pullRequest":{"createdAt":"2026-08-20T10:31:36Z","id":"PR_kwDOPRF1G88AAAABAZv_Nw","mergedAt":null,"number":90734,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(state): unlocked reads on the shared SessionDB writer connection destroy turns as session_persistence_failed","updatedAt":"2026-08-31T15:39:20Z","url":"https://github.com/NousResearch/hermes-agent/pull/90734"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T21:50:07Z","updatedAt":"2026-08-27T21:50:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/90734#pullrequestreview-5045965744","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLMxDFw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLMxDFw","summary":"Follow-up on the Windows witness for exact head `b73d21d712c4a50682b7693d6cc0e4659edf2f62`.\n\nThe fork runs materially close the native-Windows filesystem boundary for this mechanism. They execute the production `fsPumpDeps()` path on `windows-latest`/NTFS, and the real-filesystem 7/7 plus wiring 4/4 cover replace-over-existing, mid-stream preservation, pre-open `EEXIST` ownership, rename-failure cleanup, and both buffer-fallback cases. The current head’s follow-up is the separator-agnostic assertion repair; I found no source regression in that delta.\n\nPrecision on the receipt: both witness workflows are red overall, not green. Their useful evidence is narrower: the native real-filesystem and wiring slices passed; in the later run, the failed boundary is the four POSIX-literal fake assertions that `b73d21d7` rewrites. This is a valid partial witness, not a transferable green check.\n\nThat closes the native Node/libuv-on-NTFS behavior gap. It does **not** prove the packaged Electron runtime, so that boundary remains explicitly unverified rather than silently inherited.\n\nThe PR is still not a final landing object. Exact-head CI `33123637145`, Nix `33123636721`, and Docker `33123636731`","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-27T23:35:49Z","updatedAt":"2026-08-27T23:35:49Z","submittedAt":"2026-08-27T23:35:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96608#pullrequestreview-5046551319"},"data":{"createdAt":"2026-08-27T23:35:49Z","occurredAt":"2026-08-27T23:35:49Z","pullRequest":{"createdAt":"2026-08-27T19:48:05Z","id":"PR_kwDOPRF1G88AAAABBQRElw","mergedAt":null,"number":96608,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(desktop): make gateway file saves failure-atomic so a failed download never destroys an existing file","updatedAt":"2026-08-29T06:06:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/96608"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-27T23:35:49Z","updatedAt":"2026-08-27T23:35:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/96608#pullrequestreview-5046551319","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLN8vwQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLN8vwQ","summary":"Reviewed exact head `099d436afb4cb26ad78dffbce2434885a7b68fab` against live `main@99c3cad8570732202907cf71f971fea9ec57df26`, including the full five-file diff, the new systemd boundary module and tests, the current updater/gateway restart paths, exact-head workflow state, and the existing fleet-update ownership graph. There were no prior reviews/comments on this PR when I started. The branch is now 1 commit ahead / 9 behind its actual live-main merge base `1acd5bb02bbae0b32416a3ac45d4f00373453e33`; live main also has an 8+/7- `hermes_cli/update_cmd.py` delta, so this exact head is not currently the landing object.\n\nThe intended invariant is the right one: files changing underneath a long-lived Python worker is not a valid generation transition. Capturing the fleet before mutation, pausing health/e2e observers until authoritative verification settles, requiring changed PID/start generation, and failing closed on incomplete membership are all good ingredients. The separate-process compatibility regression also demonstrates the stale-callable class cleanly.\n\nI have three P1 blockers on the submitted contract.\n\n## P1 — comparing the whole `ExecStart` property makes a real systemd resta","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T03:58:08Z","updatedAt":"2026-08-28T03:58:08Z","submittedAt":"2026-08-28T03:58:08Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96853#pullrequestreview-5047791553"},"data":{"createdAt":"2026-08-28T03:58:08Z","occurredAt":"2026-08-28T03:58:08Z","pullRequest":{"createdAt":"2026-08-28T03:45:15Z","id":"PR_kwDOPRF1G88AAAABBSmfnA","mergedAt":null,"number":96853,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(update): enforce systemd worker generation boundary","updatedAt":"2026-08-28T03:58:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/96853"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T03:58:08Z","updatedAt":"2026-08-28T03:58:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/96853#pullrequestreview-5047791553","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLNcoeg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLNcoeg","summary":"Reviewed exact head `d73e38d68d910e3173bee9b55b3d2393e1fea926` against live `main@6dcebea7fc5d0cc4f621eeaddf52b7d877a5f882`. The branch is one commit on merge-base `a24c12d14f5f1d37deee8887c6072a1d579e7e98` (1 ahead / 27 behind live main), and GitHub's current synthetic merge object is `b660ee93f7e3867fc9c8c68e1fe55118dc7c8e59` with parents live main + this exact head. I read all 12 changed files, the full Relay tool/runtime/LLM seams that carry the ABI change, the real-binding plugin regressions, the lockfile delta, existing review state (none), and the open Relay work that shares these files.\n\n**Verdict: blocker-clean on this exact head.** I do not see a runtime, security, lockfile, or hard-invariant defect that should hold this upgrade.\n\nThe important parts line up with the published NeMo Relay 0.8 contract rather than merely compiling against it:\n\n- **Tool-result ABI:** Relay 0.8's `tools.execute()` requires callbacks to return `ToolExecutionResult` and itself returns `ToolExecutionResult`. `agent/relay_tools.py` now wraps the Hermes callback result at that boundary, unwraps only `.result` when crossing back into Hermes, and retains the existing identity-preserving path when mi","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T01:54:26Z","updatedAt":"2026-08-28T01:54:26Z","submittedAt":"2026-08-28T01:54:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96633#pullrequestreview-5047265402"},"data":{"createdAt":"2026-08-28T01:54:26Z","occurredAt":"2026-08-28T01:54:26Z","pullRequest":{"createdAt":"2026-08-27T20:38:22Z","id":"PR_kwDOPRF1G88AAAABBQlU5w","mergedAt":null,"number":96633,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(relay): upgrade to 0.8.1","updatedAt":"2026-08-30T23:28:22Z","url":"https://github.com/NousResearch/hermes-agent/pull/96633"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T01:54:26Z","updatedAt":"2026-08-28T01:54:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/96633#pullrequestreview-5047265402","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLNHv2g","kind":"review","label":"PRR_kwDOPRF1G88AAAABLNHv2g","summary":"Reviewed exact current head `feaefb01adcd7771ddf0d4ee844447bf606ad526` on `main@6dcebea7fc5d0cc4f621eeaddf52b7d877a5f882`. I re-read the head after it advanced during review: the second commit correctly fixes the source-profile/`info_cache` identity mismatch, so that earlier concern is closed on this object. The direct-real-binary approach also addresses a real macOS failure mode that the copy architecture inherited from agent-browser's mock-keychain launch. There is good work here.\n\nI still see three P1 authority/lifecycle blockers on the exact head, plus one repository-architecture landing gate.\n\n## P1 — a configured profile pin fails open when its authority source is unreadable\n\n`hermes_cli/browser_connect.py::_real_profile_pin()` catches every exception from `read_raw_config()` and returns `None`. `_resolve_source_profile()` cannot distinguish that indeterminate state from “the operator deliberately left the pin unset”, so it falls through to `_last_used_profile(src)`.\n\nThat is exactly the wrong-principal transition the new setting says it exists to prevent. If `browser.real_profile_pin` is intended to bind this Hermes profile to `Profile 2`, a transient/unreadable/malformed co","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T00:52:28Z","updatedAt":"2026-08-28T00:52:28Z","submittedAt":"2026-08-28T00:52:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96763#pullrequestreview-5046923226"},"data":{"createdAt":"2026-08-28T00:52:28Z","occurredAt":"2026-08-28T00:52:28Z","pullRequest":{"createdAt":"2026-08-28T00:37:39Z","id":"PR_kwDOPRF1G88AAAABBRxUIg","mergedAt":null,"number":96763,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(browser): real-profile browsing on macOS launches signed out / hangs with Chrome open","updatedAt":"2026-08-30T01:35:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/96763"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T00:52:28Z","updatedAt":"2026-08-28T00:52:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/96763#pullrequestreview-5046923226","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLNp3Vg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLNp3Vg","summary":"Re-reviewed exact head `d3a61501d0da2d327a88845ac179c49d1d4d099a` against the two standing architecture/interlock findings, the complete nine-file surface, the new mixin/fetch seam tests, live `main@420e156bf36e61d047fa526b9e0fcf30b7f26f90`, and exact-head workflow state.\n\nThe remaining source blockers from my `b650405a…` review are closed on this object.\n\n- **Media-send ownership is now actually moved out of the killed adapter.** `DiscordAdapter` composes `DiscordMediaSendMixin` first in its MRO, while `send_multiple_images`, `send_image_file`, `send_image`, `send_animation`, `send_video`, `send_document`, and the batch fallback helper are owned by the 571-line mixin. The adapter diff removes those implementations rather than leaving duplicate behavior behind. `test_discord_media_methods_are_owned_by_the_mixin` and the MRO assertion make that architecture executable, and the moved `send_image` regression proves adapter-level monkeypatch seams still reach the new owner.\n- **The #40255 async-DNS interlock is composed rather than deferred.** The outbound fetch owner now awaits `async_is_safe_url` on the current URL and every redirect target, and the remaining attachment/document fall","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T02:40:05Z","updatedAt":"2026-08-28T02:40:05Z","submittedAt":"2026-08-28T02:40:05Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96543#pullrequestreview-5047482198"},"data":{"createdAt":"2026-08-28T02:40:05Z","occurredAt":"2026-08-28T02:40:05Z","pullRequest":{"createdAt":"2026-08-27T17:52:14Z","id":"PR_kwDOPRF1G88AAAABBPewjw","mergedAt":null,"number":96543,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(discord): harden outbound image URL fetches","updatedAt":"2026-08-28T02:40:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/96543"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T02:40:05Z","updatedAt":"2026-08-28T02:40:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/96543#pullrequestreview-5047482198","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLNQcMg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLNQcMg","summary":"Re-reviewed current head `27f3ad497393011d5b344cc53de0856f5cc45322` on `main@6dcebea7fc5d0cc4f621eeaddf52b7d877a5f882` against the original persistence-owner P1.\n\nThe code repair closes that blocker. `ensureGatewayAgent()` now publishes the explicit `(connectionId, profile)` composer owner before the active-profile notification; unresolved legacy ownership fails closed instead of borrowing the stale presentation descriptor; and the regression exercises the real rejected-`getConnectionFor()` activation/reseed path while keeping A’s sticky selection unchanged and B’s selection isolated/restorable. The follow-up read-side work also preserves owner identity through registry reuse, catalog routing, routed-failure fallback, and React Query cache identity. I did not find another code-path blocker in the six follow-up commits.\n\nThis exact object is not ready to settle yet because required CI is red. `JS & TS checks / JS & TS checks` failed in `apps/desktop :: check:test:ui` (`vitest run --project ui`), which in turn left `All required checks pass` failed. The job log terminates during UI-suite output with exit code 1 but no failed assertion or final Vitest summary, so this may be an execut","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T01:21:10Z","updatedAt":"2026-08-28T01:21:10Z","submittedAt":"2026-08-28T01:21:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96714#pullrequestreview-5047065650"},"data":{"createdAt":"2026-08-28T01:21:10Z","occurredAt":"2026-08-28T01:21:10Z","pullRequest":{"createdAt":"2026-08-27T23:18:55Z","id":"PR_kwDOPRF1G88AAAABBRcDZQ","mergedAt":null,"number":96714,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(desktop): keep remote profiles on their own models","updatedAt":"2026-08-28T11:23:56Z","url":"https://github.com/NousResearch/hermes-agent/pull/96714"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T01:21:10Z","updatedAt":"2026-08-28T01:21:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/96714#pullrequestreview-5047065650","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLNZRSQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLNZRSQ","summary":"Reviewed exact head `da088b456d39aac2c4942ca438e4fcafaa218813` against live `main@6dcebea7fc5d0cc4f621eeaddf52b7d877a5f882`. This is a one-commit, two-file direct child of current main; both touched files remain below the repository's 2K ceiling, and there were no prior review submissions when I posted this.\n\nNo blocker found. The change fixes the actual wire boundary rather than papering over the provider error: caller-supplied `prompt_cache_key` remains authoritative, but is normalized through the existing Responses transport `_bounded_prompt_cache_key()` before the early return. Short keys survive byte-for-byte, blank keys are removed, and over-length keys use the existing collision-resistant `pck_<sha256[:24]>` shape instead of truncating away suffix entropy. The same behavior is exercised on top-level `request_overrides`, `extra_body`, and the legacy kwargs path, while the pre-existing no-duplicate top-level/extra-body behavior is preserved.\n\nThe five regressions are well targeted and the exact surviving commit is fully green: CI `33129332475` ✅ with aggregate `All required checks pass` job `98715661677`, Docker `33129332000` ✅, and Nix `33129331997` ✅. Attribution, Windows fo","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T01:45:52Z","updatedAt":"2026-08-28T01:45:52Z","submittedAt":"2026-08-28T01:45:52Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96755#pullrequestreview-5047210313"},"data":{"createdAt":"2026-08-28T01:45:52Z","occurredAt":"2026-08-28T01:45:52Z","pullRequest":{"createdAt":"2026-08-28T00:19:06Z","id":"PR_kwDOPRF1G88AAAABBRrdnQ","mergedAt":null,"number":96755,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(cache): over-length caller prompt_cache_key no longer 400s Chat Completions requests (opencode#44571 port)","updatedAt":"2026-08-29T06:06:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/96755"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T01:45:52Z","updatedAt":"2026-08-28T01:45:52Z","url":"https://github.com/NousResearch/hermes-agent/pull/96755#pullrequestreview-5047210313","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLObPXA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLObPXA","summary":"Reviewed exact `a9c3ea445fde37cca4c1a7f074617f3848bc8353` against live `main@4e7eb39947f132f961923f9e3f600bc8e63066dd` (this PR is a direct child of current main).\n\nThe security intent is real, and the test direction is useful. Unsetting names before `export -p` preserves the existing multiline-`declare -x` safety property, and the new real-bash snapshot round trip is substantially stronger than a source-shape-only assertion.\n\nI found two P1 blockers before this can safely land.\n\n### P1 — `${__v^^}` raises the shell floor above supported macOS\n\nThe new fold at `tools/environments/base.py` uses Bash 4's `${parameter^^}` uppercase transformation. Hermes' current macOS CI lane explicitly documents that the hosted runner's `/bin/bash` is **3.2**, and the local backend resolves `bash` from PATH. The new regression helper itself also prefers `/bin/bash` when it exists.\n\nThat means the production snapshot path can hit `bad substitution` on stock macOS exactly where this PR now runs `${__v^^}`. The current test does not catch this because it is merely `skipif(win32)`: it runs in the Linux Python lane under modern Bash, while the macOS lane only selects `macos_only` tests.\n\nRequired fix: ke","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T05:56:13Z","updatedAt":"2026-08-28T05:56:13Z","submittedAt":"2026-08-28T05:56:13Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96908#pullrequestreview-5048291164"},"data":{"createdAt":"2026-08-28T05:56:13Z","occurredAt":"2026-08-28T05:56:13Z","pullRequest":{"createdAt":"2026-08-28T05:32:59Z","id":"PR_kwDOPRF1G88AAAABBTBTCA","mergedAt":null,"number":96908,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"security(tools): case-insensitive credential scrub in env snapshots","updatedAt":"2026-08-28T06:30:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/96908"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T05:56:13Z","updatedAt":"2026-08-28T05:56:13Z","url":"https://github.com/NousResearch/hermes-agent/pull/96908#pullrequestreview-5048291164","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLOKvyQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLOKvyQ","summary":"Reviewing exact head `a72a929dce8956dac9e5ce631349dc7f5b487e99` against current `main@99c3cad8570732202907cf71f971fea9ec57df26`. This is a direct-child/current-main diff, so there is no stale-base ambiguity in the findings below.\n\nThe core direction is good. Pulling the aggregate gate logic into `scripts/ci/evaluate_ci_gate.py` closes the existing fail-open shape: only `success`/`skipped` are accepted now, while cancelled/timed-out/unknown/malformed dependency state blocks. The targeted `POST /actions/jobs/{job_id}/rerun` is also the right primitive: GitHub reruns that job plus dependent jobs, so the review gate can heal without replaying unrelated failed lanes. And bounding the comment/rerun automation instead of holding runners for 40–60 minutes is worth doing.\n\nI found two landing blockers and one ordering issue that should be fixed in the same class.\n\n### P1 — the new deferred label handoff drops fork PRs\n\nThe new `label-rerun.yml` deliberately stops waiting when `ci-reviewed` is added before CI completes:\n\n```yaml\nif [ \"$status\" != \"completed\" ]; then\n  echo \"CI run $run_id is $status; not holding a runner while it finishes.\"\n  exit 0\nfi\n```\n\nThat is only correct if the `workf","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T04:52:36Z","updatedAt":"2026-08-28T04:52:36Z","submittedAt":"2026-08-28T04:52:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96879#pullrequestreview-5048020937"},"data":{"createdAt":"2026-08-28T04:52:36Z","occurredAt":"2026-08-28T04:52:36Z","pullRequest":{"createdAt":"2026-08-28T04:41:38Z","id":"PR_kwDOPRF1G88AAAABBS0o5Q","mergedAt":null,"number":96879,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(ci): bound review automation and fail closed","updatedAt":"2026-08-28T05:20:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/96879"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T04:52:36Z","updatedAt":"2026-08-28T04:52:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/96879#pullrequestreview-5048020937","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLOuEdg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLOuEdg","summary":"Reviewed exact head `66a473cbb220700e40120ead05a3e9867f9fcb46` against live `main@01740f352e2f2414b3bdb7791c2ed1f7bbb2b455`.\n\nThe previous review's two concrete lifecycle findings are genuinely fixed here: a raising `check_fn()` is now contained per entry, and service teardown is ordered before adapter disconnect. The branch is also only two commits behind live main, and those two current-main commits are path-disjoint (`tests/perf_guards/test_pattern_b_scaling.py` only), so the findings below are about this exact implementation rather than stale-main noise.\n\nI still see two P1 runtime/ownership blockers, plus three hard landing gates.\n\n### P1 — the new registry drops the profile-scoped ownership contract that `register_platform()` now depends on\n\nThe PR says the service API mirrors `register_platform()` / `platform_registry` one-to-one, but current main's platform path has materially evolved past the shape copied here.\n\n`PluginContext.register_platform()` now:\n\n- resolves `scope = self._manager.scope_key`,\n- snapshots the current scoped registration,\n- registers into `platform_registry` with that scope,\n- verifies the exact replacement,\n- and records a replacement handle so plugin","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T06:51:49Z","updatedAt":"2026-08-28T06:51:49Z","submittedAt":"2026-08-28T06:51:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/63721#pullrequestreview-5048599670"},"data":{"createdAt":"2026-08-28T06:51:49Z","occurredAt":"2026-08-28T06:51:49Z","pullRequest":{"createdAt":"2026-07-13T10:50:28Z","id":"PR_kwDOPRF1G87xBoHz","mergedAt":null,"number":63721,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(plugins): add register_background_service() API for long-running services","updatedAt":"2026-08-31T06:23:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/63721"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T06:51:49Z","updatedAt":"2026-08-28T06:51:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/63721#pullrequestreview-5048599670","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLOXEYA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLOXEYA","summary":"Re-reviewing exact head `bd75b403eab5c0bd9bffa5d6ec5645be877ba792` after the transport/control-plane split from #84963 exposed one security boundary that my earlier acceptance review did not cover.\n\nThe dual-era lifecycle work remains strong, and the prior TTL field-presence blocker is still closed. This new finding is narrower: the current redirect authority guard is not an enforcement boundary for the first cross-origin hop, and it can restore authority on a later return-to-origin hop.\n\n### P1 — redirect credential authority is not monotonic across an HTTP redirect chain\n\nAt this exact head, `tools/mcp_tool.py::_make_redirect_header_stripper()` is registered only as an HTTPX **response** hook while `follow_redirects=True`. The hook gates on `response.next_request` and compares each target against the original URL. The production client wiring is still:\n\n```python\n\"event_hooks\": {\"response\": [_strip_auth_on_cross_origin_redirect]}\n```\n\nand the helper still does:\n\n```python\nif response.is_redirect and response.next_request:\n    target = response.next_request.url\n    if target_origin != original_origin:\n        ... strip Authorization/configured headers ...\n```\n\nThat leaves two coup","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T05:41:42Z","updatedAt":"2026-08-28T05:41:42Z","submittedAt":"2026-08-28T05:41:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92906#pullrequestreview-5048222816"},"data":{"createdAt":"2026-08-28T05:41:42Z","occurredAt":"2026-08-28T05:41:42Z","pullRequest":{"createdAt":"2026-08-23T11:40:27Z","id":"PR_kwDOPRF1G88AAAABAsxxOQ","mergedAt":null,"number":92906,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(mcp): make the stateless client path production-authoritative","updatedAt":"2026-08-28T05:41:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/92906"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T05:41:42Z","updatedAt":"2026-08-28T05:41:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/92906#pullrequestreview-5048222816","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLP8Mvw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLP8Mvw","summary":"Re-reviewed exact current head `f4c8863cdc5761663deec11bb1081ba18a993d8c` after the branch history moved. The source correction from my prior review is preserved on this exact object.\n\n`translate_stream_event()` still reads `functionCall.id` before slot selection and uses `(name, provider_call_id)` as authoritative identity when the provider supplies one. The id-less path still uses the value matcher and searches collision-created slots, so `[A, B, B]` reuses B rather than opening a third slot. The committed tests still pin all four required discriminators: equal args + distinct IDs, repeated ID across signature drift, id-less differing args, and id-less identical resend.\n\nI also refreshed the landing edge rather than transferring the old-head conclusion forward. This branch's merge base is `0dfba37b11ff2ca908ae2df85b55f4f4c9b7fd8b`; live `main@31e41eed347f62de312e59ccc822b30a635d4aba` is 89 commits beyond it. That main-only interval does **not** touch either submitted path (`agent/gemini_native_adapter.py`, `tests/agent/test_gemini_native_adapter.py`), and live main still contains the original `part_index`/name/thought-signature slot key, so the defect has not been independently s","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T09:41:46Z","updatedAt":"2026-08-28T09:41:46Z","submittedAt":"2026-08-28T09:41:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/75528#pullrequestreview-5049879743"},"data":{"createdAt":"2026-08-28T09:41:46Z","occurredAt":"2026-08-28T09:41:46Z","pullRequest":{"createdAt":"2026-07-31T16:26:31Z","id":"PR_kwDOPRF1G875GwGR","mergedAt":null,"number":75528,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gemini): give each native tool call its own streaming slot","updatedAt":"2026-08-28T10:18:05Z","url":"https://github.com/NousResearch/hermes-agent/pull/75528"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T09:41:46Z","updatedAt":"2026-08-28T09:41:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/75528#pullrequestreview-5049879743","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLPDuhQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLPDuhQ","summary":"Re-review on exact head `24ecc2a7693d71bf18f71a3bf13cde6de8e2768f`.\n\nThe new commit does close the stable-identifier documentation defect from my previous review. Its parent is the reviewed `a69a9c351dfa7cc37b804259b19c4f4a6a3a7e44`, and the delta is only the four-line `cli-config.yaml.example` correction: the config no longer promises that `install_id` is withheld or replaced by a 30-day HMAC, and now describes the actual stable random UUID transmission. Exact-head hosted execution is green: CI `33150071330` reaches `All required checks pass`; Docker `33150070879` and Nix `33150070872` are successful.\n\nOne operator-facing consent statement in the same block is still materially looser than the mechanism. The config says that packages are eligible when their period **starts on or after the day you opted in**. The sender does not implement a start-date gate: `CONSENT_GATE_SQL` requires the entire package interval to be contained in one recorded consent window (`period_start >= opened_at` **and** `period_end <= closed_at/last_confirmed_at`). That distinction is privacy-significant at opt-in/revocation boundaries. Please make the config literal — e.g. that only packages whose entire co","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T07:41:27Z","updatedAt":"2026-08-28T07:41:28Z","submittedAt":"2026-08-28T07:41:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95278#pullrequestreview-5048954501"},"data":{"createdAt":"2026-08-28T07:41:27Z","occurredAt":"2026-08-28T07:41:27Z","pullRequest":{"createdAt":"2026-08-26T05:56:26Z","id":"PR_kwDOPRF1G88AAAABBCLH1Q","mergedAt":null,"number":95278,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(telemetry): opt-in shared-metrics exporter","updatedAt":"2026-08-28T07:41:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/95278"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T07:41:27Z","updatedAt":"2026-08-28T07:41:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/95278#pullrequestreview-5048954501","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLPk-oA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLPk-oA","summary":"Re-reviewed exact head `382fe2a420aef0f51d39d55a69dd117badd20f09` after the main refresh and the hand-resolved `agent/auxiliary_client.py` conflict.\n\nThe prior source blockers remain closed on this object. The egress runtime still derives the firewall secret set from the exact applied secret names/values rather than an ambient credential pool; protected terminal stdout still requires self-provenanced registered read-launch authority, while diagnostics, missing/forged launcher provenance, and grant reuse remain rejected; and `cross_process_file_lock.py` still selects `msvcrt.locking` on Windows and `fcntl.flock` on POSIX. The corresponding current-head tests remain present, including exact applied-secret scoping, self-provenanced terminal reads, forged/missing terminal authority rejection, one-shot grant consumption, and the Windows portable-lock path. Mike DeMott's contributor mapping is also present.\n\nI specifically re-read the one hand-resolved conflict. `scoped_runtime_main(main_runtime)` is composed into the same provider-call context as upstream's `aux_progress_hook` and both timing hooks, rather than replacing or bypassing those upstream additions, so the merge resolution doe","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T08:52:11Z","updatedAt":"2026-08-28T08:52:11Z","submittedAt":"2026-08-28T08:52:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95850#pullrequestreview-5049499296"},"data":{"createdAt":"2026-08-28T08:52:11Z","occurredAt":"2026-08-28T08:52:11Z","pullRequest":{"createdAt":"2026-08-26T21:29:49Z","id":"PR_kwDOPRF1G88AAAABBIadww","mergedAt":null,"number":95850,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Secure source-bound remote workers without losing workspace capability","updatedAt":"2026-08-31T00:47:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/95850"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T08:52:11Z","updatedAt":"2026-08-28T08:52:11Z","url":"https://github.com/NousResearch/hermes-agent/pull/95850#pullrequestreview-5049499296","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLPlLrQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLPlLrQ","summary":"Reviewed exact head `6872d77d281b68314a50139978bb36c89d4353c4` against merge base `48d25280669f645550c86b7540c01996f611be63` and live `main@5f75ec197b16d1a055688fb9df63ac49586a2230`. Main's post-base #96991 is file-disjoint from this PR. Exact-head CI is green: CI 33155942873, Docker 33155942362, Nix 33155942319.\n\nThere is a lot worth keeping here: the opaque-handle surface is clean, server-side resolution is the right direction, origin metadata is normalized, `new-password` / OTP exclusion is explicit, the hardening commit correctly treats key+ciphertext as one credential class for file reads/backups, and the OpenInstinct lineage is visible rather than being laundered away.\n\nI do have two security blockers plus one landing-order dependency before I think the advertised **model-blind** invariant is true end-to-end.\n\n### P1 — the model can read the filled secret back through the browser toolset\n\n`agent/vault_login_classifier.py::build_fill_js()` writes the plaintext into the page and explicitly marks the element with `data-vault-secret=\"true\"`. At the same exact head, `toolsets.py` exposes `browser_cdp` alongside `browser_vault_fill` in both `_HERMES_CORE_TOOLS` and the `browser` to","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T08:52:40Z","updatedAt":"2026-08-28T08:52:40Z","submittedAt":"2026-08-28T08:52:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96988#pullrequestreview-5049502637"},"data":{"createdAt":"2026-08-28T08:52:40Z","occurredAt":"2026-08-28T08:52:40Z","pullRequest":{"createdAt":"2026-08-28T08:23:24Z","id":"PR_kwDOPRF1G88AAAABBUAhOA","mergedAt":null,"number":96988,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat: agent signs into sites from an encrypted local vault — CLI, browser fill, and Desktop Settings UI","updatedAt":"2026-08-30T07:53:38Z","url":"https://github.com/NousResearch/hermes-agent/pull/96988"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T08:52:40Z","updatedAt":"2026-08-28T08:52:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/96988#pullrequestreview-5049502637","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLPLSjA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLPLSjA","summary":"Correction to one topology sentence in my immediately preceding re-review: I over-stated the rebase as a direct current-main child.\n\nThe exact commit graph says `4b54b725720e3f68e21593467bc0e17d8fd08629` has parent `e078b2fe7c02ae08902704f573e64ab68d57a70f`. Against live `main@3f315e46fede84ed4e6c8cfdbd00a13618e68986`, `git compare`/the GitHub compare graph is **diverged** with merge base `e078b2fe…`: main has 4 unique commits and this PR has 1 unique commit. So the large 296-commit drift was substantially repaired, but the head is **not** current-main-based yet.\n\nThat correction does not change either P1 finding, the #96809/#63962/#84165/#78889 interlocks, the missing `yzk55133@kfkfka.com` attribution mapping, or the fresh exact-head CI/Docker/Nix `action_required` state. The required semantic restack onto actual current main therefore remains part of the landing gate.\n\nI’m posting this explicitly rather than leaving an imprecise topology claim in the review record.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T07:59:27Z","updatedAt":"2026-08-28T07:59:27Z","submittedAt":"2026-08-28T07:59:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96950#pullrequestreview-5049078412"},"data":{"createdAt":"2026-08-28T07:59:27Z","occurredAt":"2026-08-28T07:59:27Z","pullRequest":{"createdAt":"2026-08-28T07:11:01Z","id":"PR_kwDOPRF1G88AAAABBThKIA","mergedAt":null,"number":96950,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(feishu): enable doc/drive tools in DM sessions via shared client fallback","updatedAt":"2026-08-31T01:06:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/96950"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T07:59:27Z","updatedAt":"2026-08-28T07:59:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/96950#pullrequestreview-5049078412","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLQaHOg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLQaHOg","summary":"Reviewed exact head `d1593f21940fc0460a74c79d663fc0d4b24c5c2b`, a direct child of current `main@8c098e9e819169879a7b2f74990e83b5d39696c8`. I read all four changed files, the current file-path authority in `tools/file_tools.py`, #95874, the timeout lineage in #52185, the delegated-CWD work in #93778, the delegated-context overlap in #96500, and the open `tools/delegate_tool.py` fracture owner #79928. Exact-head CI/Docker/Nix are green (`33164185879`, `33164185147`, `33164185132`). There were no prior reviews/comments on this head.\n\nThe lifecycle idea is strong: binding an owner at dispatch, closing its gate on timeout, delaying quarantine until the existing grace, and releasing only from the future's real done callback is materially better than a time-based unlock. The same-domain/other-domain/read/non-delegated controls are also the right shape. I do have two correctness blockers plus one landing/ownership blocker before I think this can safely close #95874.\n\n### P1 — relative file mutations are authorized against a different coordinate than the mutation itself\n\n`agent/workspace_mutation_fence.py::mutation_target_path()` resolves a relative `path` with `Path.cwd()`. But Hermes file","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T10:47:37Z","updatedAt":"2026-08-28T10:47:37Z","submittedAt":"2026-08-28T10:47:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97061#pullrequestreview-5050369850"},"data":{"createdAt":"2026-08-28T10:47:37Z","occurredAt":"2026-08-28T10:47:36Z","pullRequest":{"createdAt":"2026-08-28T10:39:24Z","id":"PR_kwDOPRF1G88AAAABBU43uQ","mergedAt":null,"number":97061,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(agent): quarantine same-workspace delegated mutations until stale child exits","updatedAt":"2026-08-28T10:47:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/97061"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T10:47:36Z","updatedAt":"2026-08-28T10:47:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/97061#pullrequestreview-5050369850","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLQgnTg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLQgnTg","summary":"Supplement to the exact-head review on `f228439bcc75ce3730e4203e2922d88805ef59f4`: I traced CI run `33153113149` instead of leaving the Python failure as an undiagnosed red job.\n\nThe job fails three tests, all caused by the module extraction not carrying the repository guards across the same ownership boundary:\n\n### 1. The Keychain hermetic guard now patches a dead projection\n\n`tests/conftest.py::_neutralize_macos_keychain_creds` still patches only `agent.anthropic_adapter._read_claude_code_credentials_from_keychain`. After this PR, `read_claude_code_credentials()` executes inside `agent.anthropic_credentials` and resolves that module's private `_read_claude_code_credentials_from_keychain` directly. Patching the adapter re-export no longer intercepts the call.\n\nThat is why both of these exact-head regressions reach `security find-generic-password` and fail:\n\n- `tests/test_hermetic_side_effect_guards.py::test_claude_code_credential_read_does_not_touch_macos_keychain`\n- `tests/test_hermetic_side_effect_guards.py::test_anthropic_token_resolution_does_not_touch_macos_keychain`\n\nThis is not harmless test churn: the default suite has lost its guard against reading the operator's real mac","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T11:03:40Z","updatedAt":"2026-08-28T11:03:40Z","submittedAt":"2026-08-28T11:03:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/87891#pullrequestreview-5050476366"},"data":{"createdAt":"2026-08-28T11:03:40Z","occurredAt":"2026-08-28T11:03:40Z","pullRequest":{"createdAt":"2026-08-16T18:24:20Z","id":"PR_kwDOPRF1G87_xmjJ","mergedAt":null,"number":87891,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(auth): close Anthropic OAuth CSRF gap, cross-process refresh race, and API-key shadowing","updatedAt":"2026-08-30T01:35:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/87891"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T11:03:40Z","updatedAt":"2026-08-28T11:03:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/87891#pullrequestreview-5050476366","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLQzoxA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLQzoxA","summary":"I reviewed exact head `098dc8316b6c6824d518a8fd68189fc71b3b2849` against its live merge base/current `main@c30ac90a92097058ddd6f9db3fa2e3182a7bfdcc`, including all four commits, the final 10-file diff, exact-target/refusal receipts, the post-update fleet verifier, existing review state, contributor mapping, and the overlapping updater graph. The exact-head CI, Docker, and Nix runs are green. The full-object equality check, explicit remote-tracking ref refresh, branch containment, fast-forward-only application, and pinned no-reset/no-ZIP behavior are good hardening. The real-git force-push regression is especially useful.\n\nI do not think this is ready to land yet. There are three blocking boundaries plus one scope/verification cleanup.\n\n**P1 — the exact target is admitted, but it is not the object that settlement is required to prove.**\n\n`_preflight_exact_commit_update()` establishes `requested_commit = T`, and the apply path correctly executes `git merge --ff-only T`. After that, however, `_cmd_update_impl()` only rejects the historical no-op case (`post_pull_sha == pre_pull_sha`). There is no final `post_pull_sha == requested_commit` requirement, and the later fleet verifier deriv","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T11:48:34Z","updatedAt":"2026-08-28T11:48:35Z","submittedAt":"2026-08-28T11:48:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97056#pullrequestreview-5050788036"},"data":{"createdAt":"2026-08-28T11:48:34Z","occurredAt":"2026-08-28T11:48:34Z","pullRequest":{"createdAt":"2026-08-28T10:25:42Z","id":"PR_kwDOPRF1G88AAAABBUzFzg","mergedAt":null,"number":97056,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(update): support exact commit cutoffs","updatedAt":"2026-08-28T11:48:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/97056"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T11:48:34Z","updatedAt":"2026-08-28T11:48:35Z","url":"https://github.com/NousResearch/hermes-agent/pull/97056#pullrequestreview-5050788036","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLRR2ug","kind":"review","label":"PRR_kwDOPRF1G88AAAABLRR2ug","summary":"Reviewed exact head `73fca308cca0c51ef9a1e36386aebcfb7988e2b4` against live `main@9978706e9303dbf990d90e744b131361449d73b9` (merge base `35328345d5e3b5badc47271bdb8828e1fd2d25f4`; this head is 1 commit ahead / 2 behind current main). I read the full six-file diff, the current Kanban DB/CLI/tool implementations, the dispatch/claim enforcement path, exact-head workflow state, #67132, and the live competing/predecessor implementations #67156, #68850, and superseded #97141.\n\nThe core shape is strong: the predicate is explicit rather than inferred from prose, legacy NULL edges remain backward-compatible, one shared dependency evaluator reaches recompute/manual promotion/dashboard paths, and `claim_task()` revalidates inside the write transaction immediately before `ready -> running`. That last check is particularly important; it closes stale/manual-ready state rather than trusting an earlier projection.\n\n### P1 — an idempotent create can silently discard the new gate contract\n\n`hermes_cli/kanban_db.py:create_task()` still returns an existing non-archived task immediately when `idempotency_key` matches:\n\n```py\nif idempotency_key:\n    row = conn.execute(\n        \"SELECT id FROM tasks WHER","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T13:00:15Z","updatedAt":"2026-08-28T13:00:15Z","submittedAt":"2026-08-28T13:00:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97151#pullrequestreview-5051283130"},"data":{"createdAt":"2026-08-28T13:00:15Z","occurredAt":"2026-08-28T13:00:15Z","pullRequest":{"createdAt":"2026-08-28T12:42:27Z","id":"PR_kwDOPRF1G88AAAABBVpHuw","mergedAt":null,"number":97151,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(kanban): gate dependencies on exact parent results","updatedAt":"2026-08-28T13:35:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/97151"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T13:00:15Z","updatedAt":"2026-08-28T13:00:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/97151#pullrequestreview-5051283130","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLSJz0g","kind":"review","label":"PRR_kwDOPRF1G88AAAABLSJz0g","summary":"Exact-head review on `a9a7499f06f7e00176ee53103543bebadbe39c79`: the implementation matches #97186's live defect boundary. `_build_browser_env()` still starts from `hermes_subprocess_env(inherit_credentials=False)`, preserves the existing browser-only credential allowlist, and now applies the already-canonical `_merge_browser_path()` to that scrubbed PATH before any browser subprocess is launched. The added real-profile regression exercises the actual subprocess env handoff, verifies the managed Node PATH reaches `subprocess.run`, and keeps an unrelated scrubbed-env sentinel intact, so this is stronger than a helper-only assertion.\n\nLanding edge is exact: current `main` is still the PR base `0abecf7a93948da386d3b23adba37475cc40fe53`; this PR is one submitted commit / two files and GitHub reports it mergeable. Exact-head hosted execution is green: CI `33180821859`, Docker `33180821143`, Nix `33180820824`. I found no remaining source or exact-object blocker in this carrier. #97198 is a duplicate implementation of the same one-line production change with weaker regression coverage; #97190 is the cleaner canonical carrier.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T14:47:54Z","updatedAt":"2026-08-28T14:47:54Z","submittedAt":"2026-08-28T14:47:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97190#pullrequestreview-5052199890"},"data":{"createdAt":"2026-08-28T14:47:54Z","occurredAt":"2026-08-28T14:47:54Z","pullRequest":{"createdAt":"2026-08-28T13:41:50Z","id":"PR_kwDOPRF1G88AAAABBWCG7w","mergedAt":null,"number":97190,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(browser): include managed Node in subprocess PATH","updatedAt":"2026-08-28T14:47:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/97190"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T14:47:54Z","updatedAt":"2026-08-28T14:47:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/97190#pullrequestreview-5052199890","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLSq3Qw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLSq3Qw","summary":"Jackal991 — the core safety decision here is right: once a live adapter explicitly says the write is indeterminate, cron must stop trying alternate transports for that same target. The object/dict coverage and the ordinary-failure control are useful, and this is correctly distinct from the gateway-loop timeout work in #93629 / the older confirmation-race work in #75876.\n\nI reviewed exact head `42e3920dcd4a5ff946bb1a9ee5d03682b09d1e8c`. While I was reviewing, `main` advanced to `a9e72f1b5843467b7cabd4d361b8088832912afe`; the exact merge base is still `306db2776c6b6f1acc85c31c4dabba3263f0e9fd`, so this head is now 1 commit ahead / 1 behind current main. The new main commit is unrelated `read_file` work, but this is no longer a direct-current-main child and should be restacked before final acceptance.\n\n### P1 — the no-replay branch drops the durable receipt that makes an ambiguous write reconcilable\n\nThis PR’s body says the scheduler “logs the unknown outcome at WARNING with the durable receipt preserved,” and #97230’s acceptance contract is explicit: cron must **record/log the unknown outcome and receipt**. The implementation at this head does not actually carry a receipt across the ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T15:52:59Z","updatedAt":"2026-08-28T15:52:59Z","submittedAt":"2026-08-28T15:52:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97250#pullrequestreview-5052741443"},"data":{"createdAt":"2026-08-28T15:52:59Z","occurredAt":"2026-08-28T15:52:59Z","pullRequest":{"createdAt":"2026-08-28T15:39:42Z","id":"PR_kwDOPRF1G88AAAABBW2dkg","mergedAt":null,"number":97250,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cron): suppress standalone fallback after adapter reports an ambiguous write","updatedAt":"2026-08-28T15:52:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/97250"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T15:52:59Z","updatedAt":"2026-08-28T15:52:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/97250#pullrequestreview-5052741443","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLSRhug","kind":"review","label":"PRR_kwDOPRF1G88AAAABLSRhug","summary":"Reviewed exact head `5bb2955213e579d5ef50ed6c54c89becff658ee1` against live `main@306db2776c6b6f1acc85c31c4dabba3263f0e9fd`. Exact merge base is `c30ac90a92097058ddd6f9db3fa2e3182a7bfdcc`; this head is 2 commits ahead / 67 behind current main.\n\nThere is a lot to like here. `get_default_hermes_root()` is the right primitive for one root-level source shared by named/default profiles, the policy bytes go through the existing memory sanitization path, and the second commit correctly made the GLOBAL renderer a distinct policy block instead of pretending it is personal MEMORY. Extending the policy to focused children is also the right architectural question to ask. I do see two correctness blockers in the exact current shape, plus landing/ownership gates.\n\n### P1 — main-agent GLOBAL policy still disappears when both personal built-in stores are disabled\n\nThe new `load_global_policy_block()` is independent, but `agent/system_prompt.py::build_system_prompt_parts()` does not call it. Main-agent injection is still nested under:\n\n```py\nif agent._memory_store:\n    global_policy_block = agent._memory_store.format_for_system_prompt(\"global_policy\")\n```\n\nOn this exact head, `agent/agent_init.py` ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T15:02:20Z","updatedAt":"2026-08-28T15:02:20Z","submittedAt":"2026-08-28T15:02:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97231#pullrequestreview-5052326330"},"data":{"createdAt":"2026-08-28T15:02:20Z","occurredAt":"2026-08-28T15:02:20Z","pullRequest":{"createdAt":"2026-08-28T14:50:11Z","id":"PR_kwDOPRF1G88AAAABBWg-7g","mergedAt":null,"number":97231,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat: load one global policy across profiles","updatedAt":"2026-08-29T06:37:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/97231"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T15:02:20Z","updatedAt":"2026-08-28T15:02:20Z","url":"https://github.com/NousResearch/hermes-agent/pull/97231#pullrequestreview-5052326330","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLTB0Iw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLTB0Iw","summary":"Re-reviewed exact current head `21236fc00f1d42ce7aa3a8f8a6809d74536b8ddc` after the spawn-failure cleanup follow-up. I re-read the new commit, the full bounded `docker_env_transport.py` owner, the affected Docker environment tests, the full three-commit PR history, the #96268 / #96314 ownership topology, the exact workflow runs for every surviving commit, and the current-main landing interval.\n\nThe remaining P1 from my prior review is closed. `_run_bash()` now owns the env-file until `_popen_bash()` returns successfully; any exception before process ownership transfer closes/unlinks the handle before re-raising. `test_exec_spawn_failure_unlinks_env_file` forces the synchronous spawn failure after file creation and proves the handle is closed, the exact path is gone, and no `hermes-docker-env-*` artifact remains. The normal success path still transfers lifetime ownership to `_EnvFileProcess`, whose `poll()`/`wait()`/destructor cleanup remains intact.\n\nThe earlier control-plane authority defect also remains closed: container-target values travel through a private `--env-file`, not the Docker client's environment, with direct `DOCKER_HOST` / `DOCKER_CONTEXT` coverage across run, exec,","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T16:40:51Z","updatedAt":"2026-08-28T16:40:51Z","submittedAt":"2026-08-28T16:40:51Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96316#pullrequestreview-5053117475"},"data":{"createdAt":"2026-08-28T16:40:51Z","occurredAt":"2026-08-28T16:40:51Z","pullRequest":{"createdAt":"2026-08-27T11:39:16Z","id":"PR_kwDOPRF1G88AAAABBMs5hg","mergedAt":null,"number":96316,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(docker): keep forwarded env values out of docker argv","updatedAt":"2026-08-29T08:09:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/96316"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T16:40:51Z","updatedAt":"2026-08-28T16:40:51Z","url":"https://github.com/NousResearch/hermes-agent/pull/96316#pullrequestreview-5053117475","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLTeJZQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLTeJZQ","summary":"Re-reviewed current exact head `a471009c14d201f736f1a3f605d17a6417041a67` after the follow-up that fixed the dispatch/handler contract and status target matching.\n\nThe two newly reported defects are closed on this object.\n\n- `dispatchTool()` connects and attests once, then passes the resulting live handle as `ctx.cdp`; `handleAct()` now consumes that same handle instead of calling a nonexistent `ctx.ensureCdp()`. The new dispatch tests run the real act and flow handlers through the exact dispatch-built context, so this contract is no longer protected only by mocks that can drift independently.\n- `desktop_ui_status` now shares the target-match predicate with CDP discovery rather than treating any connectable page as the Hermes target; a wrong `--match` can no longer report a false-positive live target.\n\nI also re-read the load-bearing boundaries from the previous rounds rather than transferring the old verdict. They still hold on this head: the Electron descriptor consumes the single realized Hermes-home authority (`resolveHermesHomeFromInputs` → `resolvedHermesHome`), the guard separately requires target-derived home equality and refuses the protected operator home, every content-b","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T17:42:46Z","updatedAt":"2026-08-28T17:42:46Z","submittedAt":"2026-08-28T17:42:46Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95781#pullrequestreview-5053581669"},"data":{"createdAt":"2026-08-28T17:42:46Z","occurredAt":"2026-08-28T17:42:46Z","pullRequest":{"createdAt":"2026-08-26T18:41:25Z","id":"PR_kwDOPRF1G88AAAABBHYzNQ","mergedAt":null,"number":95781,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(desktop): Debug MCP server — native UI-debugging tools for LLM agents","updatedAt":"2026-08-31T09:54:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/95781"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T17:42:46Z","updatedAt":"2026-08-28T17:42:46Z","url":"https://github.com/NousResearch/hermes-agent/pull/95781#pullrequestreview-5053581669","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLTJXcQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLTJXcQ","summary":"Reviewed exact head `e7fa4678045c1d3c6efe6a21fa3ef960fcc2a74c` against `main@baa344dee76993f0444c18fc59a69738ccb339d0` (the PR commit is a direct child of that main object). I read the full two-file diff, the current `skill_manage` mutation/ledger paths, the new tests, the existing review surface, and the adjacent skill-write graph. Exact-head CI is green: CI `33191412909`, Docker `33191411951`, and Nix `33191411963`. There is one commit, so the per-commit hosted-green gate is satisfied.\n\nThe interface itself is a useful capability: one pending approval record for a coherent multi-file skill edit is much better than approval spam, excluding `delete` from the batch is a disciplined scope decision, and the basic rollback/create-failure tests cover the happy transaction shape well. I found two correctness blockers in the transaction boundary, plus one hard placement gate before I think the word **atomic** is true end-to-end.\n\n### P1 — rollback has no ownership/lease and can erase an independent writer\n\nIn `tools/skill_manager_tool.py::_skill_manage_batch()` (new block beginning around head line 1529), the transaction is:\n\n1. `_find_skill(name)` and `shutil.copytree(pre_dir, snapshot)`","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T16:57:24Z","updatedAt":"2026-08-28T16:57:24Z","submittedAt":"2026-08-28T16:57:23Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97295#pullrequestreview-5053241201"},"data":{"createdAt":"2026-08-28T16:57:24Z","occurredAt":"2026-08-28T16:57:23Z","pullRequest":{"createdAt":"2026-08-28T16:44:36Z","id":"PR_kwDOPRF1G88AAAABBXQVwg","mergedAt":"2026-08-28T19:15:19Z","number":97295,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(skill_manage): operations[] is the call — each op names its skill; atomic with cross-skill rollback","updatedAt":"2026-08-28T19:15:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/97295"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T16:57:23Z","updatedAt":"2026-08-28T16:57:24Z","url":"https://github.com/NousResearch/hermes-agent/pull/97295#pullrequestreview-5053241201","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLTNLtQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLTNLtQ","summary":"Sorry, please disregard that. Thanks. ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T17:05:53Z","updatedAt":"2026-08-28T17:11:06Z","submittedAt":"2026-08-28T17:05:53Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97073#pullrequestreview-5053303733"},"data":{"createdAt":"2026-08-28T17:05:53Z","occurredAt":"2026-08-28T17:05:53Z","pullRequest":{"createdAt":"2026-08-28T10:55:55Z","id":"PR_kwDOPRF1G88AAAABBU_rzw","mergedAt":"2026-08-28T11:01:06Z","number":97073,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"MERGED","title":"feat(compaction): rebuild dynamic tool schemas at the compaction boundary","updatedAt":"2026-08-28T17:11:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/97073"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T17:05:53Z","updatedAt":"2026-08-28T17:11:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/97073#pullrequestreview-5053303733","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLU0HjA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLU0HjA","summary":"Reviewed exact head `d383bd33467368805b8a3e86584d7d8f4633a706` against live `main@e60983a69730c058ce772829df3273aee6de3889` (merge base `00bbfc690060d1323ddb2f065297c7425cb71c26`; this branch is 2 commits ahead / 48 behind). I read the current notifier/config/authz paths, both commits, the focused tests, hosted CI, and the overlapping Kanban-notification work. There was no existing submitted review on this head.\n\nThe second commit's **passive-only** containment is the right instinct: a gateway borrowing another transport must not also wake an agent under the wrong profile. The live stranded-notification evidence is useful too. I do think two P1 authority/routing gaps need to close before this can safely become the delivery fallback, though.\n\n### P1 — `.env` absence is not proof that the owner cannot host the platform\n\n`_profile_hosts_platform()` turns “token not present in `<profile>/.env`” (and even “profile `.env` does not exist”) into `False`, and that `False` is the authorization for another gateway to deliver the subscription.\n\nThat is weaker than Hermes' actual credential source of truth. On current main, `gateway/config.py::_getenv()` first reads the active profile's `secret","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T20:51:49Z","updatedAt":"2026-08-28T20:51:49Z","submittedAt":"2026-08-28T20:51:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97408#pullrequestreview-5054990220"},"data":{"createdAt":"2026-08-28T20:51:49Z","occurredAt":"2026-08-28T20:51:49Z","pullRequest":{"createdAt":"2026-08-28T19:59:25Z","id":"PR_kwDOPRF1G88AAAABBYbS6A","mergedAt":null,"number":97408,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(kanban): deliver notify subscriptions for profiles that cannot host the platform","updatedAt":"2026-08-28T21:09:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/97408"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T20:51:49Z","updatedAt":"2026-08-28T20:51:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/97408#pullrequestreview-5054990220","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLUbZzQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLUbZzQ","summary":"Reviewed exact head `85625bc349ba97863cda1d70355964e9a7278609`. I also reconciled it against live `main@6da0ae1cf5a37898a046b644cf23f9fe67baba22`: the branch is currently 3 commits ahead / 226 behind from merge base `f3cbb262c1d7014f1a4d225242d06983122c5ddf`, so the final shape needs a current-main restack before it can be treated as a landing object.\n\nThere is a lot worth keeping here: the auth provider is already a bounded module rather than another giant inline implementation; disk-cache writes are atomic and `0600`; error paths avoid echoing token response bodies; the SDK-httpx compatibility handling is careful; the one-401 retry is bounded; and the test surface covers cache reuse, renewal, refresh fallback, concurrency, profile isolation, and legacy auth coexistence. I found no prior review/comment on this head, so this is not repeating an unchanged-head review.\n\nI do see two P1 correctness/security blockers plus a landing-order gate.\n\n### P1 — the configured token endpoint is not the actual credential boundary\n\n`validate_service_account_config()` currently accepts both `https://` **and `http://`** token URLs:\n\n```py\nif token_url and not str(token_url).startswith((\"https://\", ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T19:52:50Z","updatedAt":"2026-08-28T19:52:50Z","submittedAt":"2026-08-28T19:52:50Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97331#pullrequestreview-5054585293"},"data":{"createdAt":"2026-08-28T19:52:50Z","occurredAt":"2026-08-28T19:52:50Z","pullRequest":{"createdAt":"2026-08-28T17:38:33Z","id":"PR_kwDOPRF1G88AAAABBXlaqg","mergedAt":null,"number":97331,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(mcp): service-account M2M OAuth provider for HTTP MCP servers","updatedAt":"2026-08-29T12:15:09Z","url":"https://github.com/NousResearch/hermes-agent/pull/97331"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T19:52:50Z","updatedAt":"2026-08-28T19:52:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/97331#pullrequestreview-5054585293","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLUvWag","kind":"review","label":"PRR_kwDOPRF1G88AAAABLUvWag","summary":"Re-reviewed exact head `69355e42f77568c6290f87104b3a380b2124e332` against current `main@e60983a69730c058ce772829df3273aee6de3889` and the author reply.\n\nThe claim-time revalidation and the new unreadable/malformed-metadata witnesses are useful and close the stale assignment→claim window in the current mechanism. The first P1 is **not fully closed**, however, because the mechanism still does not prove a positive write capability.\n\n`_profile_read_only_status()` now returns `None` when the profile document itself is absent, unreadable, malformed, or non-mapping. But for any readable mapping it returns `False` unless a recognized read-only value or phrase is present. `_validate_pr_task_assignee_authority()` rejects only `True` and `None`, so all of these readable profiles are still admitted as writable:\n\n- no `execution_authority` / `authority` field at all;\n- an unknown or misspelled authority value;\n- a description that simply omits the phrase “read-only.”\n\nThat is still inference from the absence of a negative marker, not positive typed authority. Free-form `description` text also remains part of the mutation decision. The new code therefore fails closed on unreadable metadata but s","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T20:39:27Z","updatedAt":"2026-08-28T20:39:27Z","submittedAt":"2026-08-28T20:39:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97368#pullrequestreview-5054912106"},"data":{"createdAt":"2026-08-28T20:39:27Z","occurredAt":"2026-08-28T20:39:27Z","pullRequest":{"createdAt":"2026-08-28T18:47:05Z","id":"PR_kwDOPRF1G88AAAABBYAESQ","mergedAt":null,"number":97368,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(kanban): keep PR automation atomic","updatedAt":"2026-08-31T05:07:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/97368"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T20:39:27Z","updatedAt":"2026-08-28T20:39:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/97368#pullrequestreview-5054912106","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLV4mYg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLV4mYg","summary":"Reviewed exact head `114f3f811d9a623a95699dc7bb533be609bfa8f9` against live `main@ac6c8028e00d01ee2f299ba7fd03329c7f10382d`. This is a clean 1-commit / 2-file branch, 1 ahead / 0 behind current main, with no earlier review submissions or PR-thread comments when I started.\n\nThe bug in #97476 is real, and the instinct here is right: preflight must reason about the transport that will actually deliver a satellite-profile cron result rather than blindly demanding credentials inside the job-owning profile. The current implementation crosses that boundary too broadly, though.\n\n**P1 — `_load_delivery_gateway_config()` equates “named profile path” with “this job is owned by the default multiplex gateway.” Those are not the same authority.**\n\nThe new helper does this:\n\n```python\nactive_home = _get_hermes_home().resolve()\ndefault_root = Path(get_default_hermes_root()).resolve()\nactive_home.relative_to(default_root / \"profiles\")\n...\nset_hermes_home_override(default_root)\nreturn load_gateway_config()\n```\n\nSo *every* `HERMES_HOME=<root>/profiles/<name>` cron execution discards that profile's gateway configuration for delivery preflight and substitutes the default root's config. There is no chec","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T00:56:16Z","updatedAt":"2026-08-29T00:56:16Z","submittedAt":"2026-08-29T00:56:16Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97550#pullrequestreview-5056112226"},"data":{"createdAt":"2026-08-29T00:56:16Z","occurredAt":"2026-08-29T00:56:16Z","pullRequest":{"createdAt":"2026-08-29T00:51:36Z","id":"PR_kwDOPRF1G88AAAABBZz2fA","mergedAt":null,"number":97550,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(cron): use gateway config for satellite delivery preflight","updatedAt":"2026-08-31T13:04:32Z","url":"https://github.com/NousResearch/hermes-agent/pull/97550"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T00:56:16Z","updatedAt":"2026-08-29T00:56:16Z","url":"https://github.com/NousResearch/hermes-agent/pull/97550#pullrequestreview-5056112226","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLV5jMA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLV5jMA","summary":"Re-reviewed exact head `3e6a503b76c6a70c3aca644d89cfd2d2219df3a2` against current base `0dfba37b11ff2ca908ae2df85b55f4f4c9b7fd8b`.\n\nThe Telegram blocker from my previous review is closed on this tree:\n\n- `TelegramAdapter` now declares `supports_native_remote_images = True`, so the common routing layer no longer destroys signed query material before Telegram's private transport.\n- `send_image()` preserves the original URL for both the Bot API URL attempt and the SSRF-safe byte-download fallback, then sanitizes only the unsafe/final plaintext fallback.\n- `test_signed_image_url_reaches_private_transports_intact` proves the original signed URL reaches both private hops. The two fallback regressions separately prove the plaintext boundary receives the masked query.\n- The adjacent background-delivery path preserves a raw signed URL only when the adapter capability is exactly `True`; all other adapters receive the terminally sanitized URL first.\n- Hosted acceptance is green on this exact head: CI, Docker, Nix, and `All required checks pass`; no failed, cancelled, or pending check runs remain.\n\nNo remaining blocker from this review.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T01:01:58Z","updatedAt":"2026-08-29T01:01:58Z","submittedAt":"2026-08-29T01:01:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/70093#pullrequestreview-5056127792"},"data":{"createdAt":"2026-08-29T01:01:58Z","occurredAt":"2026-08-29T01:01:58Z","pullRequest":{"createdAt":"2026-07-23T13:33:58Z","id":"PR_kwDOPRF1G871ZBic","mergedAt":null,"number":70093,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): redact streamed secrets before delivery (#56039)","updatedAt":"2026-08-29T01:01:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/70093"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T01:01:58Z","updatedAt":"2026-08-29T01:01:58Z","url":"https://github.com/NousResearch/hermes-agent/pull/70093#pullrequestreview-5056127792","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLVbNHQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLVbNHQ","summary":"This is aimed at a real, expensive defect, and the placement is directionally right: ACP still calls `detect_provider_for_model()` after `parse_model_input()` when the parsed provider equals the current provider, so a bare model that overlaps OpenRouter can cross a provider/billing boundary. I traced this exact head (`53d6caabb8a6193ceb72c2ce58133e3ffb45d287`) against current `main@3340bbbdad8368e7f3d9f6827d61692adbbd87d6`, the ACP call site, `provider_model_ids()`, the Ollama Cloud discovery/cache path, current tests, exact-head workflows, and the existing model-routing/catalog graph. I do not think this head is safe to land yet, for two coupled correctness reasons.\n\n### P1 — `provider_model_ids()` is not an authoritative live capability proof\n\nThe new Step 1.5 says the current provider's **live** catalog is authoritative, but the function it consumes has deliberately broader semantics. `hermes_cli/models.py::provider_model_ids()` returns the \"best known model catalog\" and, for `ollama-cloud`, delegates to `fetch_ollama_cloud_models()`. On current main that function still unions models.dev-only IDs into the live `/v1/models` result.\n\nThat is not a hypothetical edge. Open issue #94","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T22:46:57Z","updatedAt":"2026-08-28T22:46:57Z","submittedAt":"2026-08-28T22:46:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97487#pullrequestreview-5055630621"},"data":{"createdAt":"2026-08-28T22:46:57Z","occurredAt":"2026-08-28T22:46:57Z","pullRequest":{"createdAt":"2026-08-28T22:35:57Z","id":"PR_kwDOPRF1G88AAAABBZPi3w","mergedAt":null,"number":97487,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(provider): consult current provider's live catalog before OpenRouter fallback in detect_provider_for_model","updatedAt":"2026-08-28T22:47:41Z","url":"https://github.com/NousResearch/hermes-agent/pull/97487"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T22:46:57Z","updatedAt":"2026-08-28T22:46:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/97487#pullrequestreview-5055630621","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLVpaHQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLVpaHQ","summary":"Re-reviewed exact head `0b075ea1eaacd1dc16902fecf3602f83e5b0d795` against live `main@3340bbbdad8368e7f3d9f6827d61692adbbd87d6`, the linked rematerialization response, the complete ten-file diff, and the prior single-mutation authority/settlement reviews.\n\nThe old dirty-head blocker is genuinely addressed. This object is directly based on current main, retains the prior fail-closed single-mutation authority, moves batch ownership into a dedicated shard, stages a versioned composite precondition, acquires deduplicated identities in deterministic order, and adds the requested stale-batch/create-name/deadlock/legacy witnesses. The manager remains below the 2K ceiling. Those are real closures.\n\nThe new batch transaction is still not source-ready. I found four load-bearing defects in the integrated object.\n\n## 1. P1 — a later successful op can launder foreign bytes into the batch generation and authorize deleting them\n\nThe batch performs one whole-plan revalidation after acquiring all cooperative leases, then executes every op with nested batch precondition checks disabled. After each successful op it overwrites the skill’s batch publication receipt with a fresh **whole-tree** fingerprin","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T23:40:12Z","updatedAt":"2026-08-28T23:40:12Z","submittedAt":"2026-08-28T23:40:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96059#pullrequestreview-5055863325"},"data":{"createdAt":"2026-08-28T23:40:12Z","occurredAt":"2026-08-28T23:40:11Z","pullRequest":{"createdAt":"2026-08-27T04:11:12Z","id":"PR_kwDOPRF1G88AAAABBKGrKg","mergedAt":null,"number":96059,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(skills): prevent stale pending write replay","updatedAt":"2026-08-28T23:40:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/96059"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T23:40:11Z","updatedAt":"2026-08-28T23:40:12Z","url":"https://github.com/NousResearch/hermes-agent/pull/96059#pullrequestreview-5055863325","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLVsdqQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLVsdqQ","summary":"Thanks for isolating the nested executor boundary and adding a focused two-home regression. I reviewed exact head `4d38b1c2cc38910a0dfe9346d9cd920c8166d4c2` against current `main@ac6c8028e00d01ee2f299ba7fd03329c7f10382d`, the actual diff, #97489, the current logging path, the prior profile-scope work in #87645/#87575, adjacent scheduler/delivery ownership work, existing review history, and exact-head CI. The `copy_context()` / `ctx.run(SessionDB)` mechanism itself is sound for the bounded SessionDB worker, but I see two blockers before this can truthfully close the reported class.\n\n### P1 — #97489 is only half fixed: the process-bound log sink still targets the ticker profile\n\nThe production report in #97489 is explicitly a **two-sink** isolation failure: the wrong profile receives both the cron session in `state.db` **and** the run's entries in `logs/agent.log`. This diff repairs only the first sink.\n\nCurrent `hermes_logging.setup_logging()` resolves `get_hermes_home()` when logging is initialized and installs a concrete `FileHandler(log_dir / \"agent.log\")`. There is no per-record ContextVar lookup that would make an already-installed dashboard/gateway handler follow the owner pro","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-28T23:54:11Z","updatedAt":"2026-08-28T23:54:11Z","submittedAt":"2026-08-28T23:54:11Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97504#pullrequestreview-5055913385"},"data":{"createdAt":"2026-08-28T23:54:11Z","occurredAt":"2026-08-28T23:54:11Z","pullRequest":{"createdAt":"2026-08-28T23:14:02Z","id":"PR_kwDOPRF1G88AAAABBZci9g","mergedAt":null,"number":97504,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cron): stop Desktop ticks leaking profile sessions across state stores","updatedAt":"2026-08-29T12:23:23Z","url":"https://github.com/NousResearch/hermes-agent/pull/97504"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-28T23:54:11Z","updatedAt":"2026-08-28T23:54:11Z","url":"https://github.com/NousResearch/hermes-agent/pull/97504#pullrequestreview-5055913385","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLW0WGw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLW0WGw","summary":"Reviewed exact head `cd38939500c7aac9110a0cff0d68b244414d65f4`, including the actual 20-file diff, the behavior-critical extracted modules/facade, compatibility and stale-module regressions, the public verification ledger, the closing issue, current open updater work, and the exact-head upstream workflows.\n\nThis is strong structural work. The decomposition is not just file motion with a hopeful re-export layer: `update_cmd.py` remains the historical patch surface, seeds the extracted consumers from `_COMPAT_CONSUMERS`, and installs a module-level `__setattr__` bridge so later monkeypatches of historical globals propagate to the moved call sites. The regressions exercise that in more than one shape (`_read_project_version`, `get_hermes_home`, and a fleet-restart `subprocess` consumer), which addresses the highest-risk compatibility failure mode of this kind of extraction.\n\nThe other important side of this refactor is the running updater's generation boundary. `update_runtime_refresh._STALE_PURGE_PROTECTED` includes the full 15-module extracted updater graph, and `test_purge_protects_executing_modules` proves those exact module objects remain pinned while stale non-executing Hermes m","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T05:53:36Z","updatedAt":"2026-08-29T05:53:36Z","submittedAt":"2026-08-29T05:53:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97634#pullrequestreview-5057091099"},"data":{"createdAt":"2026-08-29T05:53:36Z","occurredAt":"2026-08-29T05:53:36Z","pullRequest":{"createdAt":"2026-08-29T03:26:25Z","id":"PR_kwDOPRF1G88AAAABBaYYVw","mergedAt":null,"number":97634,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"refactor(update): decompose command by responsibility","updatedAt":"2026-08-29T17:58:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/97634"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T05:53:36Z","updatedAt":"2026-08-29T05:53:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/97634#pullrequestreview-5057091099","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLW64Ug","kind":"review","label":"PRR_kwDOPRF1G88AAAABLW64Ug","summary":"Reviewed exact head `05b9932aeaec6d229b703aec9158317b5ac7426a` against base `10e93c6ab958c7ec61cfc4416f4d4459e72ca8a7` and current `main@1d8946b40b9333a7fda81be890be31771a312d4f`.\n\nThe underlying bug is real, and this head does close the **pristine** no-callback fail-open: the new `approval_unavailable` branch prevents a destructive action from reaching the backend when `_approval_callback` is actually `None`, and the isolation regression now pins that state. That is useful work to preserve.\n\nI cannot clear this head yet because two authority boundaries are still wrong.\n\n## P1 — `cb is None` is not equivalent to “no approval surface exists”\n\nThe new branch in `tools/computer_use/tool.py::_request_approval()` says:\n\n> `No prompt surface is wired (headless, gateway, messaging runs).`\n\nbut the predicate is only `cb = _approval_callback; if cb is None`. `_approval_callback` is the **CLI-local** callback. Current `tools.approval` already owns the wider approval contexts through `request_tool_approval()` / `_run_approval_gate`: gateway sessions can do the normal notification/button round-trip, cron honors `approvals.cron_mode`, single-query honors `approvals.single_query_mode`, and a gen","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T06:44:37Z","updatedAt":"2026-08-29T06:44:37Z","submittedAt":"2026-08-29T06:44:37Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97724#pullrequestreview-5057198162"},"data":{"createdAt":"2026-08-29T06:44:37Z","occurredAt":"2026-08-29T06:44:37Z","pullRequest":{"createdAt":"2026-08-29T06:19:02Z","id":"PR_kwDOPRF1G88AAAABBa-_JQ","mergedAt":null,"number":97724,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(computer-use): fail closed when no approval prompt surface is wired","updatedAt":"2026-08-29T18:10:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/97724"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T06:44:37Z","updatedAt":"2026-08-29T06:44:37Z","url":"https://github.com/NousResearch/hermes-agent/pull/97724#pullrequestreview-5057198162","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLW6NZA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLW6NZA","summary":"Re-reviewed exact head `c8e072d01c14eb09371a26e5a4730532585ffafb` after the comprehension-binding repair and the new #97657 companion gate.\n\nThe prior comprehension-target blocker is closed. The package-acquisition owner gate is also in the right *location*: `check_execute_code_guard()` evaluates it before the isolated-backend / YOLO / approvals-off short-circuits, so a correctly identified acquisition cannot be auto-approved by those modes.\n\nOne P1 security bypass remains in the new process-launch classifier before this can close #97657's execute-code side.\n\n## P1 — `os`/`posix` exec/spawn extraction does not follow the actual call signatures\n\n`_execute_code_has_package_acquisition()` currently collapses every `os` / `posix` `spawn*` or `exec*` call into:\n\n```python\nif node.args:\n    words = _arg_to_argv(node.args[-1], raw_aliases, imports)\n```\n\nwith the comment that argv is the last positional argument. That is only true for a subset of these APIs.\n\nConcrete bypasses with fully static literals:\n\n```python\nos.execve(\"/usr/bin/pip\", [\"pip\", \"install\", \"pkg\"], os.environ)\nos.spawnve(os.P_WAIT, \"/usr/bin/pip\", [\"pip\", \"install\", \"pkg\"], os.environ)\nos.posix_spawn(\"/usr/bin/pip\", [\"pi","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T06:38:36Z","updatedAt":"2026-08-29T06:38:36Z","submittedAt":"2026-08-29T06:38:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/65592#pullrequestreview-5057187172"},"data":{"createdAt":"2026-08-29T06:38:36Z","occurredAt":"2026-08-29T06:38:36Z","pullRequest":{"createdAt":"2026-07-16T11:12:27Z","id":"PR_kwDOPRF1G87yeap7","mergedAt":null,"number":65592,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): prevent approval-dialog bypass via execute_code and tool retry","updatedAt":"2026-08-31T10:19:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/65592"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T06:38:36Z","updatedAt":"2026-08-29T06:38:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/65592#pullrequestreview-5057187172","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLWFjDw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLWFjDw","summary":"Re-reviewed exact live head `c4d178bdfd3fc0cfc6dff69ec20ac9cc7b8dabd1` against current `main` `ac6c8028e00d01ee2f299ba7fd03329c7f10382d` and the previously certified privacy head `d652dce78d328b08bdb8b5974f4e403c7a13537b`.\n\nThe earlier P1 is repaired: required-mode admission now runs above the complete auxiliary streaming branch, and `test_strict_codex_moa_stream_blocks_before_provider` exercises the public `call_llm(task=\"moa_aggregator\", stream=True)` path with both missing and registered middleware while proving zero provider invocations. The privacy boundary itself is materially stronger.\n\nThe **current PR object is still blocked** for three independent reasons:\n\n**[P1] The reviewed privacy branch was repurposed after its verification receipt.**\n\nAfter `d652dce…`, the branch gained three unrelated commits:\n\n- `fe12f3fb…` — `feat(telegram): add NLO365 approval action buttons`\n- `6420a3e3…` — `Accept formatted NLO365 approval notices`\n- `c4d178bd…` — `fix(telegram): review Microsoft 365 changes before execution`\n\nThose commits add `plugins/platforms/telegram/adapter.py` and `tests/gateway/test_telegram_approval_buttons.py` to a PR titled and documented as an LLM privacy-middlewar","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T01:50:40Z","updatedAt":"2026-08-29T01:50:40Z","submittedAt":"2026-08-29T01:50:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95186#pullrequestreview-5056324367"},"data":{"createdAt":"2026-08-29T01:50:40Z","occurredAt":"2026-08-29T01:50:40Z","pullRequest":{"createdAt":"2026-08-26T02:26:55Z","id":"PR_kwDOPRF1G88AAAABBBSWLA","mergedAt":null,"number":95186,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"Fail closed when required LLM privacy middleware is unavailable","updatedAt":"2026-08-29T01:50:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/95186"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T01:50:40Z","updatedAt":"2026-08-29T01:50:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/95186#pullrequestreview-5056324367","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLWGeMw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLWGeMw","summary":"Re-reviewing exact rewritten head [`c800975fcd8cc418dc4127eed366ff40eb75a035`](https://github.com/NousResearch/hermes-agent/commit/c800975fcd8cc418dc4127eed366ff40eb75a035) against current `main@ac6c8028e00d01ee2f299ba7fd03329c7f10382d`.\n\nThe attribution blocker from my prior review is closed.\n\n- The four Dario-authored commits now use `Dario and Yoshi <284073883+darioandyoshi-tech@users.noreply.github.com>`, which matches the repository audit’s numeric-noreply auto-resolution rule.\n- The carried #90585 commit remains authored by Rodrigo Gomes as `rodrigo.smscom@gmail.com`, and current main maps that email to `rodrigogs`.\n- The accidental `Hermes Agent <hermes-agent@local>` author is no longer present in the submitted five-commit range.\n\nI also verified that old reviewed head [`73e1506…`](https://github.com/NousResearch/hermes-agent/commit/73e1506faa2a2be4699ebb93e75fb753ebabf3a6) and current head `c800975…` both resolve to tree `c5adb4092a4cd6acb662e8621eab5ab9c67c665b`. This rewrite changed commit attribution, not source bytes, so the prior substantive re-review carries forward: the root/profile suppression union and the three bounded security owners remain intact.\n\nCurrent main ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T01:57:04Z","updatedAt":"2026-08-29T01:57:04Z","submittedAt":"2026-08-29T01:57:04Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/96804#pullrequestreview-5056339507"},"data":{"createdAt":"2026-08-29T01:57:04Z","occurredAt":"2026-08-29T01:57:04Z","pullRequest":{"createdAt":"2026-08-28T02:16:42Z","id":"PR_kwDOPRF1G88AAAABBSPkzA","mergedAt":null,"number":96804,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(security): contain credential and computer-use privacy leaks","updatedAt":"2026-08-29T01:57:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/96804"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T01:57:04Z","updatedAt":"2026-08-29T01:57:04Z","url":"https://github.com/NousResearch/hermes-agent/pull/96804#pullrequestreview-5056339507","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLWGiJA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLWGiJA","summary":"Reviewed exact head `474eb4ea1653e1defda9490d834b8b429ad5b23e` against live `main@ac6c8028e00d01ee2f299ba7fd03329c7f10382d`; this is currently a clean 1-commit/3-file branch directly on main. I read the actual patch plus the surrounding fire-fence, cancellation, delivery/finalization paths; the exact-head workflows; open #95307; direct predecessor #95432; and the complementary generation-fencing work tracked by #88688.\n\nThere is good work here. Splitting `heartbeat_fire_claim()` into owned / positively-lost / unverifiable is the right semantic direction. The initial `None` path now refuses to start without falsely claiming takeover, the shutdown probes stop using truthiness as ownership proof, and the hosted Python/e2e/macOS/Windows/lint lanes are green. The remaining blockers are at the exact boundary this PR is trying to repair.\n\n**P1 — sustained `None` is still converted into the exact positive ownership-loss signal.**\n\nIn `cron/scheduler.py::_heartbeat_loop` (the hunk beginning around `@@ -6978`), `None` correctly enters the grace path, but after `_FIRE_CLAIM_HEARTBEAT_GRACE_SECONDS` that path calls `lost_ownership.set()`. The same event is then passed into `run_job()` as the f","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T01:57:33Z","updatedAt":"2026-08-29T01:57:33Z","submittedAt":"2026-08-29T01:57:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97565#pullrequestreview-5056340516"},"data":{"createdAt":"2026-08-29T01:57:33Z","occurredAt":"2026-08-29T01:57:33Z","pullRequest":{"createdAt":"2026-08-29T01:19:36Z","id":"PR_kwDOPRF1G88AAAABBZ5_Eg","mergedAt":null,"number":97565,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cron): tri-state fire-claim heartbeat — lock timeout is 'unverifiable', not ownership loss","updatedAt":"2026-08-29T01:57:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/97565"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T01:57:33Z","updatedAt":"2026-08-29T01:57:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/97565#pullrequestreview-5056340516","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLWiBmQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLWiBmQ","summary":"Reviewed exact head `6b36e207cc28b8381f068a53b1b9b15f3d9da7d4`. The PR's comparison base is `36620578f09f2a716102c845dc3b1368d6f761a7`; live `main` is now `ee742fe1bc828f6456659f67d27bdbeacdebbdd4` (three commits ahead of that base, with no `agent/subagent_lifecycle.py` delta in that interval). I also traced the public lifecycle path through `_build_child_preserving_parent_tools` / `_build_child_agent`, the tool resolver, the merged lifecycle origin (#72501, preserving #63359's contributor lineage), exact-head Actions, and the active delegation-outcome work in #68499.\n\nThe fail-fast validation itself is a reasonable hardening layer, but I don't think this head currently proves the security bug described in the PR. I would not merge it under the present privilege-escalation claim without tightening both the evidence and the test.\n\n### Blocker — the claimed `terminal` / `web` privilege escalation is already denied at the actual child tool-resolution boundary on this PR's base\n\n`SubagentLifecycleService.launch()` does pass the requested `allowed_toolsets` into `_build_child_preserving_parent_tools`, but it also passes the live `parent_agent`. On the exact base, `_build_child_agent()` ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T03:54:28Z","updatedAt":"2026-08-29T03:54:28Z","submittedAt":"2026-08-29T03:54:28Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97637#pullrequestreview-5056790937"},"data":{"createdAt":"2026-08-29T03:54:28Z","occurredAt":"2026-08-29T03:54:28Z","pullRequest":{"createdAt":"2026-08-29T03:38:28Z","id":"PR_kwDOPRF1G88AAAABBabr2Q","mergedAt":null,"number":97637,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(lifecycle): enforce parent disabled_toolsets in subagent launch validation","updatedAt":"2026-08-29T04:13:50Z","url":"https://github.com/NousResearch/hermes-agent/pull/97637"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T03:54:28Z","updatedAt":"2026-08-29T03:54:28Z","url":"https://github.com/NousResearch/hermes-agent/pull/97637#pullrequestreview-5056790937","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLWJnkA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLWJnkA","summary":"## Review — implementation clean; exact-object CI is still missing\n\nReviewed head [`37e165a562261e3b4effe1b540928cd3e43de427`](https://github.com/NousResearch/hermes-agent/commit/37e165a562261e3b4effe1b540928cd3e43de427), GitHub's latest synthetic merge [`c017c2a5cb9c639d5f6da459c0cfaa39522229f0`](https://github.com/NousResearch/hermes-agent/commit/c017c2a5cb9c639d5f6da459c0cfaa39522229f0), and current `main` [`ac6c8028e00d01ee2f299ba7fd03329c7f10382d`](https://github.com/NousResearch/hermes-agent/commit/ac6c8028e00d01ee2f299ba7fd03329c7f10382d).\n\n### Code review\n\nI do not see a code-level blocker in this two-file patch.\n\n- `_resolve_task_user()` now preserves explicitly qualified identities, keeps real domain/machine-qualified accounts qualified, and avoids constructing the unmappable `WORKGROUP\\\\user` principal.\n- `_install_scheduled_task()` removes the invalid `/NP` + `/IT` combination while preserving the XML-only fallback.\n- The follow-up test closes the earlier review gap by pinning `/IT` present and `/NP` absent, and the resolver matrix covers sentinel casing, unset domain, real domains, missing usernames, and pre-qualified usernames.\n- The earlier review's two requested cle","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T02:18:44Z","updatedAt":"2026-08-29T02:18:44Z","submittedAt":"2026-08-29T02:18:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/89824#pullrequestreview-5056391056"},"data":{"createdAt":"2026-08-29T02:18:44Z","occurredAt":"2026-08-29T02:18:44Z","pullRequest":{"createdAt":"2026-08-19T06:47:39Z","id":"PR_kwDOPRF1G88AAAABAPl3Kg","mergedAt":null,"number":89824,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): make Windows Scheduled Task install work on workgroup machines","updatedAt":"2026-08-30T22:07:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/89824"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T02:18:44Z","updatedAt":"2026-08-29T02:18:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/89824#pullrequestreview-5056391056","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLWqosA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLWqosA","summary":"I reviewed exact head `fe7fe52f2480328dd7f30fe4563c9ff821692cc6` against base `ee742fe1bc828f6456659f67d27bdbeacdebbdd4`, then reconciled that base with current `main` (`9f90cd438cb59524f0197f6b64b1a78f11be0c10`). Current main is only three commits ahead of the PR base and that drift does not touch `tools/approval.py`, so the findings below are about this submitted object rather than a stale-base artifact.\n\nThere is a lot here that is strong. The one-operation consent plumbing is unusually thorough: `resolve_all` leaves `single_operation` entries queued, stale `session`/`always` choices are narrowed to `once`, identical one-operation requests cannot coalesce, selected transports are denied reusable scopes, Smart Approval is bypassed, and the isolated-terminal path no longer launders package acquisition through the ordinary container fast-path. The quote/heredoc false-positive controls are also materially better than a flat regex table.\n\nI would not merge this head yet, though. Two executable bypass classes remain, plus one architecture/verification gate.\n\n### BLOCKER 1 — the classifier misses canonical package-acquisition verbs that are aliases / first-class install surfaces\n\n`tool","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T04:47:48Z","updatedAt":"2026-08-29T04:47:48Z","submittedAt":"2026-08-29T04:47:48Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97657#pullrequestreview-5056932016"},"data":{"createdAt":"2026-08-29T04:47:48Z","occurredAt":"2026-08-29T04:47:48Z","pullRequest":{"createdAt":"2026-08-29T04:07:27Z","id":"PR_kwDOPRF1G88AAAABBakWKA","mergedAt":null,"number":97657,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"security: require owner approval for package acquisition","updatedAt":"2026-08-30T01:56:24Z","url":"https://github.com/NousResearch/hermes-agent/pull/97657"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T04:47:48Z","updatedAt":"2026-08-29T04:47:48Z","url":"https://github.com/NousResearch/hermes-agent/pull/97657#pullrequestreview-5056932016","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLXgmzQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLXgmzQ","summary":"Reviewed exact head `cb4333e20b3867f3d9a8ce03ee8d07279a0d8ee2` against base `57746cbb842a2e0e58734623567d25102b91db04`, plus current `main@299c652a66bcc915a2a1e10cd2b648f196ec4bba`. I read the 7-file diff, the new regression tests, #97794 and its evidence, the competing #97841 implementation, the merged #92523 salvage history, open #96038's provenance narrowing, and the adjacent #88587/#88604 doctor-side classification work.\n\nThere is good work here: moving destructive recovery advice behind a stronger structural/index distinction is the right direction, the LIKE degradation lives at the `SessionDB.search_messages` ownership boundary rather than being duplicated in every caller, and the new tests are materially stronger than marker-only coverage. I do see two blockers before this can be the `Fixes #97794` owner.\n\n**P1 — this changes the diagnosis, but the exact turn still fail-closes.**\n\nThe only transcript-write changes in this head annotate the escaping `sqlite3.Error` with `db_path`; they do not alter the caller's stop semantics. On current main, when `_flush_messages_to_session_db(...)` fails, `agent/conversation_loop.py` records the classified cause and then unconditionally se","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T10:55:20Z","updatedAt":"2026-08-29T10:55:20Z","submittedAt":"2026-08-29T10:55:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97843#pullrequestreview-5057816269"},"data":{"createdAt":"2026-08-29T10:55:20Z","occurredAt":"2026-08-29T10:55:20Z","pullRequest":{"createdAt":"2026-08-29T10:38:20Z","id":"PR_kwDOPRF1G88AAAABBbvVPw","mergedAt":null,"number":97843,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(state): fail open on FTS5-index-only corruption instead of killing turns","updatedAt":"2026-08-29T10:55:20Z","url":"https://github.com/NousResearch/hermes-agent/pull/97843"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T10:55:20Z","updatedAt":"2026-08-29T10:55:20Z","url":"https://github.com/NousResearch/hermes-agent/pull/97843#pullrequestreview-5057816269","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLXJKjw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLXJKjw","summary":"Reviewed exact head `08423d89e377d9d648376abe13666a74d9e5a080` against its exact parent/current `main` `aff5125f8edf5095aef5d3d79bbbb101c95b9413`.\n\nThis clean 10-path replacement materially improves the old review surface. I rechecked the authority failures previously found on #90883 rather than carrying them forward by inertia: malformed/stale protected `SessionWritePolicy` now refuses the real turn before conversation dispatch, the relay/task lifecycle is balanced in the executable witness, self-improvement writes consume the retained `Decision` instead of re-sampling process environment, and suggestion provenance lookup now fails closed. Those repairs are real and should be preserved.\n\nI found one new P1 at the terminal boundary.\n\n### P1 — the protected `DENY_ALL` terminal allowlist still admits commands that mutate through command flags\n\n`_is_provably_read_only_command()` rejects shell redirection/compound syntax, then treats any `git diff ...` invocation as read-only solely from the first two argv tokens:\n\n```py\nreturn len(words) >= 2 and words[0] == \"git\" and words[1] in {\n    \"diff\", \"log\", \"show\", \"status\",\n}\n```\n\nThat is not enough to prove absence of mutation. Git itself ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T08:47:58Z","updatedAt":"2026-08-29T08:47:59Z","submittedAt":"2026-08-29T08:47:58Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97786#pullrequestreview-5057432207"},"data":{"createdAt":"2026-08-29T08:47:58Z","occurredAt":"2026-08-29T08:47:58Z","pullRequest":{"createdAt":"2026-08-29T08:42:20Z","id":"PR_kwDOPRF1G88AAAABBbX_zg","mergedAt":null,"number":97786,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"security: harden session write and self-improvement enforcement","updatedAt":"2026-08-29T08:47:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/97786"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T08:47:58Z","updatedAt":"2026-08-29T08:47:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/97786#pullrequestreview-5057432207","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLXPfOw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLXPfOw","summary":"Re-reviewed exact head `6173d9ab8b9cbc45fc82558963d1dd2b9a7181fa` against current `main@a2e19d484cb5591df8dafe667c93345b62d9bf06` and the full four-commit submitted train.\n\nThe credential-boundary blockers from my prior reviews are closed on this object.\n\n- Probe failures are now sanitized once at `_probe_single_server` before they escape to any caller; `mcp add`, `mcp login`, `mcp configure`, `mcp test`, and the dashboard all consume an already-safe exception, with consumer-side redaction retained as defense in depth.\n- Successful header display keeps field identity through policy. Opaque credential-shaped values fail closed to `***`; a `${ENV}` occurrence no longer blesses adjacent literal material; only values composed entirely of env references plus an optional auth scheme are displayed.\n- `redact_mcp_probe_text` now derives the opaque-header vocabulary from `agent.redact._SECRET_HEADER_NAMES` and fully replaces the associated value before the generic redactor runs. The regression matrix covers Authorization, opaque `X-Api-Key`, Digest with sensitive parameters in multiple orders/quoting forms, JSON/Python mapping serialization, the shared probe seam, dashboard JSON, and siblin","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T09:39:03Z","updatedAt":"2026-08-29T09:39:03Z","submittedAt":"2026-08-29T09:39:03Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97466#pullrequestreview-5057535803"},"data":{"createdAt":"2026-08-29T09:39:03Z","occurredAt":"2026-08-29T09:39:03Z","pullRequest":{"createdAt":"2026-08-28T21:43:12Z","id":"PR_kwDOPRF1G88AAAABBY_IKw","mergedAt":null,"number":97466,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(mcp): fully redact Bearer values in mcp test output","updatedAt":"2026-08-29T09:39:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/97466"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T09:39:03Z","updatedAt":"2026-08-29T09:39:03Z","url":"https://github.com/NousResearch/hermes-agent/pull/97466#pullrequestreview-5057535803","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLXQ-1w","kind":"review","label":"PRR_kwDOPRF1G88AAAABLXQ-1w","summary":"Reviewed exact head `42fe0f3a51242e7bc4b9ba51c4d108961abd5f58` against the PR base `aff5125f8edf5095aef5d3d79bbbb101c95b9413`, then reconciled it with current `main@a2e19d484cb5591df8dafe667c93345b62d9bf06`. I read the full behavior-critical runtime surfaces (`runtime_bundle`, auxiliary resolution, startup/install, switch/restore, fallback activation, Anthropic construction, TUI resume), the new contract tests, #88463/#88474, the open switch/fallback interlocks, and the exact-head workflow state. There were no prior reviews or unresolved review threads on this head.\n\nThere is a lot worth keeping here. `ResolvedRuntime` is actually immutable down into nested mappings, the bundle factory gives `extra_headers` the right precedence over defaults, the named-custom auxiliary path now carries header/TLS state through one typed value, and the TUI follow-up correctly repaired persisted override application with `with_updates()`. Exact-head CI/Docker/Nix are green (`CI` run 33244907628, Docker 33244907378, Nix 33244907376), and the 27-job CI run has no failed/cancelled job. This is a meaningful improvement over the current duplicated resolver shape.\n\nI cannot clear the current head yet. I fo","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T09:52:15Z","updatedAt":"2026-08-29T09:52:15Z","submittedAt":"2026-08-29T09:52:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97780#pullrequestreview-5057560279"},"data":{"createdAt":"2026-08-29T09:52:15Z","occurredAt":"2026-08-29T09:52:15Z","pullRequest":{"createdAt":"2026-08-29T08:26:46Z","id":"PR_kwDOPRF1G88AAAABBbUt4w","mergedAt":null,"number":97780,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(runtime): immutable ResolvedRuntime + central client factory; fixes extra_headers loss in fallback paths","updatedAt":"2026-08-29T09:52:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/97780"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T09:52:15Z","updatedAt":"2026-08-29T09:52:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/97780#pullrequestreview-5057560279","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLXrLNw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLXrLNw","summary":"Re-review of rematerialized exact head `0836537b24752be95bcc01e511a3de1dfa3b2198`.\n\nI independently re-read the load-bearing pieces from the prior review chain on this exact object: the bounded auxiliary owner, the `auxiliary_client.py` compatibility seams, destination-scoped sync/async fallback rebinding, the fail-closed resolver paths, the Round 5 fail-closed witnesses, and the contributor mapping.\n\nThe prior source and placement blockers remain closed here. `agent/auxiliary_context_ceiling.py` is the single owner of `_aux_relay_gate`, `_aux_provider_callback`, and the sync/async fallback rebinders; `agent/auxiliary_client.py` imports and consumes those names rather than carrying a second implementation. A fallback destination whose context authority raises during resolution or resolves to `None` / another unusable value now raises the existing typed `ContextCeilingExceeded` before physical provider I/O in both sync and async paths; the fallback/retry chains propagate that type rather than converting it to an auth/transient provider error, and scoped ContextVar state is restored on exit. The exact-head regression file exercises resolver-raises and resolver-None on both sync and a","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T11:38:26Z","updatedAt":"2026-08-29T11:38:26Z","submittedAt":"2026-08-29T11:38:26Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/92905#pullrequestreview-5057989431"},"data":{"createdAt":"2026-08-29T11:38:26Z","occurredAt":"2026-08-29T11:38:26Z","pullRequest":{"createdAt":"2026-08-23T11:40:19Z","id":"PR_kwDOPRF1G88AAAABAsxvzg","mergedAt":null,"number":92905,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(model): enforce profile-wide hard context ceiling","updatedAt":"2026-08-31T07:34:30Z","url":"https://github.com/NousResearch/hermes-agent/pull/92905"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T11:38:26Z","updatedAt":"2026-08-29T11:38:26Z","url":"https://github.com/NousResearch/hermes-agent/pull/92905#pullrequestreview-5057989431","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLXs-Kw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLXs-Kw","summary":"Reviewed exact head `2ce15b344010ab37ba706194ddc2d3419a3c6025` against `main@9d9f44d63826b18503f44c754e48e1f4f83b3a6e`; the PR base is the current main object at review time. I read the resource-admission/cgroup/shutdown changes, the changed test surface, the existing evidence comments, #70716/#71023, and the live adjacent work in #57121, #97722/#97723, and #97825. There were no existing submitted reviews on this head, so this is not repeating an unchanged-head review.\n\nThere is a lot worth preserving here. The central `AgentAdmissionController`, FIFO queue, bounded queue notices, API/cron/background integration, `/background` drain/interrupt accounting, cgroup-v2 host-vs-service headroom witness, worker `MemoryHigh`/`MemoryMax`/`MemorySwapMax=0`, same-UID system-manager scope support, alert-only health guard, and structured shutdown evidence are all the right class of mechanisms. The PR also correctly separates the proved production restart initiator (the host health guard) from OOM claims instead of laundering correlation into causation. The exact-head author receipt of 279 passing tests plus the controlled 6-worker/3-slot crash-recovery stress is useful evidence.\n\nI do see two P","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T11:53:44Z","updatedAt":"2026-08-29T11:53:45Z","submittedAt":"2026-08-29T11:53:44Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97739#pullrequestreview-5058018859"},"data":{"createdAt":"2026-08-29T11:53:44Z","occurredAt":"2026-08-29T11:53:44Z","pullRequest":{"createdAt":"2026-08-29T06:41:02Z","id":"PR_kwDOPRF1G88AAAABBbCu8w","mergedAt":null,"number":97739,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(gateway): isolate workers and queue under resource pressure","updatedAt":"2026-08-29T11:53:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/97739"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T11:53:44Z","updatedAt":"2026-08-29T11:53:45Z","url":"https://github.com/NousResearch/hermes-agent/pull/97739#pullrequestreview-5058018859","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLXyIWg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLXyIWg","summary":"This is a real production failure, and the live `302 -> /auth/login` reproduction is useful evidence. The narrow path table is also the right instinct: refusing to guess routes for SMS/WhatsApp/etc. is much safer than turning a routing repair into an ambient catch-all. I checked the exact head `a837c3cad8f1107b5dd7cd26f863357ed486385d`, the full two-file diff, the current LINE/Feishu/WeCom callback implementations, middleware ordering, current-main ancestry, hosted checks, existing PR comments/reviews, and the open `web_server.py` decomposition graph.\n\nI do not think this head is merge-ready yet. There are three correctness/security blockers plus one architecture/release gate.\n\n### P1 — the proxy removes the adapters' pre-auth body-size boundary\n\n`hermes_cli/web_server.py::_proxy_platform_webhook()` does:\n\n```py\nbody = await request.body()\n```\n\nbefore the request reaches the adapter. There is no outer size cap or bounded stream read.\n\nThat is a semantic regression at the new public ingress boundary. The three adapters deliberately reject oversized *unauthenticated* bodies before doing expensive/authenticated work:\n\n- LINE: `WEBHOOK_BODY_MAX_BYTES = 1_048_576`, enforced by `web.Appl","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T12:49:43Z","updatedAt":"2026-08-29T12:49:43Z","submittedAt":"2026-08-29T12:49:43Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97878#pullrequestreview-5058103386"},"data":{"createdAt":"2026-08-29T12:49:43Z","occurredAt":"2026-08-29T12:49:43Z","pullRequest":{"createdAt":"2026-08-29T12:21:14Z","id":"PR_kwDOPRF1G88AAAABBcEXhw","mergedAt":null,"number":97878,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix: proxy platform webhooks past the dashboard OAuth gate","updatedAt":"2026-08-29T12:49:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/97878"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T12:49:43Z","updatedAt":"2026-08-29T12:49:43Z","url":"https://github.com/NousResearch/hermes-agent/pull/97878#pullrequestreview-5058103386","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLY555A","kind":"review","label":"PRR_kwDOPRF1G88AAAABLY555A","summary":"Reviewed exact head `1b1bdb046a0e8a0d25237c6492283ff4df6c83bb` against exact base/current `main@4209d371aa1bb8840ce8447555bdd863a1a96c38` (1 ahead / 0 behind). I walked the state owner, the approval presentation/finalization paths, pending-queue settlement, the API-content sidecar, gateway command authority, tests, current Actions state, and the adjacent AFK/approval graph. There is a lot of careful work here: in particular, the final revalidation before persisting once/session/always grants, the explicit admin-only gateway mutation rule, corrupt-state fail-closed semantics, and keeping the operator's free-text reason out of model context are all the right direction.\n\nI do see two P1 ownership/durability blockers before this should become the machine-global approval authority, plus one graph reconciliation that needs to be explicit.\n\n### P1 — the claimed durable AFK bit is not crash-durable at the directory entry\n\n`agent/afk.py::_atomic_replace_json()` fsyncs the temporary file and then calls `os.replace(temp_name, path)`, but it never fsyncs the containing directory. `clear()` similarly treats `path.unlink()` returning as durable proof and does not fsync the parent directory. That","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T21:53:41Z","updatedAt":"2026-08-29T21:53:41Z","submittedAt":"2026-08-29T21:53:41Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98162#pullrequestreview-5059279332"},"data":{"createdAt":"2026-08-29T21:53:41Z","occurredAt":"2026-08-29T21:53:41Z","pullRequest":{"createdAt":"2026-08-29T21:46:35Z","id":"PR_kwDOPRF1G88AAAABBd6s2A","mergedAt":null,"number":98162,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(gateway): add durable global AFK availability","updatedAt":"2026-08-30T06:46:44Z","url":"https://github.com/NousResearch/hermes-agent/pull/98162"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T21:53:41Z","updatedAt":"2026-08-29T21:53:41Z","url":"https://github.com/NousResearch/hermes-agent/pull/98162#pullrequestreview-5059279332","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLYbSHw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLYbSHw","summary":"Reviewed exact head `e16ad33a9d2447c823ab3bc29cacea9c1987cc92` across the 20-file slice (+190/−83), the tool-search bridge/unwrap paths, rename seams, current issue/PR graph, the 288-run A/B receipt, and exact-head workflows. This is high-value work: the schema reduction is real, the A/B is unusually useful, and most of the deferred set discovered cleanly across the tier ladder. I would keep the architecture and the measured win. I would not land this exact object yet because two boundary problems are now concrete rather than hypothetical, plus the head is red.\n\n### P1 — core deferral expands a known validation hole before its fix lands\n\nThe bridge is not equivalent to an eager provider-registered concrete schema. Merged #59267 deliberately added only a **top-level required-key** probe for deferred calls; it did not validate enum/type/nested-required/additionalProperties. Open #73175 has a current-main reproduction where those invalid arguments pass the probe and reach the handler, and #73179 implements the concrete-schema validation fix in the exact bridge seams this PR relies on (`tools/tool_search.py`, `model_tools.py`, `agent/tool_executor.py`, plus the shared tests).\n\nThat was","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T17:53:59Z","updatedAt":"2026-08-29T17:53:59Z","submittedAt":"2026-08-29T17:53:59Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97979#pullrequestreview-5058777631"},"data":{"createdAt":"2026-08-29T17:53:59Z","occurredAt":"2026-08-29T17:53:59Z","pullRequest":{"createdAt":"2026-08-29T15:26:28Z","id":"PR_kwDOPRF1G88AAAABBcuamQ","mergedAt":null,"number":97979,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(tool-search): core-tool deferral — curated event-triggered set behind the bridge (−6.5K tok/call desktop, −49% schemas)","updatedAt":"2026-08-31T02:56:29Z","url":"https://github.com/NousResearch/hermes-agent/pull/97979"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T17:53:59Z","updatedAt":"2026-08-29T17:53:59Z","url":"https://github.com/NousResearch/hermes-agent/pull/97979#pullrequestreview-5058777631","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLYCgAw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLYCgAw","summary":"Re-reviewed exact current head `c4a9188cf4289df8e300003f601f4c56d97c3924` after the placement repair and upstream integration.\n\nThe full-FILE-LIST blocker from my `d8d8c46…` review is closed on this object. The submitted file list is now eight paths and no longer includes `run_agent.py` or `agent/agent_init.py`; the static-toolset policy is contained in `model_tools.py`, while the curator fork itself remains in bounded `agent/curator_review_fork.py`. The runtime path still pins the actor to the static `skills` definitions, overwrites both advertised tools and `valid_tool_names`, installs the dispatch-time thread whitelist, and clears it after the fork exits. The poisoned-registry regression exercises the real widened registry path and proves the extra tool does not survive the static restriction.\n\nI also rechecked the mutation settlement path. Consolidation archives return the exact destination artifact, structured cron references are rewritten synchronously inside the delete operation, and migration failure compensates with `restore_skill_from_path(name, archive_dest)` rather than a name search. The collision regression keeps an older `.archive/narrow/` byte-distinct and proves ro","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T14:38:24Z","updatedAt":"2026-08-29T14:38:24Z","submittedAt":"2026-08-29T14:38:24Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97609#pullrequestreview-5058371587"},"data":{"createdAt":"2026-08-29T14:38:24Z","occurredAt":"2026-08-29T14:38:24Z","pullRequest":{"createdAt":"2026-08-29T02:38:12Z","id":"PR_kwDOPRF1G88AAAABBaLWoQ","mergedAt":null,"number":97609,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(curator): prevent terminal archive bypass","updatedAt":"2026-08-29T16:15:08Z","url":"https://github.com/NousResearch/hermes-agent/pull/97609"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T14:38:24Z","updatedAt":"2026-08-29T14:38:24Z","url":"https://github.com/NousResearch/hermes-agent/pull/97609#pullrequestreview-5058371587","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLYDwtA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLYDwtA","summary":"Reviewed exact head `639b301bad797af1eef2476e79ee4170c4839130` against live `main@b4b7727ea07681b40402de411ddd000bb3c439fc`, the full diff, the pinned mem0ai 2.0.10 implementation, #97923’s acceptance contract, the deleted-profile tombstone invariant, and adjacent Mem0 profile-isolation work.\n\nThe core history-db repair is pointed in the right direction. Passing the already-qualified `hermes_home` into `OSSBackend` and using Mem0’s per-instance `history_db_path` avoids the process-global `MEM0_DIR` mutation trap, and the real-SDK two-profile test is valuable. This is complementary to #63961 (`nateEc`) / #86167 (`shashb27`) and #85830 (`imchul-oss`): those own the user-memory Qdrant default; this PR owns Mem0’s separate raw-message history store. Please preserve those lineages rather than treating them as duplicates.\n\nI found two landing blockers.\n\n## P1 — the new mkdir bypasses the repository’s deleted-profile tombstone gate\n\n`OSSBackend.__init__` now does:\n\n```python\nhistory_dir = os.path.join(hermes_home, \"mem0\")\nos.makedirs(history_dir, exist_ok=True)\n```\n\nThat is not a neutral mkdir under a profile root. Current main deliberately routes profile-owned directory creation through ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T14:48:14Z","updatedAt":"2026-08-29T14:48:14Z","submittedAt":"2026-08-29T14:48:14Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97953#pullrequestreview-5058392244"},"data":{"createdAt":"2026-08-29T14:48:14Z","occurredAt":"2026-08-29T14:48:14Z","pullRequest":{"createdAt":"2026-08-29T14:43:10Z","id":"PR_kwDOPRF1G88AAAABBclTBA","mergedAt":null,"number":97953,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(mem0): scope OSS history db to the active Hermes profile","updatedAt":"2026-08-29T14:48:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/97953"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T14:48:14Z","updatedAt":"2026-08-29T14:48:14Z","url":"https://github.com/NousResearch/hermes-agent/pull/97953#pullrequestreview-5058392244","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLYiPrQ","kind":"review","label":"PRR_kwDOPRF1G88AAAABLYiPrQ","summary":"Reviewed exact head `e0bf0257b2edaa03ea6390ce4aa8e5f321d6313d` against exact current `main@4209d371aa1bb8840ce8447555bdd863a1a96c38` (the PR's recorded base is current main, so there is no base-drift ambiguity here). I read the state helper, the terminal call site, the new state + E2E tests, the existing session-reset/run-generation guards, the existing TUI cwd/git-metadata generation path, #29531 and its cwd/workspace lineage, and the live adjacent storage work. Exact-head CI is clean: CI `33267535725`, Nix `33267535219`, Docker `33267535231` all completed `success`.\n\nThere is one session-ownership blocker before I think this should land, plus one latency issue worth fixing while the path is still narrow.\n\n### P1 — the durable write is keyed by the reusable route, not the session instance that produced the terminal effect\n\n`update_session_cwd_by_session_key()` deliberately resolves `session_key` to **whichever row is open now**. That is correct for a caller whose effect is known to belong to the current owner, but `terminal_tool` performs this write *after* the command completes and passes only the stable routing key. A reset chain explicitly reuses that key across multiple durabl","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T18:54:20Z","updatedAt":"2026-08-29T18:54:20Z","submittedAt":"2026-08-29T18:54:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98060#pullrequestreview-5058891693"},"data":{"createdAt":"2026-08-29T18:54:20Z","occurredAt":"2026-08-29T18:54:20Z","pullRequest":{"createdAt":"2026-08-29T17:53:57Z","id":"PR_kwDOPRF1G88AAAABBdNELw","mergedAt":null,"number":98060,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): persist per-session cwd for messaging-gateway sessions","updatedAt":"2026-08-31T12:59:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/98060"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T18:54:20Z","updatedAt":"2026-08-29T18:54:20Z","url":"https://github.com/NousResearch/hermes-agent/pull/98060#pullrequestreview-5058891693","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLYLMOg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLYLMOg","summary":"Reviewed exact head `978ac97274ca96f0bf4d47cb93e1b9e50de25ebc` against base `e387cbc0aa0fc89560bc14438762c7722663db05`, current `main@3f36c87e1ebdfbf7d14a88229dc9be222c12ea89`, the full two-file diff, the existing review comment, current SessionDB read-pool/writer code, the read-pool tests and their history, CPython #118172/#146471, and the live state-layer interlocks below. The field crash signature is valuable, and putting a mitigation at `_connect_tracked_db` is mechanically clean. I cannot clear this head yet, because the causal path claimed by the PR is not the path the code actually executes.\n\n### P1 — the stated overflow-reader race is already serialized; the live same-connection races are elsewhere\n\nThe PR says that when `_READ_POOL_MAX` is exhausted, an overflow reader and the dedicated writer can issue `.execute()` concurrently on `self._conn`. On this exact head, `_read_ctx()` does the opposite: after `_checkout_read_conn()` returns `None`, it executes the fallback as:\n\n```python\nwith self._lock:\n    yield self._conn\n```\n\nand `_execute_write()` acquires that same `self._lock` before `BEGIN IMMEDIATE` and the transaction callback. The read-pool architecture deliberately e","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T15:48:10Z","updatedAt":"2026-08-29T15:48:10Z","submittedAt":"2026-08-29T15:48:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97920#pullrequestreview-5058513978"},"data":{"createdAt":"2026-08-29T15:48:10Z","occurredAt":"2026-08-29T15:48:10Z","pullRequest":{"createdAt":"2026-08-29T13:48:08Z","id":"PR_kwDOPRF1G88AAAABBcXe8Q","mergedAt":null,"number":97920,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(state): disable sqlite statement cache on SessionDB connections","updatedAt":"2026-08-31T15:39:29Z","url":"https://github.com/NousResearch/hermes-agent/pull/97920"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T15:48:10Z","updatedAt":"2026-08-29T15:48:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/97920#pullrequestreview-5058513978","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLYM4FA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLYM4FA","summary":"**P1 — the proof covers profile selection, but the new write surface can execute broader, unsafe recovery mutations on that selected profile.**\n\nThe owner-resolution direction is correct, but the current base still has #97940: a bare `SQLITE_CORRUPT` from a canonical B-tree is classified as FTS-only. Before the requested operation returns, `SessionDB._execute_write()` may run `_try_runtime_fts_rebuild()` and then `_enter_fts_fail_open()`, which can write `state_meta`, drop the FTS trigger set, change the handle’s in-memory mode, and retry the canonical mutation under the false premise that canonical rows are preserved.\n\nThis PR newly sends unscoped background mutations—expiry finalization, reset/end/create paths, transcript writes, and related work—into each named profile’s `SessionDB`. A canonical-corrupt named profile can therefore be subjected to that live recovery machinery from background work even though this branch’s new regressions prove only correct path selection on healthy databases. `db is not None` plus “the selected path is correct” does not authorize every mutation the selected handle may perform.\n\nPlease make the merge topology load-bearing: this needs to depend on ","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T15:58:40Z","updatedAt":"2026-08-29T15:58:41Z","submittedAt":"2026-08-29T15:58:40Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97309#pullrequestreview-5058541588"},"data":{"createdAt":"2026-08-29T15:58:40Z","occurredAt":"2026-08-29T15:58:40Z","pullRequest":{"createdAt":"2026-08-28T17:04:46Z","id":"PR_kwDOPRF1G88AAAABBXX-eA","mergedAt":null,"number":97309,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): resolve session storage from the key's profile, not ambient scope","updatedAt":"2026-08-29T22:00:38Z","url":"https://github.com/NousResearch/hermes-agent/pull/97309"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T15:58:40Z","updatedAt":"2026-08-29T15:58:41Z","url":"https://github.com/NousResearch/hermes-agent/pull/97309#pullrequestreview-5058541588","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLYOjUw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLYOjUw","summary":"Reviewed exact head `9d268ffe5224ee8176b82c450d4daa7dbed2c189` against `main@3f36c87e1ebdfbf7d14a88229dc9be222c12ea89`.\n\nKeeping `sys.executable` lexical rather than resolving through the venv symlink is the correct repair for the reported uv escape, and the new symlink regression binds that positive case. One runtime blocker remains in the broadened shebang classification; I left it inline.\n\nFresh-state adversarial receipt, using real interpreters and a clean desktop-style environment:\n\n```text\nuv symlink positive control: candidate needs prefix = False\nenv -S absolute-venv shebang: baseline needs prefix = False\nenv -S absolute-venv shebang: candidate needs prefix = True\ndirect valid shebang under env -i: exit 0, stdout = venv-ok\ncandidate-emitted /usr/bin/python3 <script>: exit 1, ModuleNotFoundError\n```\n\nThe parser must distinguish PATH-dependent `#!/usr/bin/env python...` from `env -S` forms that already pin an absolute interpreter, preserve path case, and retain interpreter flags. Add the executable regression, not only a rendered-string assertion.\n\nBefore merge, consolidate the existing implementation graph rather than landing another synonymous repair. Prior work by GitTradW","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T16:12:33Z","updatedAt":"2026-08-29T16:12:33Z","submittedAt":"2026-08-29T16:12:33Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97992#pullrequestreview-5058569043"},"data":{"createdAt":"2026-08-29T16:12:33Z","occurredAt":"2026-08-29T16:12:33Z","pullRequest":{"createdAt":"2026-08-29T15:53:31Z","id":"PR_kwDOPRF1G88AAAABBc0POQ","mergedAt":null,"number":97992,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(cli): don't resolve venv python into Linux desktop Exec=","updatedAt":"2026-08-29T16:12:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/97992"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T16:12:33Z","updatedAt":"2026-08-29T16:12:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/97992#pullrequestreview-5058569043","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLYOYSw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLYOYSw","summary":"The patch found the correct symptom boundary—the multiplex ticker switches `HERMES_HOME` while `hermes_time` retains process state—and it covers all three profile loops. The fix still does not establish profile ownership of the timezone, though, and the regression never observes the persisted behavior.\n\n### P1 — clearing a process-global cache does not bind it to a context-local profile\n\n[`set_hermes_home_override()` is explicitly `ContextVar`-local](https://github.com/NousResearch/hermes-agent/blob/8416ce494b49838251d43e8eb22fef4dbb383833/hermes_constants.py#L17-L40), while [`hermes_time` stores one unsynchronized process-global `_cached_tz` / `_cached_tz_name` / `_cache_resolved` tuple](https://github.com/NousResearch/hermes-agent/blob/8416ce494b49838251d43e8eb22fef4dbb383833/hermes_time.py#L31-L35) and repopulates it on the next caller of `get_timezone()` ([resolution path](https://github.com/NousResearch/hermes-agent/blob/8416ce494b49838251d43e8eb22fef4dbb383833/hermes_time.py#L96-L121)). The new sequence is therefore only:\n\n1. set profile A in this context;\n2. clear shared process state;\n3. let whichever thread calls `hermes_time.now()` next repopulate that shared state.\n\nThat","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T16:10:54Z","updatedAt":"2026-08-29T16:10:54Z","submittedAt":"2026-08-29T16:10:54Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97961#pullrequestreview-5058566219"},"data":{"createdAt":"2026-08-29T16:10:54Z","occurredAt":"2026-08-29T16:10:54Z","pullRequest":{"createdAt":"2026-08-29T14:57:29Z","id":"PR_kwDOPRF1G88AAAABBcoUUg","mergedAt":null,"number":97961,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(cron): re-resolve hermes_time per profile in multiplex ticker","updatedAt":"2026-08-29T16:50:01Z","url":"https://github.com/NousResearch/hermes-agent/pull/97961"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T16:10:54Z","updatedAt":"2026-08-29T16:10:54Z","url":"https://github.com/NousResearch/hermes-agent/pull/97961#pullrequestreview-5058566219","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLYTOUg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLYTOUg","summary":"I reviewed exact head `8a7ee25232147627deffcad5acc70a0efe384e89` against its parent/base `3f36c87e1ebdfbf7d14a88229dc9be222c12ea89`, the current compression/cancellation implementation, the new race tests, and the overlapping compression work already in flight. The direction is strong: one attempt-local cancellation token, a physical-dispatch admission seam, fence-bound terminal identity, and future-owned compression admission are all materially better than re-reading mutable host state after timeout.\n\nI still see two P1 ownership holes before this is safe to land.\n\n### P1 — cancellation returns the *physical RPC* permit while that RPC can still be alive\n\n`call_llm()` now registers `_release_permit_once` as an `AuxiliaryCancellationToken` callback. Once the token cancels, that callback releases the task `BoundedSemaphore` immediately. Separately, `_run_protected_sync_provider_call()` is explicitly allowed to return `AuxiliaryExplicitCancellation` to the owning compression worker while the daemon provider callback remains blocked/non-cooperative.\n\nThe new test `test_host_timeout_releases_compression_pool_slot_before_provider_returns` pins the other half of the same state: after host","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T16:49:42Z","updatedAt":"2026-08-29T16:49:42Z","submittedAt":"2026-08-29T16:49:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97989#pullrequestreview-5058645586"},"data":{"createdAt":"2026-08-29T16:49:42Z","occurredAt":"2026-08-29T16:49:42Z","pullRequest":{"createdAt":"2026-08-29T15:42:41Z","id":"PR_kwDOPRF1G88AAAABBcx-Vg","mergedAt":null,"number":97989,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(agent): fence compression timeout recovery","updatedAt":"2026-08-30T01:59:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/97989"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T16:49:42Z","updatedAt":"2026-08-29T16:49:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/97989#pullrequestreview-5058645586","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLYuJrg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLYuJrg","summary":"Re-reviewed current head `6b5c7b1702ddda985526fe5984418809da9500e3` after the linked blocker response and the four commits added after my last no-blocker review. I re-read the actual upload publication boundary, updater inventory/holder/recovery composition, extracted lifecycle owner, the post-response refactors and regressions, and the current landing-edge workflow object.\n\nThe three prior blockers remain closed on this object.\n\n- **Browser upload ABA:** file bytes are staged outside the reusable named-profile path, then directory creation, exclusive target publication, write/fsync, and failure cleanup occur under `profile_incarnation_lease(home, expected_incarnation)`. Image publication carries the same captured generation through the write boundary. The deterministic delete/recreate barriers still prove stale generation A cannot create or mutate generation B while a B-authorized upload succeeds.\n- **Updater composition:** `webapp` is now a first-class web-server purpose across runtime inventory, positive ledger classification, manual-holder pause/relaunch, orphan and GUI-handoff reap, Desktop control-plane ownership, status/stop discovery, and abort recovery. Holder classificati","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T20:12:49Z","updatedAt":"2026-08-29T20:12:49Z","submittedAt":"2026-08-29T20:12:49Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/93508#pullrequestreview-5059086766"},"data":{"createdAt":"2026-08-29T20:12:49Z","occurredAt":"2026-08-29T20:12:49Z","pullRequest":{"createdAt":"2026-08-24T03:46:29Z","id":"PR_kwDOPRF1G88AAAABAv550Q","mergedAt":null,"number":93508,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(webapp): serve Desktop renderer in browsers","updatedAt":"2026-08-31T16:11:40Z","url":"https://github.com/NousResearch/hermes-agent/pull/93508"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T20:12:49Z","updatedAt":"2026-08-29T20:12:49Z","url":"https://github.com/NousResearch/hermes-agent/pull/93508#pullrequestreview-5059086766","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLYutPg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLYutPg","summary":"## Blocking re-review — exact head `45df75e262b243d92cd836c84e442f223d59daf7`\n\nRe-read the focused five-file object, the round-6 generation/interrupt publication repair, the watchdog’s visible-settlement path, its regression suite, live `main@4209d371aa1bb8840ce8447555bdd863a1a96c38`, and the latest scope objection.\n\nThe generation-bound destructive edge still reads correctly: claim consumption and first interrupt publication are total-ordered with `_touch_activity()` under the shared activity lock. I am not reopening that race. There is one different blocker in the layer immediately before it.\n\n### Blocker — the watchdog publishes a definitive abort outcome before the abort has authority\n\n`agent/turn_liveness.py::TurnLivenessWatchdog._watch()` currently does this in order:\n\n1. `_surface_stall(snapshot)`;\n2. `_commit_abort(snapshot, message)`;\n3. only if the commit returns `True`, `_deactivate_turn()` and return.\n\nBut `_surface_stall()` already logs:\n\n> `Force-aborting the turn and stopping lease renewal`\n\nand emits the user-visible warning:\n\n> `aborting it so the session can recover`\n\nThe next operation is specifically allowed to veto that outcome. If activity resumed during warni","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T20:17:27Z","updatedAt":"2026-08-29T20:17:27Z","submittedAt":"2026-08-29T20:17:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/95663#pullrequestreview-5059095870"},"data":{"createdAt":"2026-08-29T20:17:27Z","occurredAt":"2026-08-29T20:17:27Z","pullRequest":{"createdAt":"2026-08-26T15:43:23Z","id":"PR_kwDOPRF1G88AAAABBGPDdg","mergedAt":null,"number":95663,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(agent): turn liveness watchdog surfaces silent turn stalls (#95548)","updatedAt":"2026-08-29T20:17:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/95663"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T20:17:27Z","updatedAt":"2026-08-29T20:17:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/95663#pullrequestreview-5059095870","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLYyjzg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLYyjzg","summary":"Reviewed exact head `d4f62e806b92c0ee87d8df4c6dec1fa1e5e84bb6`, which is directly based on current `main@4209d371aa1bb8840ce8447555bdd863a1a96c38`. The core goal is right, and there is careful work here worth keeping: the pre-write refusal, cross-backend coverage, section-write coverage, and nested secret redaction are all useful hardening. I do not think this exact object is safe to land yet, though, because the authority proof is currently owned by the same command it is supposed to constrain.\n\n### P1 — the agent/human provenance bit is ambient, caller-mutable state\n\n`tools/environments/base.py::stamp_agent_initiated()` writes an ordinary `HERMES_AGENT_INITIATED=1` environment variable. The local/Docker paths propagate that variable, and the SSH/Modal/Daytona/Vercel paths prepend `export HERMES_AGENT_INITIATED=1; ...`. At the mutation boundary, `hermes_cli/config.py::_is_agent_initiated_write()` trusts that environment value to decide whether the write is an agent write.\n\nBut the agent owns the shell command that executes after the stamp. On this head, either of these command shapes changes the exact evidence the gate trusts before `hermes config set` consumes it:\n\n```sh\nHERMES_A","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T20:49:36Z","updatedAt":"2026-08-29T20:49:36Z","submittedAt":"2026-08-29T20:49:36Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98127#pullrequestreview-5059158990"},"data":{"createdAt":"2026-08-29T20:49:36Z","occurredAt":"2026-08-29T20:49:36Z","pullRequest":{"createdAt":"2026-08-29T20:13:31Z","id":"PR_kwDOPRF1G88AAAABBdpaMw","mergedAt":null,"number":98127,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(approvals): confirm gate for agent-initiated model-routing config writes","updatedAt":"2026-08-29T22:37:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/98127"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T20:49:36Z","updatedAt":"2026-08-29T20:49:36Z","url":"https://github.com/NousResearch/hermes-agent/pull/98127#pullrequestreview-5059158990","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLZ2FKg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLZ2FKg","summary":"I like the direction of separating **current source trust** from scanner findings, especially the attempt to recompute trust after a cached scan so removing a tap cannot leave a stale elevated decision behind. The exact owner/repo normalization is also materially safer than prefix matching.\n\nI reviewed exact head `92202db651a19fac6982b40eaf3b81929fd400fb` against its direct parent/current `main@26350357d76e4508c8df9304a3374bdc5a6f6220`, the five-file diff, the current install/update path, the scanner cache/provenance contract, the existing discussion here, and overlapping #38816. There is one security boundary I do not think can land in the current shape, plus one provenance/merge-topology issue that should be fixed in the same convergence.\n\n### P1 — adding a tap cannot be a perpetual approval for future `dangerous` revisions\n\n`tools/skills_guard.py` changes the new `operator` row to:\n\n```py\n\"operator\": (\"allow\", \"allow\", \"allow\")\n```\n\nand the regression explicitly requires `dangerous` to pass without `--force`.\n\nThat makes a source-registration decision authorize a different, later mutation: executing whatever code that repository publishes in the future, even when Hermes' own cur","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T07:51:10Z","updatedAt":"2026-08-30T07:51:10Z","submittedAt":"2026-08-30T07:51:10Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98423#pullrequestreview-5060265258"},"data":{"createdAt":"2026-08-30T07:51:10Z","occurredAt":"2026-08-30T07:51:10Z","pullRequest":{"createdAt":"2026-08-30T07:31:24Z","id":"PR_kwDOPRF1G88AAAABBfUijg","mergedAt":null,"number":98423,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(skills): trust operator-added custom taps","updatedAt":"2026-08-30T09:16:00Z","url":"https://github.com/NousResearch/hermes-agent/pull/98423"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T07:51:10Z","updatedAt":"2026-08-30T07:51:10Z","url":"https://github.com/NousResearch/hermes-agent/pull/98423#pullrequestreview-5060265258","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLZ8v5A","kind":"review","label":"PRR_kwDOPRF1G88AAAABLZ8v5A","summary":"Reviewed the exact current object `6286a22632b74a7215b4ca970c3c3002490ab010` against its exact merge base/current `main@2a598aad1c398e95b3325a0f100f5c28efa63d12` (`10 ahead / 0 behind`). I read all seven changed files, the focused tests, the current GoalManager persistence/evaluation paths, the #24477 predecessor, the still-open #98331 competing/successor branch, and the existing review history. Exact-head hosted acceptance is green: CI `33302308779`, Docker `33302308450`, and Nix `33302308447` all succeeded; the CI run includes Python, e2e, Windows/macOS, blocking ruff/Windows-footguns, attribution, and a green `All required checks pass` job.\n\nThere is strong work here. The cross-process file lock is scoped by profile+session rather than globally; the slow judge/gate work is deliberately outside the mutation lock; pause/clear are exercised from real spawned processes while evaluation is blocked; canonical post-mutation readback is compared against the intended state; and the seven-file rewrite is substantially tighter than the 19-file shape in #98331. Those are meaningful improvements.\n\nI still see three authority/state blockers before this can be the convergence object.\n\n### P1 —","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T08:51:15Z","updatedAt":"2026-08-30T08:51:15Z","submittedAt":"2026-08-30T08:51:15Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98452#pullrequestreview-5060374500"},"data":{"createdAt":"2026-08-30T08:51:15Z","occurredAt":"2026-08-30T08:51:15Z","pullRequest":{"createdAt":"2026-08-30T08:43:54Z","id":"PR_kwDOPRF1G88AAAABBfgcow","mergedAt":null,"number":98452,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat(goals): add model-callable goal control","updatedAt":"2026-08-31T02:41:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/98452"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T08:51:15Z","updatedAt":"2026-08-30T08:51:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/98452#pullrequestreview-5060374500","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLZAc4Q","kind":"review","label":"PRR_kwDOPRF1G88AAAABLZAc4Q","summary":"Reviewed exact head `c940a0e93bd85bfd56600b2ae8100afe8f1fa2c7` against exact base/current `main@4209d371aa1bb8840ce8447555bdd863a1a96c38`, including the 32-file diff, process handoff/recovery, candidate + evidence provenance, reviewer/VisualQA gates, release barrier, tests, current CI, and the live Kanban PR collision set.\n\nThere is a lot of good work here. In particular, the transferred-process path now carries `host_start_time` as a PID-reuse guard, checkpoints pending settlement before relinquishing session ownership, and makes the DB external run authoritative after transfer. The candidate/gate path also does real exact-SHA/run binding rather than reconstructing provenance from mutable task state. Those are meaningful improvements.\n\nI found two P1 authority/settlement blockers, plus one structural landing problem.\n\n### P1 — `HERMES_PROFILE` is being used as authentication for coordinator-only mutations, but the subject can rewrite it\n\n`hermes_cli/kanban_db.py::_require_control_authority()` derives privileged authority from `os.environ[\"HERMES_PROFILE\"]` and compares that string to `kanban.coordinator_profile`. `hermes_cli/kanban.py::_bound_cli_control_authority()` repeats the s","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T22:54:57Z","updatedAt":"2026-08-29T22:54:57Z","submittedAt":"2026-08-29T22:54:57Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/97864#pullrequestreview-5059386593"},"data":{"createdAt":"2026-08-29T22:54:57Z","occurredAt":"2026-08-29T22:54:57Z","pullRequest":{"createdAt":"2026-08-29T11:51:40Z","id":"PR_kwDOPRF1G88AAAABBb_Gtg","mergedAt":null,"number":97864,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(kanban): complete durable orchestration lifecycle","updatedAt":"2026-08-30T08:00:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/97864"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T22:54:57Z","updatedAt":"2026-08-29T22:54:57Z","url":"https://github.com/NousResearch/hermes-agent/pull/97864#pullrequestreview-5059386593","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLZecFw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLZecFw","summary":"Reviewed exact head `e34c6554feb0f0e8f8dcd52d33d7a6ecee0dff23` against the live issue/PR graph and current routing/session contracts. The retrying watcher is a good improvement over a one-shot startup scan, and the exact-head hosted receipts are green: CI `33289618066`, Docker `33289617632`, and Nix `33289617639` all succeeded. I do not think this object is ready to land yet, for three concrete reasons.\n\n### P1 — existing persisted heartbeats still do not recover after upgrading to this fix\n\nThe bug report is specifically about heartbeats that already exist in `SessionDB.state_meta` before a gateway restart. This head adds `HeartbeatState.route`, but backward-compatible deserialization intentionally defaults old rows to `route={}`. `_resume_heartbeat_watches()` then does:\n\n```py\nroute = state.route or {}\nplatform_name = route.get(\"platform\", \"\")\nchat_id = route.get(\"chat_id\", \"\")\nif not platform_name or not chat_id:\n    continue\n```\n\nSo every pre-existing heartbeat row — exactly the population affected by #98298 — is skipped after the user installs this change. The current `/heartbeat resume` path only calls `mgr.resume()` and re-registers the in-memory watch; it does not persist t","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T03:52:47Z","updatedAt":"2026-08-30T03:52:47Z","submittedAt":"2026-08-30T03:52:47Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98310#pullrequestreview-5059877911"},"data":{"createdAt":"2026-08-30T03:52:47Z","occurredAt":"2026-08-30T03:52:47Z","pullRequest":{"createdAt":"2026-08-30T03:09:23Z","id":"PR_kwDOPRF1G88AAAABBetj8Q","mergedAt":null,"number":98310,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): re-arm heartbeat watches after a gateway restart","updatedAt":"2026-08-30T04:08:07Z","url":"https://github.com/NousResearch/hermes-agent/pull/98310"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T03:52:47Z","updatedAt":"2026-08-30T03:52:47Z","url":"https://github.com/NousResearch/hermes-agent/pull/98310#pullrequestreview-5059877911","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLZHUSA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLZHUSA","summary":"Reviewed exact head `e347fe5436fc8a33d19382217177af6e4fd4b0f1` against its exact parent/current `main@4209d371aa1bb8840ce8447555bdd863a1a96c38`. This is a materially stronger candidate than #97158/#97709: the added `conversation_epoch` directly answers the previously demonstrated `/new` lifetime bug, the fork/background-review exclusions remain intact, and the provider ContextVar propagation is covered end-to-end. Exact-head CI is also genuinely green: CI `33279919278`, Docker `33279918736`, and Nix `33279918716` all completed successfully; the CI run includes Python tests, e2e, Windows/macOS, blocking ruff, Windows footguns, attribution, and `All required checks pass`.\n\nI found one remaining generation bug in the other reset path, plus two landing/topology gates.\n\n## P1 — idle/daily policy resets do not advance the conversation generation, and can ABA back to epoch 1\n\nThe new generation is advanced only in the explicit `SessionStore.reset_session()` path:\n\n- `gateway/session.py` adds `SessionEntry.conversation_epoch = 1` and persists it;\n- the `reset_session()` hunk constructs the successor with `old_entry.conversation_epoch + 1`;\n- `declared_conversation_scope()` then hashes `(ga","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-29T23:57:06Z","updatedAt":"2026-08-29T23:57:06Z","submittedAt":"2026-08-29T23:57:06Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98170#pullrequestreview-5059499080"},"data":{"createdAt":"2026-08-29T23:57:06Z","occurredAt":"2026-08-29T23:57:06Z","pullRequest":{"createdAt":"2026-08-29T22:17:42Z","id":"PR_kwDOPRF1G88AAAABBeAHBQ","mergedAt":null,"number":98170,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"fix(cache): honor host-declared session key and conversation epoch for prompt cache affinity","updatedAt":"2026-08-30T10:36:33Z","url":"https://github.com/NousResearch/hermes-agent/pull/98170"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-29T23:57:06Z","updatedAt":"2026-08-29T23:57:06Z","url":"https://github.com/NousResearch/hermes-agent/pull/98170#pullrequestreview-5059499080","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLZjqkA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLZjqkA","summary":"Reviewed exact head `13b4a069abfb77dcb7df567c063062fd5f30d8cf` against its exact parent/current `main@26350357d76e4508c8df9304a3374bdc5a6f6220`. The object is fully green now: CI `33292962467`, Docker `33292962117`, and Nix `33292962122` all completed successfully, including attribution. I also read the behavior-critical lifetime/recovery paths, the #98332 incident record, existing discussion, and the competing/adjacent delegation work.\n\nThere is real good work here. The core observation is correct: a timeout expires the owner's wait; it does **not** prove the worker has stopped. Moving `child.close()` to the Future completion boundary is the right direction, and the recovery classifier is appropriately conservative: it distinguishes missing PID vs PID reuse, treats an indeterminate start-time probe as potentially live, and explicitly refuses to manufacture signal/exit status that this process cannot observe.\n\n### P1 — the lifetime transfer is incomplete: the still-running child loses other ownership before its Future settles\n\nThe new timeout path in `tools/delegate_tool.py` sets `_defer_child_close_to_worker = True` and attaches `_close_detached_child()` to the still-running Futur","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T04:47:42Z","updatedAt":"2026-08-30T04:47:42Z","submittedAt":"2026-08-30T04:47:42Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98348#pullrequestreview-5059963536"},"data":{"createdAt":"2026-08-30T04:47:42Z","occurredAt":"2026-08-30T04:47:42Z","pullRequest":{"createdAt":"2026-08-30T04:38:58Z","id":"PR_kwDOPRF1G88AAAABBe6y2w","mergedAt":null,"number":98348,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(delegation): keep timed-out children from crashing session owners","updatedAt":"2026-08-30T07:30:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/98348"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T04:47:42Z","updatedAt":"2026-08-30T04:47:42Z","url":"https://github.com/NousResearch/hermes-agent/pull/98348#pullrequestreview-5059963536","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLZNZPA","kind":"review","label":"PRR_kwDOPRF1G88AAAABLZNZPA","summary":"Strong security direction here. The exact head `cb3782c458462d167992da633633bb19bbe562ca` does close the concrete `.discord_token`/`.openai_key`-style Files-API leak, keeps ordinary dotfiles usable, and has fully green hosted receipts: CI 33283552216, Docker 33283551792, and Nix 33283551773 all succeeded; CI includes Python tests, e2e, Windows/macOS, blocking ruff/footguns, attribution, and `All required checks pass`.\n\nI found two landing blockers in the ownership/composition layer, not in the basic suffix matcher.\n\n### P1 — this fixes one drift snapshot but leaves the duplicated security-policy owner that caused #98161\n\nThe PR description correctly identifies **parity drift** as the root problem, but the implementation creates another independent snapshot in `hermes_cli/web_server.py` instead of removing that ownership split. The exact diff adds the basename table around the `@@ -2173` hunk and the new pattern logic around `@@ -2208`; meanwhile `agent/file_safety.py` only gains `_netrc` in `build_write_denied_paths()`. The live `agent/file_safety.py` does **not** have a canonical read predicate containing `.netrc/.pgpass/.npmrc/.pypirc`; those names are currently write-denial voca","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T00:53:27Z","updatedAt":"2026-08-30T00:53:27Z","submittedAt":"2026-08-30T00:53:27Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98219#pullrequestreview-5059598652"},"data":{"createdAt":"2026-08-30T00:53:27Z","occurredAt":"2026-08-30T00:53:27Z","pullRequest":{"createdAt":"2026-08-30T00:32:10Z","id":"PR_kwDOPRF1G88AAAABBeWHHA","mergedAt":null,"number":98219,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"security(dashboard): deny third-party token dotfiles and sync canonical denylist (#98161)","updatedAt":"2026-08-30T07:02:20Z","url":"https://github.com/NousResearch/hermes-agent/pull/98219"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T00:53:27Z","updatedAt":"2026-08-30T00:53:27Z","url":"https://github.com/NousResearch/hermes-agent/pull/98219#pullrequestreview-5059598652","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLZpgig","kind":"review","label":"PRR_kwDOPRF1G88AAAABLZpgig","summary":"I like the direction here: serializing the shared `sqlite3.Connection` is the right primitive, the subquery eviction removes the dynamic-placeholder ceiling, and canonical JSON is strictly better than insertion-ordered `repr()` for idempotency identity. I checked the exact current head `006d33f8f1ec3bfd100f6ef021dc1477357820b9`, the two-file diff, the full `api_server.py` lifecycle around `ResponseStore`, the new tests, current `main`, exact-head workflows, and the prior/adjacent ownership graph.\n\nExact-head hosted evidence is green: [CI 33294976548](https://github.com/NousResearch/hermes-agent/actions/runs/33294976548), [Docker 33294976044](https://github.com/NousResearch/hermes-agent/actions/runs/33294976044), and [Nix 33294976025](https://github.com/NousResearch/hermes-agent/actions/runs/33294976025) all succeeded; CI includes successful contributor attribution. There is only one submitted commit, so the current submitted commit is green.\n\nI do not think this exact object is landing-ready yet. Two P1 boundaries and one verification/provenance gate remain.\n\n### P1 — the lock serializes `close()`, but the adapter still closes the store before HTTP work is quiesced\n\nAt this head, `","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T05:48:20Z","updatedAt":"2026-08-30T05:48:20Z","submittedAt":"2026-08-30T05:48:20Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98373#pullrequestreview-5060059274"},"data":{"createdAt":"2026-08-30T05:48:20Z","occurredAt":"2026-08-30T05:48:20Z","pullRequest":{"createdAt":"2026-08-30T05:33:55Z","id":"PR_kwDOPRF1G88AAAABBfCcLg","mergedAt":null,"number":98373,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(api_server): synchronize ResponseStore access, use atomic subquery eviction, and sort fingerprint keys","updatedAt":"2026-08-30T05:59:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/98373"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T05:48:20Z","updatedAt":"2026-08-30T05:48:20Z","url":"https://github.com/NousResearch/hermes-agent/pull/98373#pullrequestreview-5060059274","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLZSqRw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLZSqRw","summary":"Reviewed the exact current head `ed887f2ff2b3b34cbdea99f4c405f533dff0a995`, the four-file diff, the full lifecycle/identity call chain, #98221, the closed predecessor #95954, the merged ownership lineage in #93267, current-main drift, open `terminal_tool.py` collisions, and the hosted checks.\n\nThe core decomposition here is correct: **“am I the live gateway?” and “am I externally supervised?” are different facts.** Keeping systemd-scope isolation on the stricter supervision predicate while moving the terminal hard block to live gateway identity is the right direction for the Windows direct-spawn failure. The new regression also exercises the real PID-owner predicate instead of proving only a monkeypatched boolean. Exact-head CI is strong: CI [33285358240](https://github.com/NousResearch/hermes-agent/actions/runs/33285358240), Docker [33285357987](https://github.com/NousResearch/hermes-agent/actions/runs/33285357987), and Nix [33285357988](https://github.com/NousResearch/hermes-agent/actions/runs/33285357988) all succeeded; the CI run includes Python, e2e, Windows-only, macOS-only, blocking Ruff/footguns, contributor attribution, and `All required checks pass`.\n\nI still see two land","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T01:47:21Z","updatedAt":"2026-08-30T01:47:21Z","submittedAt":"2026-08-30T01:47:21Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98244#pullrequestreview-5059684935"},"data":{"createdAt":"2026-08-30T01:47:21Z","occurredAt":"2026-08-30T01:47:21Z","pullRequest":{"createdAt":"2026-08-30T01:18:10Z","id":"PR_kwDOPRF1G88AAAABBedKuw","mergedAt":null,"number":98244,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"fix(gateway): block self-restart on a direct-spawn Windows gateway with no supervisor","updatedAt":"2026-08-30T02:05:56Z","url":"https://github.com/NousResearch/hermes-agent/pull/98244"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T01:47:21Z","updatedAt":"2026-08-30T01:47:21Z","url":"https://github.com/NousResearch/hermes-agent/pull/98244#pullrequestreview-5059684935","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLZwWMw","kind":"review","label":"PRR_kwDOPRF1G88AAAABLZwWMw","summary":"Reviewed the exact current object `f063020b1c2bfe3bb5861ca7132667c1294fc576` against current `main@26350357d76e4508c8df9304a3374bdc5a6f6220` (3 ahead / 0 behind). I read the goal-control tool, the GoalManager/SessionDB mutation path, the retained CLI-manager path, toolset/config exposure, the focused tests, the full PR discussion, the #24477 origin thread, and the adjacent goal-tool attempts. Exact-head hosted CI is green: CI `33293117927`, Docker `33293117464`, and Nix `33293117455`; attribution is also green.\n\nThere is real good work here. The trusted runtime `session_id` boundary is much better than a model-selected target; the raw-state `compare_and_set_meta()` write makes the model mutation itself cross-process atomic; terminal-state guards are explicit; `resume(reset_budget=False)` preserves consumed turns; and success is tied to canonical persisted readback instead of an in-memory story. Preserving Fewmanism's authored predecessor commit in the submitted chain is also the right provenance shape.\n\nI do not think this object is ready to land yet, for two authority/lifetime blockers plus the repository landing gates below.\n\n### P1 — the PR reintroduces the exact unresolved core","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T06:59:34Z","updatedAt":"2026-08-30T06:59:34Z","submittedAt":"2026-08-30T06:59:34Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98331#pullrequestreview-5060171315"},"data":{"createdAt":"2026-08-30T06:59:34Z","occurredAt":"2026-08-30T06:59:34Z","pullRequest":{"createdAt":"2026-08-30T03:50:30Z","id":"PR_kwDOPRF1G88AAAABBezpCA","mergedAt":null,"number":98331,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"OPEN","title":"feat: add model-callable current-session goal control","updatedAt":"2026-08-31T02:41:15Z","url":"https://github.com/NousResearch/hermes-agent/pull/98331"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T06:59:34Z","updatedAt":"2026-08-30T06:59:34Z","url":"https://github.com/NousResearch/hermes-agent/pull/98331#pullrequestreview-5060171315","snapshotCollection":"review-contributions"}},{"id":"github:review:PRR_kwDOPRF1G88AAAABLZY1Rg","kind":"review","label":"PRR_kwDOPRF1G88AAAABLZY1Rg","summary":"Reviewed exact head `e07914a487d5643923249d9021b077aabe873dd1` against recorded base `4209d371aa1bb8840ce8447555bdd863a1a96c38`. The exact-head hosted object is green: CI `33288773278`, Docker `33288772854`, and Nix `33288772862` all succeeded, including Python tests, e2e, Windows/macOS, blocking Ruff, Windows footguns, supply-chain gates, attribution, and `All required checks pass`.\n\nThe durable execution shape is promising: the reply is persisted before handler execution, handler result is persisted before result delivery, retry paths avoid blindly rerunning an already-settled handler, slash commands bypass capture, and the profile-local store is included in backup. I do see three P1 lifecycle/authority blockers before this can be the durable owner it is trying to become.\n\n### P1 — the durable row is fenced only by `session_key`, so `/new` can hand an old question to a replacement conversation\n\n`DeferredQuestion` persists `session_key`, but not the logical conversation generation (`session_id` / conversation epoch). That distinction matters in the current gateway: `SessionStore.reset_session()` intentionally keeps the same routing `session_key` while ending the old `session_id` a","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"COMMENTED","createdAt":"2026-08-30T02:53:18Z","updatedAt":"2026-08-30T02:53:18Z","submittedAt":"2026-08-30T02:53:18Z"},"source":{"origin":"github-snapshot","url":"https://github.com/NousResearch/hermes-agent/pull/98197#pullrequestreview-5059786054"},"data":{"createdAt":"2026-08-30T02:53:18Z","occurredAt":"2026-08-30T02:53:18Z","pullRequest":{"createdAt":"2026-08-29T23:20:28Z","id":"PR_kwDOPRF1G88AAAABBeKawA","mergedAt":null,"number":98197,"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"CLOSED","title":"feat(gateway): add deferred plugin questions","updatedAt":"2026-08-30T19:13:17Z","url":"https://github.com/NousResearch/hermes-agent/pull/98197"},"repository":{"nameWithOwner":"NousResearch/hermes-agent","url":"https://github.com/NousResearch/hermes-agent"},"state":"COMMENTED","submittedAt":"2026-08-30T02:53:18Z","updatedAt":"2026-08-30T02:53:18Z","url":"https://github.com/NousResearch/hermes-agent/pull/98197#pullrequestreview-5059786054","snapshotCollection":"review-contributions"}},{"id":"identity-alias:andrex-ibiza","kind":"identity-alias","label":"Andrex Ibiza","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"identity-alias:axl-ibiza","kind":"identity-alias","label":"Axl Ibiza","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"lifecycle-event:experience-hermes-contributor-current","kind":"lifecycle-event","label":"Hermes contributor relationship current","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{"status":"CURRENT","occurredAt":"2026-08-31"}},{"id":"method:five-by-two-by-three","kind":"method","label":"5x2x3 method","summary":"Five lanes, double-blind production and witness, and three verification waves.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"published method"},"source":{"origin":"drive.google.com","url":"https://drive.google.com/file/d/1GYR9AikBP7B6teFMyNOyp-P606fMzfVS/view?usp=drive_link","retrievedAt":"2026-08-31T17:15:28Z","durable":false,"immutable":false},"data":{"url":"https://drive.google.com/file/d/1GYR9AikBP7B6teFMyNOyp-P606fMzfVS/view?usp=drive_link","tags":["multi-agent","blind-review","verification"],"curatedId":"five-by-two-by-three"}},{"id":"method:graph-gated-engineering","kind":"method","label":"Graph-gated engineering","summary":"Model first, agree on the graph, then slice; no actor certifies itself.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"published and applied"},"source":{"origin":"drive.google.com","url":"https://drive.google.com/file/d/1GYR9AikBP7B6teFMyNOyp-P606fMzfVS/view?usp=drive_link","retrievedAt":"2026-08-31T17:15:28Z","durable":false,"immutable":false},"data":{"url":"https://drive.google.com/file/d/1GYR9AikBP7B6teFMyNOyp-P606fMzfVS/view?usp=drive_link","tags":["typed-graphs","independent-verification","refactoring"],"curatedId":"graph-gated-engineering"}},{"id":"method:inferential-architecture","kind":"method","label":"Inferential Architecture","summary":"Axl-authored architecture named in the public Refusal Algebra authorship boundary.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"published authorship record"},"source":{"origin":"github.com","url":"https://github.com/NousResearch/hermes-agent/issues/95750","retrievedAt":"2026-08-31T17:15:28Z","durable":false,"immutable":false},"data":{"url":"https://github.com/NousResearch/hermes-agent/issues/95750","tags":["architecture","failure-topology","executable-design"],"curatedId":"inferential-architecture"}},{"id":"method:refusal-algebra","kind":"method","label":"Refusal Algebra","summary":"Typed consequential results with orthogonal effect knowledge and append-only reconciliation.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"published specification; complete runtime implementation not established"},"source":{"origin":"github.com","url":"https://github.com/NousResearch/hermes-agent/issues/95750","retrievedAt":"2026-08-31T17:15:28Z","durable":false,"immutable":false},"data":{"url":"https://github.com/NousResearch/hermes-agent/issues/95750","tags":["typed-results","authority","reconciliation","a2a"],"curatedId":"refusal-algebra"}},{"id":"notebook:kaggle-notebooks-backpack-prediction-challenge","kind":"notebook","label":"Backpack Prediction Challenge","summary":"Kaggle notebook.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.kaggle.com","url":"https://www.kaggle.com/code/andrexibiza/backpack-prediction-challenge","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"name":"Backpack Prediction Challenge","state":"PUBLISHED","platform":"Kaggle","collection":"notebooks"}},{"id":"notebook:kaggle-notebooks-california-state-jobs-dataset","kind":"notebook","label":"California State Jobs Dataset","summary":"Kaggle notebook.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.kaggle.com","url":"https://www.kaggle.com/code/andrexibiza/california-state-jobs-dataset","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"name":"California State Jobs Dataset","state":"PUBLISHED","platform":"Kaggle","collection":"notebooks"}},{"id":"notebook:kaggle-notebooks-cta-red-line-ridership-2018-2023","kind":"notebook","label":"CTA Red Line Ridership: 2018-2023","summary":"Kaggle notebook.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.kaggle.com","url":"https://www.kaggle.com/code/andrexibiza/cta-red-line-ridership-2018-2023","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"name":"CTA Red Line Ridership: 2018-2023","state":"PUBLISHED","platform":"Kaggle","collection":"notebooks"}},{"id":"notebook:kaggle-notebooks-sql-analyzing-ocean-plastic-pollution","kind":"notebook","label":"SQL: Analyzing Ocean Plastic Pollution","summary":"Kaggle notebook.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.kaggle.com","url":"https://www.kaggle.com/code/andrexibiza/sql-analyzing-ocean-plastic-pollution","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"name":"SQL: Analyzing Ocean Plastic Pollution","state":"PUBLISHED","platform":"Kaggle","collection":"notebooks"}},{"id":"notebook:kaggle-notebooks-sweeping-statistical-analysis-of-palmerpenguins","kind":"notebook","label":"Sweeping Statistical Analysis of PalmerPenguins","summary":"Kaggle notebook.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.kaggle.com","url":"https://www.kaggle.com/code/andrexibiza/sweeping-statistical-analysis-of-palmerpenguins","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"name":"Sweeping Statistical Analysis of PalmerPenguins","state":"PUBLISHED","platform":"Kaggle","collection":"notebooks"}},{"id":"notebook:kaggle-notebooks-titanic-machine-learning-from-disaster","kind":"notebook","label":"Titanic - Machine Learning from Disaster","summary":"Kaggle notebook.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.kaggle.com","url":"https://www.kaggle.com/code/andrexibiza/titanic-machine-learning-from-disaster","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"name":"Titanic - Machine Learning from Disaster","state":"PUBLISHED","platform":"Kaggle","collection":"notebooks"}},{"id":"organization:nous-research","kind":"organization","label":"Nous Research","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"outcome:decomposition-20-of-20","kind":"outcome","label":"tracked god files recorded complete","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"outcome:interlock-121-untouched","kind":"outcome","label":"constellations requiring no new mutation","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"outcome:interlock-343-identities","kind":"outcome","label":"semantic problem identities","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"outcome:interlock-419-routes","kind":"outcome","label":"public directed routes","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"outcome:pr-90198-merged","kind":"outcome","label":"merged pull requests","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"person:axl","kind":"person","label":"Axl Ibiza, MBA","summary":"AI agent systems engineer, Hermes Agent contributor, and creator of graph-gated engineering.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"CURRENT"},"source":{"origin":"axlibiza.com","url":"https://axlibiza.com","durable":false,"immutable":false,"retrievedAt":"2026-08-31T17:15:28Z"},"data":{"name":"Axl Ibiza, MBA"}},{"id":"person:axl-ibiza","kind":"person","label":"Axl Ibiza, MBA","summary":"Hermes Agent contributor and creator of graph-gated engineering, the 5x2x3 method, Refusal Algebra, and Inferential Architecture.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"public identity"},"source":{"origin":"axlibiza.com","url":"https://axlibiza.com","retrievedAt":"2026-08-31T17:15:28Z","durable":false,"immutable":false},"data":{"url":"https://axlibiza.com","tags":["agent-systems","architecture","verification"],"curatedId":"axl-ibiza"}},{"id":"portfolio:datacamp","kind":"portfolio","label":"DataCamp","summary":"portfolio deprecated by provider; public link preserved","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.datacamp.com","url":"https://www.datacamp.com/portfolio/andrexibiza","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"name":"DataCamp","state":"PUBLISHED","profile":{"name":"Andrex Ibiza, MBA","notice":"DataCamp says Portfolio pages are being retired. The URL remains linked as historical learning evidence."}}},{"id":"portfolio:datacamp-portfolio","kind":"portfolio","label":"DataCamp portfolio","summary":"Historical public learning portfolio; provider marks portfolio pages deprecated.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"deprecated public portfolio link preserved"},"source":{"origin":"www.datacamp.com","url":"https://www.datacamp.com/portfolio/andrexibiza","retrievedAt":"2026-08-31T17:15:28Z","durable":false,"immutable":false},"data":{"url":"https://www.datacamp.com/portfolio/andrexibiza","tags":["data-analytics","learning","credentials"],"curatedId":"datacamp-portfolio"}},{"id":"portfolio:kaggle","kind":"portfolio","label":"Kaggle","summary":"public portfolio","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"www.kaggle.com","url":"https://www.kaggle.com/andrexibiza","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"name":"Kaggle","state":"PUBLISHED","profile":{"name":"Andrex Ibiza, MBA","position":"MS Data Analytics Student at Johnson & Wales University","location":"North Prairie, Wisconsin","counts":{"competitions":3,"datasets":2,"notebooks":6,"discussions":6}}}},{"id":"portfolio:kaggle-portfolio","kind":"portfolio","label":"Kaggle portfolio","summary":"Three competitions, two public datasets, six notebooks, and public discussion history.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"public snapshot 2026-08-31"},"source":{"origin":"www.kaggle.com","url":"https://www.kaggle.com/andrexibiza","retrievedAt":"2026-08-31T17:15:28Z","durable":false,"immutable":false},"data":{"url":"https://www.kaggle.com/andrexibiza","tags":["machine-learning","sql","r","python","datasets"],"curatedId":"kaggle-portfolio"}},{"id":"portfolio:tableau","kind":"portfolio","label":"Tableau Public","summary":"public visualization portfolio","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"public.tableau.com","url":"https://public.tableau.com/app/profile/andrex.ibiza/vizzes","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"name":"Tableau Public","state":"PUBLISHED","profile":{"name":"Andrex Ibiza, MBA","position":"Graduate Student, M.S. Data Analytics at Johnson & Wales University","location":"Waukesha, Wisconsin","counts":{"visualizations":7}}}},{"id":"portfolio:tableau-portfolio","kind":"portfolio","label":"Tableau Public portfolio","summary":"Seven public visualizations spanning metadata, maps, churn, transit, and emissions.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"public snapshot 2026-08-31"},"source":{"origin":"public.tableau.com","url":"https://public.tableau.com/app/profile/andrex.ibiza/vizzes","retrievedAt":"2026-08-31T17:15:28Z","durable":false,"immutable":false},"data":{"url":"https://public.tableau.com/app/profile/andrex.ibiza/vizzes","tags":["tableau","visualization","analytics","geospatial"],"curatedId":"tableau-portfolio"}},{"id":"public-profile:github","kind":"public-profile","label":"GitHub","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{"url":"https://github.com/andrexibiza"}},{"id":"public-profile:linkedin","kind":"public-profile","label":"LinkedIn","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{"url":"https://www.linkedin.com/in/andrexibiza/"}},{"id":"public-profile:x","kind":"public-profile","label":"X","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{"url":"https://x.com/andrexibiza"}},{"id":"role:ai-agent-systems-engineer","kind":"role","label":"AI Agent Systems Engineer","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"role:developer-experience-engineer-ai","kind":"role","label":"Developer Experience Engineer (AI)","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"role:hermes-agent-contributor","kind":"role","label":"Hermes Agent Contributor at Nous Research","summary":"Current public role contributing to Hermes Agent.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"current role"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/","retrievedAt":"2026-08-31T17:15:28Z","durable":false,"immutable":false},"data":{"url":"https://www.linkedin.com/in/andrexibiza/","tags":["hermes-agent","nous-research","contributor"],"curatedId":"hermes-agent-contributor"}},{"id":"role:multi-agent-systems-engineer","kind":"role","label":"Multi-Agent Systems Engineer","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"skill:agent-security","kind":"skill","label":"Agent security","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"skill:astro-web-frontend","kind":"skill","label":"Astro web frontend","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"skill:ci-cd-automation","kind":"skill","label":"CI/CD automation","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"skill:cloudflare-edge-deployment","kind":"skill","label":"Cloudflare edge deployment","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"skill:data-analysis","kind":"skill","label":"Data analysis","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"skill:developer-tooling","kind":"skill","label":"Developer tooling","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"skill:github-api-graphql","kind":"skill","label":"GitHub API and GraphQL","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"skill:graph-gated-refactoring","kind":"skill","label":"Graph-gated refactoring","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"skill:inferential-architecture","kind":"skill","label":"Inferential Architecture","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"skill:kanban-swarm-execution","kind":"skill","label":"Kanban swarm execution","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"skill:knowledge-graph-modeling","kind":"skill","label":"Knowledge graph modeling","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"skill:memory-context-systems","kind":"skill","label":"Memory and context systems","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"skill:multi-agent-orchestration","kind":"skill","label":"Multi-agent orchestration","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"skill:plugin-architecture","kind":"skill","label":"Plugin architecture","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"skill:python","kind":"skill","label":"Python","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"skill:refusal-algebra","kind":"skill","label":"Refusal Algebra","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"skill:typescript","kind":"skill","label":"TypeScript","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"skill:verification-engineering","kind":"skill","label":"Verification engineering","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"skill:webhook-automation","kind":"skill","label":"Webhook automation","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"skill:windows-desktop-integration","kind":"skill","label":"Windows desktop integration","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"source:brigade-protocol","kind":"source","label":"axlibiza.chatgpt.site: public-protocol-site","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"brigade-protocol.axlibiza.chatgpt.site","url":"https://brigade-protocol.axlibiza.chatgpt.site","retrievedAt":"2026-08-31T17:15:28.000Z","durable":false,"immutable":false},"data":{}},{"id":"source:campaign-epic","kind":"source","label":"GitHub: github-issue","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"github.com","url":"https://github.com/NousResearch/hermes-agent","retrievedAt":"2026-08-31T17:15:28.000Z","durable":false,"immutable":false},"data":{}},{"id":"source:graph-gated-paper","kind":"source","label":"Google Drive: public-paper","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"drive.google.com","url":"https://drive.google.com/file/d/1GYR9AikBP7B6teFMyNOyp-P606fMzfVS/view","retrievedAt":"2026-08-31T17:15:28.000Z","durable":false,"immutable":false},"data":{}},{"id":"source:hermes-agent-repo","kind":"source","label":"GitHub: github-repository","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"github.com","url":"https://github.com/NousResearch/hermes-agent","retrievedAt":"2026-08-31T17:15:28.000Z","durable":false,"immutable":false},"data":{}},{"id":"source:hermes-pr-90198","kind":"source","label":"GitHub: github-pull-request","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"github.com","url":"https://github.com/NousResearch/hermes-agent/pull/90198","retrievedAt":"2026-08-31T17:15:28.000Z","durable":false,"immutable":false},"data":{}},{"id":"source:linkedin-profile","kind":"source","label":"LinkedIn: linkedin-profile","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"www.linkedin.com","url":"https://www.linkedin.com/in/andrexibiza/","retrievedAt":"2026-08-31T17:15:28.000Z","durable":false,"immutable":false},"data":{}},{"id":"source:semantic-interlock-graph","kind":"source","label":"axlibiza.chatgpt.site: public-observatory","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"source":{"origin":"hermes-semantic-interlock-graph.axlibiza.chatgpt.site","url":"https://hermes-semantic-interlock-graph.axlibiza.chatgpt.site","retrievedAt":"2026-08-31T17:15:28.000Z","durable":false,"immutable":false},"data":{}},{"id":"taxonomy:local-2026-09-01-skill-agent-security","kind":"taxonomy","label":"Agent security","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"taxonomy:local-2026-09-01-skill-astro-web-frontend","kind":"taxonomy","label":"Astro web frontend","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"taxonomy:local-2026-09-01-skill-ci-cd-automation","kind":"taxonomy","label":"CI/CD automation","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"taxonomy:local-2026-09-01-skill-cloudflare-edge-deployment","kind":"taxonomy","label":"Cloudflare edge deployment","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"taxonomy:local-2026-09-01-skill-data-analysis","kind":"taxonomy","label":"Data analysis","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"taxonomy:local-2026-09-01-skill-developer-tooling","kind":"taxonomy","label":"Developer tooling","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"taxonomy:local-2026-09-01-skill-github-api-graphql","kind":"taxonomy","label":"GitHub API and GraphQL","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"taxonomy:local-2026-09-01-skill-graph-gated-refactoring","kind":"taxonomy","label":"Graph-gated refactoring","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"taxonomy:local-2026-09-01-skill-inferential-architecture","kind":"taxonomy","label":"Inferential Architecture","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"taxonomy:local-2026-09-01-skill-kanban-swarm-execution","kind":"taxonomy","label":"Kanban swarm execution","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"taxonomy:local-2026-09-01-skill-knowledge-graph-modeling","kind":"taxonomy","label":"Knowledge graph modeling","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"taxonomy:local-2026-09-01-skill-memory-context-systems","kind":"taxonomy","label":"Memory and context systems","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"taxonomy:local-2026-09-01-skill-multi-agent-orchestration","kind":"taxonomy","label":"Multi-agent orchestration","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"taxonomy:local-2026-09-01-skill-plugin-architecture","kind":"taxonomy","label":"Plugin architecture","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"taxonomy:local-2026-09-01-skill-python","kind":"taxonomy","label":"Python","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"taxonomy:local-2026-09-01-skill-refusal-algebra","kind":"taxonomy","label":"Refusal Algebra","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"taxonomy:local-2026-09-01-skill-typescript","kind":"taxonomy","label":"TypeScript","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"taxonomy:local-2026-09-01-skill-verification-engineering","kind":"taxonomy","label":"Verification engineering","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"taxonomy:local-2026-09-01-skill-webhook-automation","kind":"taxonomy","label":"Webhook automation","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"taxonomy:local-2026-09-01-skill-windows-desktop-integration","kind":"taxonomy","label":"Windows desktop integration","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"taxonomy:o-net-soc-2026-https-www-onetonline-org-link-summary-15-1212-00","kind":"taxonomy","label":"Information Security Analysts","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"visualization:tableau-visualizations-a-visit-to-the-treasure-island","kind":"visualization","label":"A Visit to the Treasure Island","summary":"Tableau Public visualization.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"public.tableau.com","url":"https://public.tableau.com/app/profile/andrex.ibiza/viz/AVisittotheTreasureIsland/AVisittotheTreasureIsland","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"name":"A Visit to the Treasure Island","state":"PUBLISHED","platform":"Tableau Public","collection":"visualizations"}},{"id":"visualization:tableau-visualizations-case-study-analyzing-customer-churn-in-tableau","kind":"visualization","label":"Case Study - Analyzing Customer Churn in Tableau","summary":"Tableau Public visualization.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"public.tableau.com","url":"https://public.tableau.com/app/profile/andrex.ibiza/viz/CaseStudy-AnalyzingCustomerChurninTableau_17146164068380/ChurnAnalysis","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"name":"Case Study - Analyzing Customer Churn in Tableau","state":"PUBLISHED","platform":"Tableau Public","collection":"visualizations"}},{"id":"visualization:tableau-visualizations-chicago-divvy-bike-data-analysis","kind":"visualization","label":"Chicago Divvy Bike Data Analysis","summary":"Tableau Public visualization.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"public.tableau.com","url":"https://public.tableau.com/app/profile/andrex.ibiza/viz/ChicagoDivvyBikeDataAnalysis/ChicagoDivvyBikeUsageTrends","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"name":"Chicago Divvy Bike Data Analysis","state":"PUBLISHED","platform":"Tableau Public","collection":"visualizations"}},{"id":"visualization:tableau-visualizations-co2-emissions-by-country","kind":"visualization","label":"CO2 Emissions by Country","summary":"Tableau Public visualization.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"public.tableau.com","url":"https://public.tableau.com/app/profile/andrex.ibiza/viz/CO2EmissionsbyCountry_16729449569710/Sheet1","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"name":"CO2 Emissions by Country","state":"PUBLISHED","platform":"Tableau Public","collection":"visualizations"}},{"id":"visualization:tableau-visualizations-customer-story-2-chicago-divvy-bikes-data","kind":"visualization","label":"Customer Story 2 - Chicago Divvy Bikes Data","summary":"Tableau Public visualization.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"public.tableau.com","url":"https://public.tableau.com/app/profile/andrex.ibiza/viz/CustomerStory2-ChicagoDivvyBikesData/CustomerStory","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"name":"Customer Story 2 - Chicago Divvy Bikes Data","state":"PUBLISHED","platform":"Tableau Public","collection":"visualizations"}},{"id":"visualization:tableau-visualizations-geospatial-maps-and-advanced-visualizations-in-tableau","kind":"visualization","label":"Geospatial Maps and Advanced Visualizations in Tableau","summary":"Tableau Public visualization.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"public.tableau.com","url":"https://public.tableau.com/app/profile/andrex.ibiza/viz/GeospatialMapsandAdvancedVisualizationsinTableau/GeospatialMapsinTableau","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"name":"Geospatial Maps and Advanced Visualizations in Tableau","state":"PUBLISHED","platform":"Tableau Public","collection":"visualizations"}},{"id":"visualization:tableau-visualizations-my-obsidian-journey-metadata-visualized","kind":"visualization","label":"My Obsidian Journey: Metadata Visualized","summary":"Tableau Public visualization.","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"PUBLISHED"},"source":{"origin":"public.tableau.com","url":"https://public.tableau.com/app/profile/andrex.ibiza/viz/MyObsidianJourneyMetadataVisualized/MyObsidianJourney","durable":false,"immutable":false,"retrievedAt":"2026-08-31"},"data":{"name":"My Obsidian Journey: Metadata Visualized","state":"PUBLISHED","platform":"Tableau Public","collection":"visualizations"}},{"id":"work:decomposition-campaign","kind":"work","label":"decomposition-campaign","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"work:graph-gated-paper","kind":"work","label":"graph-gated-paper","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"work:hermes-pr-90198","kind":"work","label":"hermes-pr-90198","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}},{"id":"work:semantic-interlock-graph","kind":"work","label":"semantic-interlock-graph","snapshotAt":"2026-08-31T17:15:28Z","lifecycle":{"state":"SNAPSHOT"},"data":{}}],"edges":[{"id":"binding:all-gods-paper:graph-gated-engineering-5x2x3-authorship","source":"artifact:all-gods-paper","target":"claim:graph-gated-engineering-5x2x3-authorship","kind":"claims"},{"id":"binding:all-gods-paper:graph-gated-paper-doctrine","source":"artifact:all-gods-paper","target":"claim:graph-gated-paper-doctrine","kind":"claims"},{"id":"binding:authority-execution-layer:refusal-algebra-implementation-boundary","source":"github:issue:I_kwDOPRF1G88AAAABOPCKaQ","target":"claim:refusal-algebra-implementation-boundary","kind":"claims"},{"id":"binding:authority-execution-layer:refusal-algebra-result-domain","source":"github:issue:I_kwDOPRF1G88AAAABOPCKaQ","target":"claim:refusal-algebra-result-domain","kind":"claims"},{"id":"binding:axl-ibiza:chef-career-and-mba","source":"person:axl-ibiza","target":"claim:chef-career-and-mba","kind":"claims"},{"id":"binding:axl-ibiza:graph-gated-engineering-5x2x3-authorship","source":"person:axl-ibiza","target":"claim:graph-gated-engineering-5x2x3-authorship","kind":"claims"},{"id":"binding:axl-ibiza:identity-display-name","source":"person:axl-ibiza","target":"claim:identity-display-name","kind":"claims"},{"id":"binding:axl-ibiza:refusal-algebra-authorship","source":"person:axl-ibiza","target":"claim:refusal-algebra-authorship","kind":"claims"},{"id":"binding:career-history:chef-career-and-mba","source":"career:career-history","target":"claim:chef-career-and-mba","kind":"claims"},{"id":"binding:education-history:chef-career-and-mba","source":"education:education-history","target":"claim:chef-career-and-mba","kind":"claims"},{"id":"binding:five-by-two-by-three:graph-gated-engineering-5x2x3-authorship","source":"method:five-by-two-by-three","target":"claim:graph-gated-engineering-5x2x3-authorship","kind":"claims"},{"id":"binding:godfile-campaign:graph-gated-epic-20-of-20","source":"campaign:godfile-campaign","target":"claim:graph-gated-epic-20-of-20","kind":"claims"},{"id":"binding:godfile-campaign:graph-gated-epic-interlock","source":"campaign:godfile-campaign","target":"claim:graph-gated-epic-interlock","kind":"claims"},{"id":"binding:graph-gated-engineering:graph-gated-engineering-5x2x3-authorship","source":"method:graph-gated-engineering","target":"claim:graph-gated-engineering-5x2x3-authorship","kind":"claims"},{"id":"binding:graph-gated-engineering:graph-gated-paper-doctrine","source":"method:graph-gated-engineering","target":"claim:graph-gated-paper-doctrine","kind":"claims"},{"id":"binding:hermes-agent-contributor:hermes-agent-contributor-nous-research","source":"role:hermes-agent-contributor","target":"claim:hermes-agent-contributor-nous-research","kind":"claims"},{"id":"binding:hermes-agent:hermes-pr-90198-ci-state","source":"github:repository:R_kgDOPRF1Gw","target":"claim:hermes-pr-90198-ci-state","kind":"claims"},{"id":"binding:hermes-agent:hermes-pr-90198-merged","source":"github:repository:R_kgDOPRF1Gw","target":"claim:hermes-pr-90198-merged","kind":"claims"},{"id":"binding:hermes-agent:hermes-pr-90198-routing-contract","source":"github:repository:R_kgDOPRF1Gw","target":"claim:hermes-pr-90198-routing-contract","kind":"claims"},{"id":"binding:hermes-pr-90198:hermes-pr-90198-ci-state","source":"github:pull-request:PR_kwDOPRF1G88AAAABAUkf0g","target":"claim:hermes-pr-90198-ci-state","kind":"claims"},{"id":"binding:hermes-pr-90198:hermes-pr-90198-credit-ledger","source":"github:pull-request:PR_kwDOPRF1G88AAAABAUkf0g","target":"claim:hermes-pr-90198-credit-ledger","kind":"claims"},{"id":"binding:hermes-pr-90198:hermes-pr-90198-merged","source":"github:pull-request:PR_kwDOPRF1G88AAAABAUkf0g","target":"claim:hermes-pr-90198-merged","kind":"claims"},{"id":"binding:hermes-pr-90198:hermes-pr-90198-routing-contract","source":"github:pull-request:PR_kwDOPRF1G88AAAABAUkf0g","target":"claim:hermes-pr-90198-routing-contract","kind":"claims"},{"id":"binding:inferential-architecture:refusal-algebra-authorship","source":"method:inferential-architecture","target":"claim:refusal-algebra-authorship","kind":"claims"},{"id":"binding:refusal-algebra:refusal-algebra-authorship","source":"method:refusal-algebra","target":"claim:refusal-algebra-authorship","kind":"claims"},{"id":"binding:refusal-algebra:refusal-algebra-implementation-boundary","source":"method:refusal-algebra","target":"claim:refusal-algebra-implementation-boundary","kind":"claims"},{"id":"binding:refusal-algebra:refusal-algebra-result-domain","source":"method:refusal-algebra","target":"claim:refusal-algebra-result-domain","kind":"claims"},{"id":"curated:authority-layer-targets-hermes","source":"github:issue:I_kwDOPRF1G88AAAABOPCKaQ","target":"github:repository:R_kgDOPRF1Gw","kind":"proposed_for"},{"id":"curated:axl-authored-pr-90198","source":"person:axl-ibiza","target":"github:pull-request:PR_kwDOPRF1G88AAAABAUkf0g","kind":"authored"},{"id":"curated:axl-created-graph-gated","source":"person:axl-ibiza","target":"method:graph-gated-engineering","kind":"created"},{"id":"curated:axl-created-inferential-architecture","source":"person:axl-ibiza","target":"method:inferential-architecture","kind":"created"},{"id":"curated:axl-created-refusal-algebra","source":"person:axl-ibiza","target":"method:refusal-algebra","kind":"created"},{"id":"curated:axl-has-career-history","source":"person:axl-ibiza","target":"career:career-history","kind":"has_history"},{"id":"curated:axl-has-education-history","source":"person:axl-ibiza","target":"education:education-history","kind":"has_history"},{"id":"curated:axl-holds-hermes-role","source":"person:axl-ibiza","target":"role:hermes-agent-contributor","kind":"holds_role"},{"id":"curated:axl-links-datacamp","source":"person:axl-ibiza","target":"portfolio:datacamp-portfolio","kind":"links_historical"},{"id":"curated:axl-publishes-kaggle","source":"person:axl-ibiza","target":"portfolio:kaggle-portfolio","kind":"publishes"},{"id":"curated:axl-publishes-tableau","source":"person:axl-ibiza","target":"portfolio:tableau-portfolio","kind":"publishes"},{"id":"curated:campaign-changes-hermes","source":"campaign:godfile-campaign","target":"github:repository:R_kgDOPRF1Gw","kind":"changes"},{"id":"curated:graph-gated-applied-in-campaign","source":"method:graph-gated-engineering","target":"campaign:godfile-campaign","kind":"applied_in"},{"id":"curated:graph-gated-defines-5x2x3","source":"method:graph-gated-engineering","target":"method:five-by-two-by-three","kind":"defines"},{"id":"curated:graph-gated-documented-by-paper","source":"method:graph-gated-engineering","target":"artifact:all-gods-paper","kind":"documented_by"},{"id":"curated:pr-90198-merged-into-hermes","source":"github:pull-request:PR_kwDOPRF1G88AAAABAUkf0g","target":"github:repository:R_kgDOPRF1Gw","kind":"merged_into"},{"id":"curated:refusal-integrates-authority-layer","source":"method:refusal-algebra","target":"github:issue:I_kwDOPRF1G88AAAABOPCKaQ","kind":"integrates_with"},{"id":"curated:role-contributes-to-hermes","source":"role:hermes-agent-contributor","target":"github:repository:R_kgDOPRF1Gw","kind":"contributes_to"},{"id":"edge:capability-evidence:agent-security:claim","source":"capability-evidence:agent-security","target":"claim:capability:agent-security","kind":"supports"},{"id":"edge:capability-evidence:astro-web-frontend:claim","source":"capability-evidence:astro-web-frontend","target":"claim:capability:astro-web-frontend","kind":"supports"},{"id":"edge:capability-evidence:ci-cd-automation:claim","source":"capability-evidence:ci-cd-automation","target":"claim:capability:ci-cd-automation","kind":"supports"},{"id":"edge:capability-evidence:cloudflare-edge-deployment:claim","source":"capability-evidence:cloudflare-edge-deployment","target":"claim:capability:cloudflare-edge-deployment","kind":"supports"},{"id":"edge:capability-evidence:data-analysis:claim","source":"capability-evidence:data-analysis","target":"claim:capability:data-analysis","kind":"supports"},{"id":"edge:capability-evidence:developer-tooling:claim","source":"capability-evidence:developer-tooling","target":"claim:capability:developer-tooling","kind":"supports"},{"id":"edge:capability-evidence:github-api-graphql:claim","source":"capability-evidence:github-api-graphql","target":"claim:capability:github-api-graphql","kind":"supports"},{"id":"edge:capability-evidence:graph-gated-refactoring:claim","source":"capability-evidence:graph-gated-refactoring","target":"claim:capability:graph-gated-refactoring","kind":"supports"},{"id":"edge:capability-evidence:inferential-architecture:claim","source":"capability-evidence:inferential-architecture","target":"claim:capability:inferential-architecture","kind":"supports"},{"id":"edge:capability-evidence:kanban-swarm-execution:claim","source":"capability-evidence:kanban-swarm-execution","target":"claim:capability:kanban-swarm-execution","kind":"supports"},{"id":"edge:capability-evidence:knowledge-graph-modeling:claim","source":"capability-evidence:knowledge-graph-modeling","target":"claim:capability:knowledge-graph-modeling","kind":"supports"},{"id":"edge:capability-evidence:memory-context-systems:claim","source":"capability-evidence:memory-context-systems","target":"claim:capability:memory-context-systems","kind":"supports"},{"id":"edge:capability-evidence:multi-agent-orchestration:claim","source":"capability-evidence:multi-agent-orchestration","target":"claim:capability:multi-agent-orchestration","kind":"supports"},{"id":"edge:capability-evidence:plugin-architecture:claim","source":"capability-evidence:plugin-architecture","target":"claim:capability:plugin-architecture","kind":"supports"},{"id":"edge:capability-evidence:python:claim","source":"capability-evidence:python","target":"claim:capability:python","kind":"supports"},{"id":"edge:capability-evidence:refusal-algebra:claim","source":"capability-evidence:refusal-algebra","target":"claim:capability:refusal-algebra","kind":"supports"},{"id":"edge:capability-evidence:typescript:claim","source":"capability-evidence:typescript","target":"claim:capability:typescript","kind":"supports"},{"id":"edge:capability-evidence:verification-engineering:claim","source":"capability-evidence:verification-engineering","target":"claim:capability:verification-engineering","kind":"supports"},{"id":"edge:capability-evidence:webhook-automation:claim","source":"capability-evidence:webhook-automation","target":"claim:capability:webhook-automation","kind":"supports"},{"id":"edge:capability-evidence:windows-desktop-integration:claim","source":"capability-evidence:windows-desktop-integration","target":"claim:capability:windows-desktop-integration","kind":"supports"},{"id":"edge:claim:capability:agent-security:source","source":"claim:capability:agent-security","target":"source:hermes-pr-90198","kind":"supported-by"},{"id":"edge:claim:capability:astro-web-frontend:source","source":"claim:capability:astro-web-frontend","target":"source:linkedin-profile","kind":"supported-by"},{"id":"edge:claim:capability:ci-cd-automation:source","source":"claim:capability:ci-cd-automation","target":"source:hermes-pr-90198","kind":"supported-by"},{"id":"edge:claim:capability:cloudflare-edge-deployment:source","source":"claim:capability:cloudflare-edge-deployment","target":"source:linkedin-profile","kind":"supported-by"},{"id":"edge:claim:capability:data-analysis:source","source":"claim:capability:data-analysis","target":"source:linkedin-profile","kind":"supported-by"},{"id":"edge:claim:capability:developer-tooling:source","source":"claim:capability:developer-tooling","target":"source:hermes-pr-90198","kind":"supported-by"},{"id":"edge:claim:capability:github-api-graphql:source","source":"claim:capability:github-api-graphql","target":"source:hermes-pr-90198","kind":"supported-by"},{"id":"edge:claim:capability:graph-gated-refactoring:source","source":"claim:capability:graph-gated-refactoring","target":"source:campaign-epic","kind":"supported-by"},{"id":"edge:claim:capability:inferential-architecture:source","source":"claim:capability:inferential-architecture","target":"source:hermes-agent-repo","kind":"supported-by"},{"id":"edge:claim:capability:kanban-swarm-execution:source","source":"claim:capability:kanban-swarm-execution","target":"source:graph-gated-paper","kind":"supported-by"},{"id":"edge:claim:capability:knowledge-graph-modeling:source","source":"claim:capability:knowledge-graph-modeling","target":"source:semantic-interlock-graph","kind":"supported-by"},{"id":"edge:claim:capability:memory-context-systems:source","source":"claim:capability:memory-context-systems","target":"source:linkedin-profile","kind":"supported-by"},{"id":"edge:claim:capability:multi-agent-orchestration:source","source":"claim:capability:multi-agent-orchestration","target":"source:graph-gated-paper","kind":"supported-by"},{"id":"edge:claim:capability:plugin-architecture:source","source":"claim:capability:plugin-architecture","target":"source:linkedin-profile","kind":"supported-by"},{"id":"edge:claim:capability:python:source","source":"claim:capability:python","target":"source:hermes-agent-repo","kind":"supported-by"},{"id":"edge:claim:capability:refusal-algebra:source","source":"claim:capability:refusal-algebra","target":"source:hermes-agent-repo","kind":"supported-by"},{"id":"edge:claim:capability:typescript:source","source":"claim:capability:typescript","target":"source:hermes-pr-90198","kind":"supported-by"},{"id":"edge:claim:capability:verification-engineering:source","source":"claim:capability:verification-engineering","target":"source:hermes-pr-90198","kind":"supported-by"},{"id":"edge:claim:capability:webhook-automation:source","source":"claim:capability:webhook-automation","target":"source:brigade-protocol","kind":"supported-by"},{"id":"edge:claim:capability:windows-desktop-integration:source","source":"claim:capability:windows-desktop-integration","target":"source:linkedin-profile","kind":"supported-by"},{"id":"edge:claim:chef-career-and-mba:claim-source:chef-career-and-mba:www-linkedin-com-in-andrexibiza-https-www-linkedin-com-in-andrexibiza-2026-08-28","source":"claim:chef-career-and-mba","target":"evidence:claim-source:chef-career-and-mba:www-linkedin-com-in-andrexibiza-https-www-linkedin-com-in-andrexibiza-2026-08-28","kind":"supported-by"},{"id":"edge:claim:graph-gated-engineering-5x2x3-authorship:claim-source:graph-gated-engineering-5x2x3-authorship:drive-google-com-file-d-1gyr9aikbp7b6tefmynoyp-p606fmzfvs-view-https-drive-google-com-file-d-1gyr9aikbp7b6tefmynoyp-p606fmzfvs-view-usp-drive-link-2026-08-28","source":"claim:graph-gated-engineering-5x2x3-authorship","target":"evidence:claim-source:graph-gated-engineering-5x2x3-authorship:drive-google-com-file-d-1gyr9aikbp7b6tefmynoyp-p606fmzfvs-view-https-drive-google-com-file-d-1gyr9aikbp7b6tefmynoyp-p606fmzfvs-view-usp-drive-link-2026-08-28","kind":"supported-by"},{"id":"edge:claim:graph-gated-epic-20-of-20:claim-source:graph-gated-epic-20-of-20:github-com-nousresearch-hermes-agent-issues-78647-https-github-com-nousresearch-hermes-agent-issues-78647-2026-08-28","source":"claim:graph-gated-epic-20-of-20","target":"evidence:claim-source:graph-gated-epic-20-of-20:github-com-nousresearch-hermes-agent-issues-78647-https-github-com-nousresearch-hermes-agent-issues-78647-2026-08-28","kind":"supported-by"},{"id":"edge:claim:graph-gated-epic-interlock:claim-source:graph-gated-epic-interlock:github-com-nousresearch-hermes-agent-issues-78647-https-github-com-nousresearch-hermes-agent-issues-78647-2026-08-28","source":"claim:graph-gated-epic-interlock","target":"evidence:claim-source:graph-gated-epic-interlock:github-com-nousresearch-hermes-agent-issues-78647-https-github-com-nousresearch-hermes-agent-issues-78647-2026-08-28","kind":"supported-by"},{"id":"edge:claim:graph-gated-paper-doctrine:claim-source:graph-gated-paper-doctrine:drive-google-com-file-d-1gyr9aikbp7b6tefmynoyp-p606fmzfvs-view-https-drive-google-com-file-d-1gyr9aikbp7b6tefmynoyp-p606fmzfvs-view-usp-drive-link-2026-08-28","source":"claim:graph-gated-paper-doctrine","target":"evidence:claim-source:graph-gated-paper-doctrine:drive-google-com-file-d-1gyr9aikbp7b6tefmynoyp-p606fmzfvs-view-https-drive-google-com-file-d-1gyr9aikbp7b6tefmynoyp-p606fmzfvs-view-usp-drive-link-2026-08-28","kind":"supported-by"},{"id":"edge:claim:hermes-agent-contributor-nous-research:claim-source:hermes-agent-contributor-nous-research:www-linkedin-com-in-andrexibiza-https-www-linkedin-com-in-andrexibiza-2026-08-28","source":"claim:hermes-agent-contributor-nous-research","target":"evidence:claim-source:hermes-agent-contributor-nous-research:www-linkedin-com-in-andrexibiza-https-www-linkedin-com-in-andrexibiza-2026-08-28","kind":"supported-by"},{"id":"edge:claim:hermes-pr-90198-ci-state:claim-source:hermes-pr-90198-ci-state:github-com-nousresearch-hermes-agent-actions-runs-32544489239-https-github-com-nousresearch-hermes-agent-actions-runs-32544489239-2026-08-28","source":"claim:hermes-pr-90198-ci-state","target":"evidence:claim-source:hermes-pr-90198-ci-state:github-com-nousresearch-hermes-agent-actions-runs-32544489239-https-github-com-nousresearch-hermes-agent-actions-runs-32544489239-2026-08-28","kind":"supported-by"},{"id":"edge:claim:hermes-pr-90198-ci-state:claim-source:hermes-pr-90198-ci-state:github-com-nousresearch-hermes-agent-actions-runs-32544489257-https-github-com-nousresearch-hermes-agent-actions-runs-32544489257-2026-08-28","source":"claim:hermes-pr-90198-ci-state","target":"evidence:claim-source:hermes-pr-90198-ci-state:github-com-nousresearch-hermes-agent-actions-runs-32544489257-https-github-com-nousresearch-hermes-agent-actions-runs-32544489257-2026-08-28","kind":"supported-by"},{"id":"edge:claim:hermes-pr-90198-ci-state:claim-source:hermes-pr-90198-ci-state:github-com-nousresearch-hermes-agent-actions-runs-32544489752-https-github-com-nousresearch-hermes-agent-actions-runs-32544489752-2026-08-28","source":"claim:hermes-pr-90198-ci-state","target":"evidence:claim-source:hermes-pr-90198-ci-state:github-com-nousresearch-hermes-agent-actions-runs-32544489752-https-github-com-nousresearch-hermes-agent-actions-runs-32544489752-2026-08-28","kind":"supported-by"},{"id":"edge:claim:hermes-pr-90198-credit-ledger:claim-source:hermes-pr-90198-credit-ledger:github-com-nousresearch-hermes-agent-pull-90198-https-github-com-nousresearch-hermes-agent-pull-90198-2026-08-28","source":"claim:hermes-pr-90198-credit-ledger","target":"evidence:claim-source:hermes-pr-90198-credit-ledger:github-com-nousresearch-hermes-agent-pull-90198-https-github-com-nousresearch-hermes-agent-pull-90198-2026-08-28","kind":"supported-by"},{"id":"edge:claim:hermes-pr-90198-merged:claim-source:hermes-pr-90198-merged:github-com-nousresearch-hermes-agent-commit-38ce2d7553c42af591a59087cb62ea018f9e6917-https-github-com-nousresearch-hermes-agent-commit-38ce2d7553c42af591a59087cb62ea018f9e6917-2026-08-28","source":"claim:hermes-pr-90198-merged","target":"evidence:claim-source:hermes-pr-90198-merged:github-com-nousresearch-hermes-agent-commit-38ce2d7553c42af591a59087cb62ea018f9e6917-https-github-com-nousresearch-hermes-agent-commit-38ce2d7553c42af591a59087cb62ea018f9e6917-2026-08-28","kind":"supported-by"},{"id":"edge:claim:hermes-pr-90198-merged:claim-source:hermes-pr-90198-merged:github-com-nousresearch-hermes-agent-pull-90198-https-github-com-nousresearch-hermes-agent-pull-90198-2026-08-28","source":"claim:hermes-pr-90198-merged","target":"evidence:claim-source:hermes-pr-90198-merged:github-com-nousresearch-hermes-agent-pull-90198-https-github-com-nousresearch-hermes-agent-pull-90198-2026-08-28","kind":"supported-by"},{"id":"edge:claim:hermes-pr-90198-routing-contract:claim-source:hermes-pr-90198-routing-contract:github-com-nousresearch-hermes-agent-pull-90198-https-github-com-nousresearch-hermes-agent-pull-90198-2026-08-28","source":"claim:hermes-pr-90198-routing-contract","target":"evidence:claim-source:hermes-pr-90198-routing-contract:github-com-nousresearch-hermes-agent-pull-90198-https-github-com-nousresearch-hermes-agent-pull-90198-2026-08-28","kind":"supported-by"},{"id":"edge:claim:identity-display-name:claim-source:identity-display-name:github-com-andrexibiza-https-github-com-andrexibiza-2026-08-28","source":"claim:identity-display-name","target":"evidence:claim-source:identity-display-name:github-com-andrexibiza-https-github-com-andrexibiza-2026-08-28","kind":"supported-by"},{"id":"edge:claim:identity-display-name:claim-source:identity-display-name:www-linkedin-com-in-andrexibiza-https-www-linkedin-com-in-andrexibiza-2026-08-28","source":"claim:identity-display-name","target":"evidence:claim-source:identity-display-name:www-linkedin-com-in-andrexibiza-https-www-linkedin-com-in-andrexibiza-2026-08-28","kind":"supported-by"},{"id":"edge:claim:refusal-algebra-authorship:claim-source:refusal-algebra-authorship:github-com-nousresearch-hermes-agent-issues-95750-https-github-com-nousresearch-hermes-agent-issues-95750-2026-08-31","source":"claim:refusal-algebra-authorship","target":"evidence:claim-source:refusal-algebra-authorship:github-com-nousresearch-hermes-agent-issues-95750-https-github-com-nousresearch-hermes-agent-issues-95750-2026-08-31","kind":"supported-by"},{"id":"edge:claim:refusal-algebra-implementation-boundary:claim-source:refusal-algebra-implementation-boundary:github-com-nousresearch-hermes-agent-issues-95750-https-github-com-nousresearch-hermes-agent-issues-95750-2026-08-31","source":"claim:refusal-algebra-implementation-boundary","target":"evidence:claim-source:refusal-algebra-implementation-boundary:github-com-nousresearch-hermes-agent-issues-95750-https-github-com-nousresearch-hermes-agent-issues-95750-2026-08-31","kind":"supported-by"},{"id":"edge:claim:refusal-algebra-result-domain:claim-source:refusal-algebra-result-domain:github-com-nousresearch-hermes-agent-issues-95750-https-github-com-nousresearch-hermes-agent-issues-95750-2026-08-31","source":"claim:refusal-algebra-result-domain","target":"evidence:claim-source:refusal-algebra-result-domain:github-com-nousresearch-hermes-agent-issues-95750-https-github-com-nousresearch-hermes-agent-issues-95750-2026-08-31","kind":"supported-by"},{"id":"edge:criterion:ai-agent-systems-engineer:agent-security:taxonomy","source":"criterion:ai-agent-systems-engineer:agent-security","target":"taxonomy:local-2026-09-01-skill-agent-security","kind":"normalized-to"},{"id":"edge:criterion:ai-agent-systems-engineer:memory-context-systems:taxonomy","source":"criterion:ai-agent-systems-engineer:memory-context-systems","target":"taxonomy:local-2026-09-01-skill-memory-context-systems","kind":"normalized-to"},{"id":"edge:criterion:ai-agent-systems-engineer:multi-agent-orchestration:taxonomy","source":"criterion:ai-agent-systems-engineer:multi-agent-orchestration","target":"taxonomy:local-2026-09-01-skill-multi-agent-orchestration","kind":"normalized-to"},{"id":"edge:criterion:ai-agent-systems-engineer:verification-engineering:taxonomy","source":"criterion:ai-agent-systems-engineer:verification-engineering","target":"taxonomy:local-2026-09-01-skill-verification-engineering","kind":"normalized-to"},{"id":"edge:criterion:developer-experience-engineer-ai:developer-tooling:taxonomy","source":"criterion:developer-experience-engineer-ai:developer-tooling","target":"taxonomy:local-2026-09-01-skill-developer-tooling","kind":"normalized-to"},{"id":"edge:criterion:developer-experience-engineer-ai:github-api-graphql:taxonomy","source":"criterion:developer-experience-engineer-ai:github-api-graphql","target":"taxonomy:local-2026-09-01-skill-github-api-graphql","kind":"normalized-to"},{"id":"edge:criterion:developer-experience-engineer-ai:plugin-architecture:taxonomy","source":"criterion:developer-experience-engineer-ai:plugin-architecture","target":"taxonomy:local-2026-09-01-skill-plugin-architecture","kind":"normalized-to"},{"id":"edge:criterion:developer-experience-engineer-ai:typescript:taxonomy","source":"criterion:developer-experience-engineer-ai:typescript","target":"taxonomy:local-2026-09-01-skill-typescript","kind":"normalized-to"},{"id":"edge:criterion:multi-agent-systems-engineer:kanban-swarm-execution:taxonomy","source":"criterion:multi-agent-systems-engineer:kanban-swarm-execution","target":"taxonomy:local-2026-09-01-skill-kanban-swarm-execution","kind":"normalized-to"},{"id":"edge:criterion:multi-agent-systems-engineer:knowledge-graph-modeling:taxonomy","source":"criterion:multi-agent-systems-engineer:knowledge-graph-modeling","target":"taxonomy:local-2026-09-01-skill-knowledge-graph-modeling","kind":"normalized-to"},{"id":"edge:criterion:multi-agent-systems-engineer:multi-agent-orchestration:taxonomy","source":"criterion:multi-agent-systems-engineer:multi-agent-orchestration","target":"taxonomy:local-2026-09-01-skill-multi-agent-orchestration","kind":"normalized-to"},{"id":"edge:criterion:multi-agent-systems-engineer:verification-engineering:taxonomy","source":"criterion:multi-agent-systems-engineer:verification-engineering","target":"taxonomy:local-2026-09-01-skill-verification-engineering","kind":"normalized-to"},{"id":"edge:decomposition-campaign:decomposition-20-of-20","source":"work:decomposition-campaign","target":"outcome:decomposition-20-of-20","kind":"has-outcome"},{"id":"edge:decomposition-campaign:source","source":"contribution:decomposition-campaign","target":"source:campaign-epic","kind":"supported-by"},{"id":"edge:decomposition-campaign:work","source":"contribution:decomposition-campaign","target":"work:decomposition-campaign","kind":"contributed-to"},{"id":"edge:experience:hermes-contributor:organization:nous-research","source":"experience:hermes-contributor","target":"organization:nous-research","kind":"at-organization"},{"id":"edge:graph-gated-paper:source","source":"contribution:graph-gated-paper","target":"source:graph-gated-paper","kind":"supported-by"},{"id":"edge:graph-gated-paper:work","source":"contribution:graph-gated-paper","target":"work:graph-gated-paper","kind":"contributed-to"},{"id":"edge:hermes-pr-90198:pr-90198-merged","source":"work:hermes-pr-90198","target":"outcome:pr-90198-merged","kind":"has-outcome"},{"id":"edge:hermes-pr-90198:source","source":"contribution:hermes-pr-90198","target":"source:hermes-pr-90198","kind":"supported-by"},{"id":"edge:hermes-pr-90198:work","source":"contribution:hermes-pr-90198","target":"work:hermes-pr-90198","kind":"contributed-to"},{"id":"edge:interlock-campaign:source","source":"contribution:interlock-campaign","target":"source:semantic-interlock-graph","kind":"supported-by"},{"id":"edge:interlock-campaign:work","source":"contribution:interlock-campaign","target":"work:semantic-interlock-graph","kind":"contributed-to"},{"id":"edge:issue:I_kwDOPRF1G88AAAABL3TMVQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABL3TMVQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABL7aDgg:repository","source":"github:issue:I_kwDOPRF1G88AAAABL7aDgg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLbij0Q:repository","source":"github:issue:I_kwDOPRF1G88AAAABLbij0Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLbiO8Q:repository","source":"github:issue:I_kwDOPRF1G88AAAABLbiO8Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLbiPtQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLbiPtQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLbNbqw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLbNbqw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLbNq3w:repository","source":"github:issue:I_kwDOPRF1G88AAAABLbNq3w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLc7HXA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLc7HXA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcPewA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcPewA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcPfhA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcPfhA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcPgPQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcPgPQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcPh7Q:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcPh7Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcPhJw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcPhJw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcPisA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcPisA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcPjMQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcPjMQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcPjwg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcPjwg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcPl6g:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcPl6g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcPlOw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcPlOw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcPmfw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcPmfw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcPnaw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcPnaw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcPopQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcPopQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcPpVg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcPpVg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcPqlg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcPqlg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcPrVQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcPrVQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcPsGQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcPsGQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcPswA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcPswA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcQAOQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcQAOQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcv_fQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcv_fQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcv-Ng:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcv-Ng","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcv-xg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcv-xg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcv0_g:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcv0_g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcv0aw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcv0aw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcv1nw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcv1nw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcv29g:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcv29g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcv2Sw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcv2Sw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcv3jg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcv3jg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcv45Q:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcv45Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcv4Ow:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcv4Ow","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcv5yg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcv5yg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcv6hg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcv6hg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcv7RA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcv7RA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcv87A:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcv87A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcv8Cw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcv8Cw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcv9nw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcv9nw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvaog:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvaog","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvb5w:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvb5w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvbSg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvbSg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvciA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvciA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvdAA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvdAA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvdqA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvdqA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcve6w:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcve6w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvePw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvePw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvfgQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvfgQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvgPA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvgPA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvhTQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvhTQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvi2g:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvi2g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcviEQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcviEQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvjmA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvjmA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvkOA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvkOA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvksQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvksQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvl0w:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvl0w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvlQA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvlQA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvSUw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvSUw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvTDw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvTDw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvTjw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvTjw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvu2g:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvu2g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvU7w:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvU7w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvUPA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvUPA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvVhQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvVhQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvw7A:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvw7A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvwCg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvwCg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvWJA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvWJA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvWtg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvWtg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvXdA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvXdA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvxmw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvxmw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvYCg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvYCg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvYuQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvYuQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvyvA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvyvA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvZhw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvZhw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcvzwA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcvzwA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwa3A:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwa3A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwAJA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwAJA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwB8Q:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwB8Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwBFg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwBFg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwbqg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwbqg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwcaA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwcaA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwCoA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwCoA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwdOA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwdOA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwDXA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwDXA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwe6Q:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwe6Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcweDg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcweDg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwEJw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwEJw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwFIw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwFIw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwflA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwflA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwFwQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwFwQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwGcQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwGcQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwgUQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwgUQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwH0w:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwH0w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwh9g:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwh9g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwhIg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwhIg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwHMg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwHMg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwi3g:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwi3g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwIpA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwIpA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwJVQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwJVQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwK5g:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwK5g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwKIg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwKIg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwLgw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwLgw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwM6w:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwM6w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwMPw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwMPw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwNig:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwNig","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwO9Q:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwO9Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwOWg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwOWg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwPqw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwPqw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwQVA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwQVA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwR6w:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwR6w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwRFA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwRFA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwSiw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwSiw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwTPg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwTPg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwU4w:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwU4w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwULQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwULQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwVkA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwVkA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwWhg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwWhg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwXXw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwXXw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwYIg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwYIg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwYvA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwYvA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcwZdg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcwZdg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcxGqA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcxGqA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcxHcg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcxHcg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLcxNog:repository","source":"github:issue:I_kwDOPRF1G88AAAABLcxNog","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLeYCYg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLeYCYg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLeYKpA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLeYKpA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLl-WbA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLl-WbA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLLtj7A:repository","source":"github:issue:I_kwDOPRF1G88AAAABLLtj7A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLLtlng:repository","source":"github:issue:I_kwDOPRF1G88AAAABLLtlng","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLLtlPA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLLtlPA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLLYbfA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLLYbfA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLLYjBA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLLYjBA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLLYnyg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLLYnyg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLMGRHg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLMGRHg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLmpF6g:repository","source":"github:issue:I_kwDOPRF1G88AAAABLmpF6g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLMUCJQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLMUCJQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7a0g:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7a0g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7aXw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7aXw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7b5g:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7b5g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7bXA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7bXA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7dIQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7dIQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7doA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7doA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7eFA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7eFA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7epg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7epg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7fKg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7fKg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7fpA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7fpA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7gJQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7gJQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7gpA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7gpA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7SMQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7SMQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7SsA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7SsA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7Tdg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7Tdg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7UmA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7UmA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7VIQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7VIQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7Vog:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7Vog","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7WIg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7WIg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7WsQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7WsQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7XNQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7XNQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7XzA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7XzA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7YUg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7YUg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7Yww:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7Yww","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7Z2g:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7Z2g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLN7ZVw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLN7ZVw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLpCILw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLpCILw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9ahw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9ahw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9AWg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9AWg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9AzQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9AzQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9b8Q:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9b8Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9bBA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9bBA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9bhA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9bhA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9BQA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9BQA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9BuA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9BuA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9CSg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9CSg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9Cyg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9Cyg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9cZw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9cZw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9D-Q:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9D-Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9Ddg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9Ddg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9dVw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9dVw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9dyw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9dyw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9EjA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9EjA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9emw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9emw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9ePQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9ePQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9F9g:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9F9g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9fbg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9fbg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9fBw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9fBw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9FDg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9FDg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9FhQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9FhQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9Geg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9Geg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9HDg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9HDg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9HnQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9HnQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9INw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9INw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9Itg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9Itg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9j8Q:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9j8Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9JUg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9JUg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9JyA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9JyA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9KSg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9KSg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9Kyg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9Kyg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9L0A:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9L0A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9LRA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9LRA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9MQQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9MQQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9MxA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9MxA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9N6Q:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9N6Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9NcA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9NcA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9O4A:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9O4A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9OZw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9OZw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9PUw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9PUw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9QAQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9QAQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9QbQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9QbQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9RDQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9RDQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9RtQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9RtQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9SMQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9SMQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9SsA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9SsA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9TLw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9TLw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9TqA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9TqA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9U1Q:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9U1Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9UKA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9UKA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9VRg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9VRg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9VwA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9VwA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9WqA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9WqA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9WTg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9WTg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9XHQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9XHQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9Xog:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9Xog","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9Y9A:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9Y9A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9YDQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9YDQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9Ydw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9Ydw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLq9Z8w:repository","source":"github:issue:I_kwDOPRF1G88AAAABLq9Z8w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqa0Vg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqa0Vg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqa0xw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqa0xw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqa1MA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqa1MA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqa1wQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqa1wQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqa2iA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqa2iA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqa39w:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqa39w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqa3Hw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqa3Hw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqa3jQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqa3jQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqa4ZQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqa4ZQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqa51A:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqa51A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqa5XQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqa5XQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaAnQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaAnQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaaoQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaaoQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaaQg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaaQg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqab0w:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqab0w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaB2w:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaB2w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaBBg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaBBg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaBeg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaBeg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqabeQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqabeQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqabGw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqabGw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaCMQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaCMQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqacMw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqacMw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaCqg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaCqg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqacxQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqacxQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqad4Q:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqad4Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqadjA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqadjA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaDqw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaDqw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaE2w:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaE2w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaEKw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaEKw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaeWg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaeWg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaezA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaezA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqafcg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqafcg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaFSg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaFSg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaFvQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaFvQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqag5w:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqag5w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaGEA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaGEA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqagHw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqagHw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaglg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaglg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaHCQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaHCQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqahRw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqahRw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqahsg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqahsg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaHYg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaHYg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaHzg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaHzg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaI5A:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaI5A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaIgg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaIgg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaIJQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaIJQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaiuQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaiuQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaJ4A:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaJ4A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqajcw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqajcw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqajGA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqajGA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqajzw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqajzw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqakpA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqakpA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaKrA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaKrA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaKRw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaKRw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqakSA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqakSA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaLgg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaLgg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaLHQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaLHQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqalrg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqalrg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaM1w:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaM1w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqam4Q:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqam4Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaMdA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaMdA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqamDw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqamDw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqamgA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqamgA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaNlQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaNlQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqanrg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqanrg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqanRw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqanRw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaO-A:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaO-A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaohw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaohw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaoIQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaoIQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaOiQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaOiQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaOKg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaOKg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaPUw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaPUw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaQfw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaQfw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaQKA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaQKA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaR1g:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaR1g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaRVA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaRVA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaSpA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaSpA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaSQA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaSQA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaTAQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaTAQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaTbA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaTbA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaTzQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaTzQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaUvQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaUvQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaV6g:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaV6g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaVJQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaVJQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaVlQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaVlQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaw2A:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaw2A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaWYA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaWYA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaX1g:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaX1g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaXdQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaXdQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaxmA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaxmA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaxNA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaxNA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaY8Q:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaY8Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqayBQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqayBQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaYig:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaYig","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaYMw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaYMw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaypQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaypQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaz8Q:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaz8Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqazgw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqazgw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqaZUQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqaZUQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLqRayA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLqRayA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLRZicg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLRZicg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLt3jgg:repository","source":"github:issue:I_kwDOPRF1G88AAAABLt3jgg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLutikA:repository","source":"github:issue:I_kwDOPRF1G88AAAABLutikA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLvLX-g:repository","source":"github:issue:I_kwDOPRF1G88AAAABLvLX-g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABLWw0mw:repository","source":"github:issue:I_kwDOPRF1G88AAAABLWw0mw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM0iSsg:repository","source":"github:issue:I_kwDOPRF1G88AAAABM0iSsg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1a7Aw:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1a7Aw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1absg:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1absg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1bT8g:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1bT8g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1bwkA:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1bwkA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1ctFQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1ctFQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1cX5A:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1cX5A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1ddPQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1ddPQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1dI1w:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1dI1w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1gBYQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1gBYQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1ioPw:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1ioPw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1iQPw:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1iQPw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1neZg:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1neZg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1niGw:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1niGw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1nphA:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1nphA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1nsvA:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1nsvA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1rC4g:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1rC4g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1SOEg:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1SOEg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1tS2A:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1tS2A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1tSaw:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1tSaw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1tSpw:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1tSpw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1tTFA:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1tTFA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1tTUA:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1tTUA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1u_xA:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1u_xA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1WDHw:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1WDHw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1X20w:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1X20w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1XNPg:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1XNPg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1YmVw:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1YmVw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1Z7Lg:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1Z7Lg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM1ZTPw:repository","source":"github:issue:I_kwDOPRF1G88AAAABM1ZTPw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM4Q5-A:repository","source":"github:issue:I_kwDOPRF1G88AAAABM4Q5-A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM4Q5vQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABM4Q5vQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM4Q6dg:repository","source":"github:issue:I_kwDOPRF1G88AAAABM4Q6dg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM4Q6KA:repository","source":"github:issue:I_kwDOPRF1G88AAAABM4Q6KA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM4Q6UA:repository","source":"github:issue:I_kwDOPRF1G88AAAABM4Q6UA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABM4Qxug:repository","source":"github:issue:I_kwDOPRF1G88AAAABM4Qxug","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMAW-Sw:repository","source":"github:issue:I_kwDOPRF1G88AAAABMAW-Sw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMC6BTQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABMC6BTQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMDDinw:repository","source":"github:issue:I_kwDOPRF1G88AAAABMDDinw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMDGUMw:repository","source":"github:issue:I_kwDOPRF1G88AAAABMDGUMw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMhpEvA:repository","source":"github:issue:I_kwDOPRF1G88AAAABMhpEvA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMjvNcw:repository","source":"github:issue:I_kwDOPRF1G88AAAABMjvNcw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMkCf-w:repository","source":"github:issue:I_kwDOPRF1G88AAAABMkCf-w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMn8yIA:repository","source":"github:issue:I_kwDOPRF1G88AAAABMn8yIA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMn9lKw:repository","source":"github:issue:I_kwDOPRF1G88AAAABMn9lKw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMOreFg:repository","source":"github:issue:I_kwDOPRF1G88AAAABMOreFg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMypmTA:repository","source":"github:issue:I_kwDOPRF1G88AAAABMypmTA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWaVA:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWaVA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWbaA:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWbaA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWctg:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWctg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWcVg:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWcVg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWdig:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWdig","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWdIQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWdIQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWe2g:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWe2g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWeXw:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWeXw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWfRw:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWfRw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWfvQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWfvQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWgjQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWgjQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWgMQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWgMQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWhxA:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWhxA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWhXg:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWhXg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWinQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWinQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWiNQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWiNQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWj3g:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWj3g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWjBw:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWjBw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWjeA:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWjeA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWktQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWktQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWkUA:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWkUA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWl8g:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWl8g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWn-Q:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWn-Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWnfQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWnfQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWnHQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWnHQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWXrw:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWXrw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWY_Q:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWY_Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABMZWZ7A:repository","source":"github:issue:I_kwDOPRF1G88AAAABMZWZ7A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABN1eatw:repository","source":"github:issue:I_kwDOPRF1G88AAAABN1eatw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABN2TfXA:repository","source":"github:issue:I_kwDOPRF1G88AAAABN2TfXA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABN2yZWw:repository","source":"github:issue:I_kwDOPRF1G88AAAABN2yZWw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABN4l92Q:repository","source":"github:issue:I_kwDOPRF1G88AAAABN4l92Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABN62qlA:repository","source":"github:issue:I_kwDOPRF1G88AAAABN62qlA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABN64jag:repository","source":"github:issue:I_kwDOPRF1G88AAAABN64jag","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABN6GszA:repository","source":"github:issue:I_kwDOPRF1G88AAAABN6GszA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABN6NtrQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABN6NtrQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABN6Ozzg:repository","source":"github:issue:I_kwDOPRF1G88AAAABN6Ozzg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNac4Qw:repository","source":"github:issue:I_kwDOPRF1G88AAAABNac4Qw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNacsVg:repository","source":"github:issue:I_kwDOPRF1G88AAAABNacsVg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNad9_w:repository","source":"github:issue:I_kwDOPRF1G88AAAABNad9_w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNadLow:repository","source":"github:issue:I_kwDOPRF1G88AAAABNadLow","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNaelJA:repository","source":"github:issue:I_kwDOPRF1G88AAAABNaelJA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNaetQQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABNaetQQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNbQCag:repository","source":"github:issue:I_kwDOPRF1G88AAAABNbQCag","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNH__0g:repository","source":"github:issue:I_kwDOPRF1G88AAAABNH__0g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNH92dQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABNH92dQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNIBeRg:repository","source":"github:issue:I_kwDOPRF1G88AAAABNIBeRg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNIfMhA:repository","source":"github:issue:I_kwDOPRF1G88AAAABNIfMhA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNIIuSw:repository","source":"github:issue:I_kwDOPRF1G88AAAABNIIuSw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNIl-8w:repository","source":"github:issue:I_kwDOPRF1G88AAAABNIl-8w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNINu3w:repository","source":"github:issue:I_kwDOPRF1G88AAAABNINu3w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNIUreQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABNIUreQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNjgjpQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABNjgjpQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNju92Q:repository","source":"github:issue:I_kwDOPRF1G88AAAABNju92Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNjxihw:repository","source":"github:issue:I_kwDOPRF1G88AAAABNjxihw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNlIYCg:repository","source":"github:issue:I_kwDOPRF1G88AAAABNlIYCg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNoQhVQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABNoQhVQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNta_0w:repository","source":"github:issue:I_kwDOPRF1G88AAAABNta_0w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNxJ5DA:repository","source":"github:issue:I_kwDOPRF1G88AAAABNxJ5DA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNxPhIg:repository","source":"github:issue:I_kwDOPRF1G88AAAABNxPhIg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNY72PQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABNY72PQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABNY7Hng:repository","source":"github:issue:I_kwDOPRF1G88AAAABNY7Hng","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABO4A3pQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABO4A3pQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABO4Z00w:repository","source":"github:issue:I_kwDOPRF1G88AAAABO4Z00w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABOBXfDQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABOBXfDQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABOkaEfQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABOkaEfQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABOPCKaQ:repository","source":"github:issue:I_kwDOPRF1G88AAAABOPCKaQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:issue:I_kwDOPRF1G88AAAABOYHmAw:repository","source":"github:issue:I_kwDOPRF1G88AAAABOYHmAw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:person:axl:alias:andrex-ibiza","source":"person:axl","target":"identity-alias:andrex-ibiza","kind":"has-alias"},{"id":"edge:person:axl:alias:axl-ibiza","source":"person:axl","target":"identity-alias:axl-ibiza","kind":"has-alias"},{"id":"edge:person:axl:decomposition-campaign","source":"person:axl","target":"contribution:decomposition-campaign","kind":"made-contribution"},{"id":"edge:person:axl:experience:hermes-contributor","source":"person:axl","target":"experience:hermes-contributor","kind":"holds-role"},{"id":"edge:person:axl:graph-gated-paper","source":"person:axl","target":"contribution:graph-gated-paper","kind":"made-contribution"},{"id":"edge:person:axl:hermes-pr-90198","source":"person:axl","target":"contribution:hermes-pr-90198","kind":"made-contribution"},{"id":"edge:person:axl:interlock-campaign","source":"person:axl","target":"contribution:interlock-campaign","kind":"made-contribution"},{"id":"edge:person:axl:profile:github","source":"person:axl","target":"public-profile:github","kind":"has-external-profile"},{"id":"edge:person:axl:profile:linkedin","source":"person:axl","target":"public-profile:linkedin","kind":"has-external-profile"},{"id":"edge:person:axl:profile:x","source":"person:axl","target":"public-profile:x","kind":"has-external-profile"},{"id":"edge:person:axl:role:ai-agent-systems-engineer","source":"person:axl","target":"role:ai-agent-systems-engineer","kind":"targets-role"},{"id":"edge:person:axl:role:developer-experience-engineer-ai","source":"person:axl","target":"role:developer-experience-engineer-ai","kind":"targets-role"},{"id":"edge:person:axl:role:multi-agent-systems-engineer","source":"person:axl","target":"role:multi-agent-systems-engineer","kind":"targets-role"},{"id":"edge:person:axl:skill:agent-security","source":"person:axl","target":"skill:agent-security","kind":"demonstrates"},{"id":"edge:person:axl:skill:astro-web-frontend","source":"person:axl","target":"skill:astro-web-frontend","kind":"demonstrates"},{"id":"edge:person:axl:skill:ci-cd-automation","source":"person:axl","target":"skill:ci-cd-automation","kind":"demonstrates"},{"id":"edge:person:axl:skill:cloudflare-edge-deployment","source":"person:axl","target":"skill:cloudflare-edge-deployment","kind":"demonstrates"},{"id":"edge:person:axl:skill:data-analysis","source":"person:axl","target":"skill:data-analysis","kind":"demonstrates"},{"id":"edge:person:axl:skill:developer-tooling","source":"person:axl","target":"skill:developer-tooling","kind":"demonstrates"},{"id":"edge:person:axl:skill:github-api-graphql","source":"person:axl","target":"skill:github-api-graphql","kind":"demonstrates"},{"id":"edge:person:axl:skill:graph-gated-refactoring","source":"person:axl","target":"skill:graph-gated-refactoring","kind":"demonstrates"},{"id":"edge:person:axl:skill:inferential-architecture","source":"person:axl","target":"skill:inferential-architecture","kind":"demonstrates"},{"id":"edge:person:axl:skill:kanban-swarm-execution","source":"person:axl","target":"skill:kanban-swarm-execution","kind":"demonstrates"},{"id":"edge:person:axl:skill:knowledge-graph-modeling","source":"person:axl","target":"skill:knowledge-graph-modeling","kind":"demonstrates"},{"id":"edge:person:axl:skill:memory-context-systems","source":"person:axl","target":"skill:memory-context-systems","kind":"demonstrates"},{"id":"edge:person:axl:skill:multi-agent-orchestration","source":"person:axl","target":"skill:multi-agent-orchestration","kind":"demonstrates"},{"id":"edge:person:axl:skill:plugin-architecture","source":"person:axl","target":"skill:plugin-architecture","kind":"demonstrates"},{"id":"edge:person:axl:skill:python","source":"person:axl","target":"skill:python","kind":"demonstrates"},{"id":"edge:person:axl:skill:refusal-algebra","source":"person:axl","target":"skill:refusal-algebra","kind":"demonstrates"},{"id":"edge:person:axl:skill:typescript","source":"person:axl","target":"skill:typescript","kind":"demonstrates"},{"id":"edge:person:axl:skill:verification-engineering","source":"person:axl","target":"skill:verification-engineering","kind":"demonstrates"},{"id":"edge:person:axl:skill:webhook-automation","source":"person:axl","target":"skill:webhook-automation","kind":"demonstrates"},{"id":"edge:person:axl:skill:windows-desktop-integration","source":"person:axl","target":"skill:windows-desktop-integration","kind":"demonstrates"},{"id":"edge:person:I_kwDOPRF1G88AAAABL3TMVQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABL3TMVQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABL7aDgg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABL7aDgg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLbij0Q:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLbij0Q","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLbiO8Q:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLbiO8Q","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLbiPtQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLbiPtQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLbNbqw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLbNbqw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLbNq3w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLbNq3w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLc7HXA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLc7HXA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcPewA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcPewA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcPfhA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcPfhA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcPgPQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcPgPQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcPh7Q:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcPh7Q","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcPhJw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcPhJw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcPisA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcPisA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcPjMQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcPjMQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcPjwg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcPjwg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcPl6g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcPl6g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcPlOw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcPlOw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcPmfw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcPmfw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcPnaw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcPnaw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcPopQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcPopQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcPpVg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcPpVg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcPqlg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcPqlg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcPrVQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcPrVQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcPsGQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcPsGQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcPswA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcPswA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcQAOQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcQAOQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcv_fQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcv_fQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcv-Ng:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcv-Ng","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcv-xg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcv-xg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcv0_g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcv0_g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcv0aw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcv0aw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcv1nw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcv1nw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcv29g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcv29g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcv2Sw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcv2Sw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcv3jg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcv3jg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcv45Q:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcv45Q","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcv4Ow:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcv4Ow","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcv5yg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcv5yg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcv6hg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcv6hg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcv7RA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcv7RA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcv87A:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcv87A","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcv8Cw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcv8Cw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcv9nw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcv9nw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvaog:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvaog","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvb5w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvb5w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvbSg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvbSg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvciA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvciA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvdAA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvdAA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvdqA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvdqA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcve6w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcve6w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvePw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvePw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvfgQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvfgQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvgPA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvgPA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvhTQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvhTQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvi2g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvi2g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcviEQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcviEQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvjmA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvjmA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvkOA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvkOA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvksQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvksQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvl0w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvl0w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvlQA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvlQA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvSUw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvSUw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvTDw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvTDw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvTjw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvTjw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvu2g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvu2g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvU7w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvU7w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvUPA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvUPA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvVhQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvVhQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvw7A:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvw7A","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvwCg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvwCg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvWJA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvWJA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvWtg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvWtg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvXdA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvXdA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvxmw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvxmw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvYCg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvYCg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvYuQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvYuQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvyvA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvyvA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvZhw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvZhw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcvzwA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcvzwA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwa3A:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwa3A","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwAJA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwAJA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwB8Q:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwB8Q","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwBFg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwBFg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwbqg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwbqg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwcaA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwcaA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwCoA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwCoA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwdOA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwdOA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwDXA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwDXA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwe6Q:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwe6Q","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcweDg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcweDg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwEJw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwEJw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwFIw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwFIw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwflA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwflA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwFwQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwFwQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwGcQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwGcQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwgUQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwgUQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwH0w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwH0w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwh9g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwh9g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwhIg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwhIg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwHMg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwHMg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwi3g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwi3g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwIpA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwIpA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwJVQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwJVQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwK5g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwK5g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwKIg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwKIg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwLgw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwLgw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwM6w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwM6w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwMPw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwMPw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwNig:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwNig","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwO9Q:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwO9Q","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwOWg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwOWg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwPqw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwPqw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwQVA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwQVA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwR6w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwR6w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwRFA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwRFA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwSiw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwSiw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwTPg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwTPg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwU4w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwU4w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwULQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwULQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwVkA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwVkA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwWhg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwWhg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwXXw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwXXw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwYIg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwYIg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwYvA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwYvA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcwZdg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcwZdg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcxGqA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcxGqA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcxHcg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcxHcg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLcxNog:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLcxNog","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLeYCYg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLeYCYg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLeYKpA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLeYKpA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLl-WbA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLl-WbA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLLtj7A:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLLtj7A","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLLtlng:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLLtlng","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLLtlPA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLLtlPA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLLYbfA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLLYbfA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLLYjBA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLLYjBA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLLYnyg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLLYnyg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLMGRHg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLMGRHg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLmpF6g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLmpF6g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLMUCJQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLMUCJQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7a0g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7a0g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7aXw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7aXw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7b5g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7b5g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7bXA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7bXA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7dIQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7dIQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7doA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7doA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7eFA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7eFA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7epg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7epg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7fKg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7fKg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7fpA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7fpA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7gJQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7gJQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7gpA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7gpA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7SMQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7SMQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7SsA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7SsA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7Tdg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7Tdg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7UmA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7UmA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7VIQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7VIQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7Vog:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7Vog","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7WIg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7WIg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7WsQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7WsQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7XNQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7XNQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7XzA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7XzA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7YUg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7YUg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7Yww:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7Yww","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7Z2g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7Z2g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLN7ZVw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLN7ZVw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLpCILw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLpCILw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9ahw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9ahw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9AWg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9AWg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9AzQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9AzQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9b8Q:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9b8Q","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9bBA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9bBA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9bhA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9bhA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9BQA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9BQA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9BuA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9BuA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9CSg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9CSg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9Cyg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9Cyg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9cZw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9cZw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9D-Q:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9D-Q","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9Ddg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9Ddg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9dVw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9dVw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9dyw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9dyw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9EjA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9EjA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9emw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9emw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9ePQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9ePQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9F9g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9F9g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9fbg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9fbg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9fBw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9fBw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9FDg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9FDg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9FhQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9FhQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9Geg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9Geg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9HDg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9HDg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9HnQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9HnQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9INw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9INw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9Itg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9Itg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9j8Q:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9j8Q","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9JUg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9JUg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9JyA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9JyA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9KSg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9KSg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9Kyg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9Kyg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9L0A:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9L0A","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9LRA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9LRA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9MQQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9MQQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9MxA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9MxA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9N6Q:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9N6Q","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9NcA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9NcA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9O4A:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9O4A","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9OZw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9OZw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9PUw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9PUw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9QAQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9QAQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9QbQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9QbQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9RDQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9RDQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9RtQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9RtQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9SMQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9SMQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9SsA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9SsA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9TLw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9TLw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9TqA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9TqA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9U1Q:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9U1Q","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9UKA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9UKA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9VRg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9VRg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9VwA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9VwA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9WqA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9WqA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9WTg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9WTg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9XHQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9XHQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9Xog:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9Xog","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9Y9A:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9Y9A","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9YDQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9YDQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9Ydw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9Ydw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLq9Z8w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLq9Z8w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqa0Vg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqa0Vg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqa0xw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqa0xw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqa1MA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqa1MA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqa1wQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqa1wQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqa2iA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqa2iA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqa39w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqa39w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqa3Hw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqa3Hw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqa3jQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqa3jQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqa4ZQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqa4ZQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqa51A:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqa51A","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqa5XQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqa5XQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaAnQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaAnQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaaoQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaaoQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaaQg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaaQg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqab0w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqab0w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaB2w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaB2w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaBBg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaBBg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaBeg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaBeg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqabeQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqabeQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqabGw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqabGw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaCMQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaCMQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqacMw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqacMw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaCqg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaCqg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqacxQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqacxQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqad4Q:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqad4Q","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqadjA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqadjA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaDqw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaDqw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaE2w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaE2w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaEKw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaEKw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaeWg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaeWg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaezA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaezA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqafcg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqafcg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaFSg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaFSg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaFvQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaFvQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqag5w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqag5w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaGEA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaGEA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqagHw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqagHw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaglg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaglg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaHCQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaHCQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqahRw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqahRw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqahsg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqahsg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaHYg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaHYg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaHzg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaHzg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaI5A:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaI5A","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaIgg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaIgg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaIJQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaIJQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaiuQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaiuQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaJ4A:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaJ4A","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqajcw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqajcw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqajGA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqajGA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqajzw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqajzw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqakpA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqakpA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaKrA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaKrA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaKRw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaKRw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqakSA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqakSA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaLgg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaLgg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaLHQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaLHQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqalrg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqalrg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaM1w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaM1w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqam4Q:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqam4Q","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaMdA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaMdA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqamDw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqamDw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqamgA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqamgA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaNlQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaNlQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqanrg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqanrg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqanRw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqanRw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaO-A:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaO-A","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaohw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaohw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaoIQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaoIQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaOiQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaOiQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaOKg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaOKg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaPUw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaPUw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaQfw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaQfw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaQKA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaQKA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaR1g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaR1g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaRVA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaRVA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaSpA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaSpA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaSQA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaSQA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaTAQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaTAQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaTbA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaTbA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaTzQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaTzQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaUvQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaUvQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaV6g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaV6g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaVJQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaVJQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaVlQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaVlQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaw2A:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaw2A","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaWYA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaWYA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaX1g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaX1g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaXdQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaXdQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaxmA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaxmA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaxNA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaxNA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaY8Q:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaY8Q","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqayBQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqayBQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaYig:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaYig","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaYMw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaYMw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaypQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaypQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaz8Q:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaz8Q","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqazgw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqazgw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqaZUQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqaZUQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLqRayA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLqRayA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLRZicg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLRZicg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLt3jgg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLt3jgg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLutikA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLutikA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLvLX-g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLvLX-g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABLWw0mw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABLWw0mw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM0iSsg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM0iSsg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1a7Aw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1a7Aw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1absg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1absg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1bT8g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1bT8g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1bwkA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1bwkA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1ctFQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1ctFQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1cX5A:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1cX5A","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1ddPQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1ddPQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1dI1w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1dI1w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1gBYQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1gBYQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1ioPw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1ioPw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1iQPw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1iQPw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1neZg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1neZg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1niGw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1niGw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1nphA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1nphA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1nsvA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1nsvA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1rC4g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1rC4g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1SOEg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1SOEg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1tS2A:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1tS2A","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1tSaw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1tSaw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1tSpw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1tSpw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1tTFA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1tTFA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1tTUA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1tTUA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1u_xA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1u_xA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1WDHw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1WDHw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1X20w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1X20w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1XNPg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1XNPg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1YmVw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1YmVw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1Z7Lg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1Z7Lg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM1ZTPw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM1ZTPw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM4Q5-A:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM4Q5-A","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM4Q5vQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM4Q5vQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM4Q6dg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM4Q6dg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM4Q6KA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM4Q6KA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM4Q6UA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM4Q6UA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABM4Qxug:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABM4Qxug","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMAW-Sw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMAW-Sw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMC6BTQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMC6BTQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMDDinw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMDDinw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMDGUMw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMDGUMw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMhpEvA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMhpEvA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMjvNcw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMjvNcw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMkCf-w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMkCf-w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMn8yIA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMn8yIA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMn9lKw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMn9lKw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMOreFg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMOreFg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMypmTA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMypmTA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWaVA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWaVA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWbaA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWbaA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWctg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWctg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWcVg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWcVg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWdig:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWdig","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWdIQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWdIQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWe2g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWe2g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWeXw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWeXw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWfRw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWfRw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWfvQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWfvQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWgjQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWgjQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWgMQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWgMQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWhxA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWhxA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWhXg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWhXg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWinQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWinQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWiNQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWiNQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWj3g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWj3g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWjBw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWjBw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWjeA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWjeA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWktQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWktQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWkUA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWkUA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWl8g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWl8g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWn-Q:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWn-Q","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWnfQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWnfQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWnHQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWnHQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWXrw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWXrw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWY_Q:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWY_Q","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABMZWZ7A:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABMZWZ7A","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABN1eatw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABN1eatw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABN2TfXA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABN2TfXA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABN2yZWw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABN2yZWw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABN4l92Q:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABN4l92Q","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABN62qlA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABN62qlA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABN64jag:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABN64jag","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABN6GszA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABN6GszA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABN6NtrQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABN6NtrQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABN6Ozzg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABN6Ozzg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNac4Qw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNac4Qw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNacsVg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNacsVg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNad9_w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNad9_w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNadLow:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNadLow","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNaelJA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNaelJA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNaetQQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNaetQQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNbQCag:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNbQCag","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNH__0g:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNH__0g","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNH92dQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNH92dQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNIBeRg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNIBeRg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNIfMhA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNIfMhA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNIIuSw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNIIuSw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNIl-8w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNIl-8w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNINu3w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNINu3w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNIUreQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNIUreQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNjgjpQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNjgjpQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNju92Q:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNju92Q","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNjxihw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNjxihw","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNlIYCg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNlIYCg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNoQhVQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNoQhVQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNta_0w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNta_0w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNxJ5DA:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNxJ5DA","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNxPhIg:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNxPhIg","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNY72PQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNY72PQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABNY7Hng:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABNY7Hng","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABO4A3pQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABO4A3pQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABO4Z00w:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABO4Z00w","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABOBXfDQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABOBXfDQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABOkaEfQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABOkaEfQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABOPCKaQ:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABOPCKaQ","kind":"authored"},{"id":"edge:person:I_kwDOPRF1G88AAAABOYHmAw:work","source":"person:axl","target":"github:issue:I_kwDOPRF1G88AAAABOYHmAw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_dTkF:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_dTkF","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_dvSU:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_dvSU","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_e4rg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_e4rg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_eLc1:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_eLc1","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_fCMa:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_fCMa","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_fDF7:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_fDF7","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_fSA7:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_fSA7","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_fu6s:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_fu6s","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_gBIA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_gBIA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_L1eM:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_L1eM","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_SHaS:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_SHaS","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_TBbu:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_TBbu","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_TbCh:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_TbCh","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_U-zu:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_U-zu","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_U0nR:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_U0nR","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_U4I-:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_U4I-","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_U6MW:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_U6MW","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_U8yZ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_U8yZ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_Unsh:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_Unsh","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_VAwc:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_VAwc","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_VcM3:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_VcM3","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_VCZl:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_VCZl","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_VEDn:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_VEDn","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_VejW:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_VejW","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_VFPs:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_VFPs","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_VGul:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_VGul","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_VIwx:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_VIwx","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_VJ1O:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_VJ1O","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_VLOq:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_VLOq","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_VMQQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_VMQQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_Vt-e:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_Vt-e","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_Vt0_:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_Vt0_","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_VtWh:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_VtWh","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_VuO9:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_VuO9","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_VVHp:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_VVHp","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_WA4l:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_WA4l","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_WA91:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_WA91","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_WAsP:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_WAsP","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_WAxJ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_WAxJ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_WBDS:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_WBDS","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_WBH4:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_WBH4","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87_WGj5:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87_WGj5","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-0_mO:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-0_mO","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-1Bxh:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-1Bxh","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-ARIr:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-ARIr","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-GVCV:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-GVCV","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-JEX2:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-JEX2","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-LdHL:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-LdHL","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-m3dB:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-m3dB","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-oae7:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-oae7","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-pUV_:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-pUV_","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-SUgL:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-SUgL","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-Tb8a:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-Tb8a","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-TFCH:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-TFCH","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-vWPI:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-vWPI","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-W8UB:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-W8UB","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-WOfI:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-WOfI","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-XWYt:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-XWYt","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-Y9qy:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-Y9qy","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-YEY4:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-YEY4","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-yyWR:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-yyWR","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-z1Zu:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-z1Zu","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-z5gb:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-z5gb","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-z9_l:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-z9_l","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-zdEv:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-zdEv","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-zjA7:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-zjA7","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-zPrr:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-zPrr","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-zV8b:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-zV8b","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87-zZdl:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87-zZdl","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G871Q4cK:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G871Q4cK","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8751_Kn:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8751_Kn","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87511rp:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87511rp","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G875188B:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G875188B","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8751hJn:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8751hJn","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8751iem:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8751iem","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8751NaI:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8751NaI","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8751VC_:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8751VC_","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8751wF9:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8751wF9","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87522uK:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87522uK","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8752APe:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8752APe","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8752BQT:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8752BQT","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8752DI-:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8752DI-","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8752GVz:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8752GVz","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8752IFd:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8752IFd","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8752WPp:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8752WPp","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8753-GU:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8753-GU","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G875332J:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G875332J","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8753dTc:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8753dTc","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8753NeB:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8753NeB","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87541ik:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87541ik","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87546NA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87546NA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8754D_9:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8754D_9","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8754pwH:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8754pwH","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8754Qj9:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8754Qj9","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8755yc7:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8755yc7","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8755z58:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8755z58","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8756EGr:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8756EGr","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8756tBv:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8756tBv","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8756vYq:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8756vYq","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8757MTx:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8757MTx","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G875sld3:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G875sld3","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G875tcD1:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G875tcD1","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G875tf4Y:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G875tf4Y","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G875toHl:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G875toHl","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G875tptu:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G875tptu","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G875tVQ3:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G875tVQ3","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G875twHT:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G875twHT","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G875tZHi:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G875tZHi","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G875vW41:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G875vW41","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G875wwNd:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G875wwNd","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G875xaZH:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G875xaZH","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G875xC4p:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G875xC4p","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G875xKPh:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G875xKPh","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G875xmGP:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G875xmGP","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G875xMZk:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G875xMZk","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G875xNCq:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G875xNCq","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G875xVyJ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G875xVyJ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G875zpay:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G875zpay","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G875zQov:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G875zQov","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8761xPG:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8761xPG","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8764Uap:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8764Uap","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8764Vao:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8764Vao","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8764Vc_:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8764Vc_","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8764VMr:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8764VMr","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8764VOG:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8764VOG","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8766hfE:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8766hfE","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8766hhU:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8766hhU","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8766hjw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8766hjw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8766hmG:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8766hmG","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8766ho3:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8766ho3","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8766hrN:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8766hrN","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8766huA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8766huA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876A-nu:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876A-nu","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876A8n2:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876A8n2","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876BAbb:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876BAbb","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876BADt:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876BADt","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876BER-:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876BER-","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876BKmw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876BKmw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876BLgg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876BLgg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876Bm1k:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876Bm1k","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876Bofx:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876Bofx","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876BoYF:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876BoYF","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876Bp_4:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876Bp_4","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876BxYE:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876BxYE","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876BZm7:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876BZm7","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876C2it:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876C2it","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876CbI4:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876CbI4","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876CGVl:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876CGVl","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876CgyQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876CgyQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876CIhQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876CIhQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876CKas:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876CKas","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876CKDb:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876CKDb","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876CnRy:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876CnRy","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876CPdv:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876CPdv","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876CQna:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876CQna","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876CWRy:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876CWRy","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876CXmW:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876CXmW","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876FpAq:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876FpAq","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876J_tj:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876J_tj","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876J5s5:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876J5s5","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876J85w:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876J85w","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876m9cd:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876m9cd","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876mm98:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876mm98","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876QB3n:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876QB3n","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876QHD8:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876QHD8","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876qRwr:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876qRwr","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876qSmC:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876qSmC","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876sOTL:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876sOTL","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876UWFf:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876UWFf","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876uwpt:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876uwpt","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876Vs7s:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876Vs7s","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876W9_D:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876W9_D","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876wi02:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876wi02","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876wi4B:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876wi4B","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876wi7V:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876wi7V","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876wivL:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876wivL","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876Wu30:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876Wu30","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876X7g4:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876X7g4","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876XEvB:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876XEvB","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876Xm01:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876Xm01","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876XMov:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876XMov","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876yR6u:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876yR6u","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G876zH3Y:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G876zH3Y","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8770Bn2:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8770Bn2","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877AC2B:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877AC2B","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877AC4q:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877AC4q","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877ACrH:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877ACrH","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877ACuT:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877ACuT","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877ACyY:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877ACyY","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877brLX:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877brLX","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877brOM:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877brOM","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877cUBW:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877cUBW","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877cUEK:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877cUEK","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877dZc9:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877dZc9","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877dZfK:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877dZfK","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877dZYX:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877dZYX","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877Eu4G:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877Eu4G","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877Eu8T:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877Eu8T","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877Euv-:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877Euv-","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877EvAW:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877EvAW","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877FQ5g:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877FQ5g","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877FQi2:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877FQi2","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877FQtI:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877FQtI","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877FRFG:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877FRFG","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877FRQn:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877FRQn","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877jt5r:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877jt5r","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877kdQP:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877kdQP","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877M0ex:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877M0ex","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877M0K3:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877M0K3","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877M0zk:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877M0zk","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877M2vg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877M2vg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877Mz5-:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877Mz5-","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877ndrQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877ndrQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877nzge:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877nzge","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877nzqs:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877nzqs","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877nzvU:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877nzvU","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877ok8o:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877ok8o","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877Om0h:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877Om0h","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877OmAc:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877OmAc","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877OmkH:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877OmkH","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877OmTc:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877OmTc","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877OnGD:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877OnGD","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877Pa8X:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877Pa8X","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877Pau0:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877Pau0","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877PbfL:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877PbfL","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877PbPj:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877PbPj","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877PBQZ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877PBQZ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877Pbt9:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877Pbt9","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877qc6c:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877qc6c","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877qIqT:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877qIqT","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877qrrh:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877qrrh","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877ScKK:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877ScKK","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877Sddj:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877Sddj","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877Sdgg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877Sdgg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877Sdja:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877Sdja","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877Sdl_:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877Sdl_","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877SONB:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877SONB","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877SOQT:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877SOQT","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877SOSt:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877SOSt","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877SOVw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877SOVw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877SOYd:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877SOYd","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877ST4G:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877ST4G","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877STkw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877STkw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877SUaS:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877SUaS","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877SUJy:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877SUJy","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877SUqp:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877SUqp","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877Trch:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877Trch","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877Ttc6:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877Ttc6","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877Ttmy:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877Ttmy","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877TtTo:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877TtTo","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877TtWZ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877TtWZ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877Ty-k:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877Ty-k","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877Ty6w:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877Ty6w","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877TzBI:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877TzBI","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877u5NR:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877u5NR","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877u5Pa:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877u5Pa","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877u5Rc:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877u5Rc","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877u5UF:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877u5UF","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877u5WP:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877u5WP","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877Vd-1:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877Vd-1","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877Vd73:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877Vd73","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877Vd9N:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877Vd9N","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877VeCQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877VeCQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877VeDm:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877VeDm","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877VeNn:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877VeNn","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877vR4K:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877vR4K","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877WXr4:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877WXr4","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877y_Z8:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877y_Z8","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877y7Ws:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877y7Ws","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877ycHI:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877ycHI","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877YFJW:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877YFJW","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877YFLh:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877YFLh","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877YFNR:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877YFNR","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877YFOu:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877YFOu","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877YFTr:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877YFTr","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877yL1u:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877yL1u","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877yp7W:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877yp7W","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877yqhr:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877yqhr","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877yWIV:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877yWIV","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877z6MI:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877z6MI","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877ZtDY:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877ZtDY","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877ZtH5:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877ZtH5","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877ZtJ_:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877ZtJ_","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877ZtLx:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877ZtLx","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877ZtNi:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877ZtNi","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G877ZtSb:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G877ZtSb","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G878EVNl:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G878EVNl","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G878IHJv:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G878IHJv","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G878KdY1:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G878KdY1","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G878o1GG:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G878o1GG","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G878rfwS:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G878rfwS","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G878rY_6:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G878rY_6","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G878srKw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G878srKw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8790BvS:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8790BvS","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8792X_d:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8792X_d","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879393H:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879393H","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G8795D70:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G8795D70","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879dRoc:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879dRoc","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879evvq:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879evvq","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879ikkp:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879ikkp","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879ot8n:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879ot8n","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879qGim:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879qGim","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879RaDM:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879RaDM","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879Rq28:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879Rq28","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879Rq4u:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879Rq4u","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879SAsu:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879SAsu","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879SNJX:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879SNJX","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879sXuR:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879sXuR","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879T0uD:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879T0uD","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879V1Gm:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879V1Gm","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879V2Bc:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879V2Bc","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879V5N8:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879V5N8","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879Vnp9:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879Vnp9","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879WC4B:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879WC4B","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879WDcl:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879WDcl","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879WHeJ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879WHeJ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879WKg7:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879WKg7","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879xgZZ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879xgZZ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879Zglr:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879Zglr","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879Zpvw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879Zpvw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879ZTcA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879ZTcA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879ZWJY:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879ZWJY","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879ZxBA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879ZxBA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G879ZZpF:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G879ZZpF","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87u1EB-:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87u1EB-","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G87u3fhQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G87u3fhQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABA05A4Q:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABA05A4Q","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABA05hEg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABA05hEg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABA1q3EQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABA1q3EQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABA76OWw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABA76OWw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAc-FnA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAc-FnA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAcBl5g:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAcBl5g","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAcOh7g:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAcOh7g","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAcpVFA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAcpVFA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAcXnfg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAcXnfg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAd_eWw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAd_eWw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAd9ajw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAd9ajw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABADC_5Q:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABADC_5Q","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAdcbMA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAdcbMA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAdhHaw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAdhHaw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAdxPlA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAdxPlA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAE1X4g:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAE1X4g","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAE5vrA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAE5vrA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAE93Cg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAE93Cg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAeRRvw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAeRRvw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAEygHQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAEygHQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAF5yAg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAF5yAg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAFbfmQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAFbfmQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAFBhUA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAFBhUA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAFdS2A:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAFdS2A","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAFInRw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAFInRw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAfKQ3Q:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAfKQ3Q","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAfL82w:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAfL82w","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAfLCmQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAfLCmQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAFMOOQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAFMOOQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAfNIiA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAfNIiA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAFPZlw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAFPZlw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAFTYbw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAFTYbw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAFxqgA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAFxqgA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAgbOjg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAgbOjg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAgi0vg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAgi0vg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAj1i0Q:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAj1i0Q","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAj2AFw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAj2AFw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAKeLXw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAKeLXw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAlbV-w:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAlbV-w","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAlN78A:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAlN78A","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAlQ3zg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAlQ3zg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAlwJ2Q:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAlwJ2Q","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAm_4vw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAm_4vw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAmiluA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAmiluA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAmKShQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAmKShQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAMrNkQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAMrNkQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAn2Cdw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAn2Cdw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAnAOCQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAnAOCQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAnCSyg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAnCSyg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAnDxag:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAnDxag","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAnFRuA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAnFRuA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAnGb5g:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAnGb5g","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABANW6LA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABANW6LA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAq--Gw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAq--Gw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAq2_Hw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAq2_Hw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAS4neg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAS4neg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAs7vug:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAs7vug","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAsyYGw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAsyYGw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAtEGzA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAtEGzA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAtq6yg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAtq6yg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAUkf0g:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAUkf0g","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAukPfg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAukPfg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAurbag:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAurbag","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAuVOag:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAuVOag","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAuzhGg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAuzhGg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAV3RaA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAV3RaA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAV6ikg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAV6ikg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAVcrzA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAVcrzA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAVFn9w:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAVFn9w","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAVtQ8w:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAVtQ8w","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAVV-Uw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAVV-Uw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAVVbEw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAVVbEw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAWAMzw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAWAMzw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABAzufwA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABAzufwA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBAb8AQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBAb8AQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBdsNvA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBdsNvA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBF_iCA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBF_iCA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBF_nKQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBF_nKQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBf0tSg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBf0tSg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBF5QEw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBF5QEw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBF5VOw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBF5VOw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBF5Zrw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBF5Zrw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBFt-Og:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBFt-Og","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBFuFNQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBFuFNQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBFuKOg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBFuKOg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBFuOEQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBFuOEQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBg955g:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBg955g","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBGefKw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBGefKw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBGHXHQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBGHXHQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBGj6QQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBGj6QQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBGOeWQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBGOeWQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBhbyQA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBhbyQA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBhc9Sg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBhc9Sg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBhWqWA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBhWqWA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBHXIFg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBHXIFg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBHYCoQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBHYCoQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBnwaOA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBnwaOA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBRTLvQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBRTLvQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBV0AGg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBV0AGg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBVb7qA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBVb7qA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBVEfug:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBVEfug","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBVfPuw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBVfPuw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBViKZw:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBViKZw","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBVkf3w:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBVkf3w","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBVOnAQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBVOnAQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBVp6pA:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBVp6pA","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBVV7Yg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBVV7Yg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBWFpZg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBWFpZg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBWT5sQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBWT5sQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBWT8zQ:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBWT8zQ","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBWUAAg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBWUAAg","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBWUC1g:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBWUC1g","kind":"authored"},{"id":"edge:person:PR_kwDOPRF1G88AAAABBXcVMg:work","source":"person:axl","target":"github:pull-request:PR_kwDOPRF1G88AAAABBXcVMg","kind":"authored"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABIHSRLQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABIHSRLQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABIIs6Sg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABIIs6Sg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJ-Kc1g:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJ-Kc1g","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJ-sxCw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJ-sxCw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJ15IPg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJ15IPg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJ1bP2g:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJ1bP2g","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJ20Ocg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJ20Ocg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJ26WzQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJ26WzQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJ2lAwg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJ2lAwg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJ2nKWA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJ2nKWA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJ2v2qg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJ2v2qg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJ2v3hA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJ2v3hA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJ2vBgg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJ2vBgg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJ2vIdg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJ2vIdg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJ2ZMPg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJ2ZMPg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJ66unA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJ66unA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJ69WfA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJ69WfA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJ78I8Q:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJ78I8Q","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJ80-MQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJ80-MQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJ9nR8A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJ9nR8A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJGhSiw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJGhSiw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJJtMRw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJJtMRw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJlsDyQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJlsDyQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJW-r2w:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJW-r2w","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJx5n7g:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJx5n7g","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJx8xng:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJx8xng","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJXLDow:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJXLDow","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABJyPzmA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABJyPzmA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK_tNEw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK_tNEw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK_UDZQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK_UDZQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK_VYPQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK_VYPQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK-0Big:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK-0Big","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK-jMnA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK-jMnA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK-OK_A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK-OK_A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK-s9RQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK-s9RQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK-WaXQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK-WaXQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK0Bmvw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK0Bmvw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK0FXmg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK0FXmg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK2BK8g:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK2BK8g","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK32y-w:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK32y-w","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK33mHg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK33mHg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK34xaQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK34xaQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK34zAA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK34zAA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK3P4_A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK3P4_A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK3PDtg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK3PDtg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK3QMMQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK3QMMQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK3rSSQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK3rSSQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK3vPuw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK3vPuw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK3whSQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK3whSQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK47JfQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK47JfQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK4ct3Q:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK4ct3Q","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK4ppqA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK4ppqA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK4xv-A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK4xv-A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK5bstA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK5bstA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK5vXdw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK5vXdw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK6AO0w:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK6AO0w","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK6phSQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK6phSQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK6RT4w:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK6RT4w","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK7CAiw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK7CAiw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK8_kjg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK8_kjg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK8SQeQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK8SQeQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK8ZLvA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK8ZLvA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK9jo4g:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK9jo4g","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABK9LdKg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABK9LdKg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKaFe6A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKaFe6A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKaghBQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKaghBQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKamBbQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKamBbQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKaodZg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKaodZg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKAsY3w:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKAsY3w","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKb-r9g:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKb-r9g","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKB3PSQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKB3PSQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKB62Rg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKB62Rg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKB64MQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKB64MQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKB6R0A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKB6R0A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKB8Wow:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKB8Wow","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKbCdXA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKbCdXA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKbfHlQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKbfHlQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKBg9zg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKBg9zg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKBiAvw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKBiAvw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKbpD_g:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKbpD_g","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKbpF6g:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKbpF6g","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKbuL-w:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKbuL-w","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKbwR5A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKbwR5A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKbyL6Q:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKbyL6Q","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKbzg3Q:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKbzg3Q","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKc-Mog:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKc-Mog","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKcIg2Q:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKcIg2Q","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKciZ1A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKciZ1A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKCpuxA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKCpuxA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKCQQOg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKCQQOg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKCU9mg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKCU9mg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKd0uLQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKd0uLQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKDAhKg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKDAhKg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKDgzeg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKDgzeg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKdYlBQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKdYlBQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKE_oFA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKE_oFA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKe2eZw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKe2eZw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKedI4Q:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKedI4Q","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKeKScA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKeKScA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKerbMw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKerbMw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKesogA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKesogA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKeudUQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKeudUQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKf7zYw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKf7zYw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKfac0A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKfac0A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKFd1Xg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKFd1Xg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKFFnvA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKFFnvA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKfKu8g:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKfKu8g","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKfopBA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKfopBA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKfoQNw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKfoQNw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKfQg4A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKfQg4A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKFUXwQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKFUXwQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKFXHaw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKFXHaw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKfy4rg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKfy4rg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKG02yA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKG02yA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKg5PMA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKg5PMA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKg84-w:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKg84-w","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKg84dA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKg84dA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKgb13Q:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKgb13Q","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKgKaiQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKgKaiQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKglFNg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKglFNg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKgp5Cg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKgp5Cg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKgQ7Uw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKgQ7Uw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKGuJlQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKGuJlQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKgVYbw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKgVYbw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKgW1EA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKgW1EA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKh4Vjg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKh4Vjg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKh6jqA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKh6jqA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKh8vSg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKh8vSg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKh998Q:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKh998Q","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKhD6zw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKhD6zw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKHECeA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKHECeA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKHGlQg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKHGlQg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKhhpaw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKhhpaw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKhoc4A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKhoc4A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKhonrQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKhonrQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKhQHIg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKhQHIg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKHrn-A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKHrn-A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKhsj-A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKhsj-A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKhTsPw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKhTsPw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKhvidA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKhvidA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKhvzwQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKhvzwQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKhw0GQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKhw0GQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKhwchQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKhwchQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKhwnxw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKhwnxw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKhWqVg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKhWqVg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKhYNow:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKhYNow","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKhYPNA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKhYPNA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKhYQ3A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKhYQ3A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKhYQEw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKhYQEw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKhYRnA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKhYRnA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKIA5UQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKIA5UQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKIBztw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKIBztw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKiDUuw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKiDUuw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKie-Ow:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKie-Ow","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKiggEA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKiggEA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKIilvA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKIilvA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKiINwg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKiINwg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKikPrA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKikPrA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKilQnw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKilQnw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKILzWA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKILzWA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKIM1rw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKIM1rw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKiNFbw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKiNFbw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKINJHg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKINJHg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKINulg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKINulg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKIPaPg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKIPaPg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKiPo4Q:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKiPo4Q","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKISYfQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKISYfQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKiTWrQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKiTWrQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKiw0Nw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKiw0Nw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKiwtuA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKiwtuA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKiZiQA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKiZiQA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKJ74lg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKJ74lg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKjBzlA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKjBzlA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKjclXA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKjclXA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKjCmqg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKjCmqg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKjcpZg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKjcpZg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKjjx7w:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKjjx7w","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKjlzBQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKjlzBQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKJMCDA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKJMCDA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKJp7nQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKJp7nQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKjSwiw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKjSwiw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKjVNOw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKjVNOw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKjxRnw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKjxRnw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKK-VwQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKK-VwQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKkCEGg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKkCEGg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKkE-_A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKkE-_A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKKF0qw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKKF0qw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKkFazg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKkFazg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKkkoYw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKkkoYw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKkMDTA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKkMDTA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKkNucg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKkNucg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKKvFTw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKKvFTw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKkynQg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKkynQg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKkYPLw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKkYPLw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKlCoZw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKlCoZw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKLduYQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKLduYQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKLEFVw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKLEFVw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKLM-qg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKLM-qg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKlrplQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKlrplQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKLvntw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKLvntw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKLVwKQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKLVwKQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKmMdKQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKmMdKQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKMQXGQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKMQXGQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKMz-dQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKMz-dQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKnEkrA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKnEkrA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKneP2w:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKneP2w","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKNIheg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKNIheg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKNm6kA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKNm6kA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKnMD-w:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKnMD-w","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKOBntw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKOBntw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKonRPA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKonRPA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKOqcPQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKOqcPQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKoYphQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKoYphQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKp0TUQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKp0TUQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKPDQzQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKPDQzQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKpX4Cg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKpX4Cg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKpxAWw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKpxAWw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKQ-BLw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKQ-BLw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKQ9srw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKQ9srw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKQHtZQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKQHtZQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKQl_TA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKQl_TA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKqTa3w:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKqTa3w","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKR3sww:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKR3sww","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKR3tqQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKR3tqQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKR4JTA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKR4JTA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKR4ZsA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKR4ZsA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKRcoVQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKRcoVQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKRhFsQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKRhFsQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKRjxrw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKRjxrw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKRlCZQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKRlCZQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKRlHOg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKRlHOg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKRpAUw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKRpAUw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKRppSg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKRppSg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKRQ4KQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKRQ4KQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKRs1FA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKRs1FA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKryEdg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKryEdg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKrzJqQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKrzJqQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKRzSrw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKRzSrw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKsAcNA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKsAcNA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKsbkCA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKsbkCA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKSH8mA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKSH8mA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKSItEg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKSItEg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKsNHmw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKsNHmw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKSNrlA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKSNrlA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKsodNA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKsodNA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKSW-KQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKSW-KQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKswS0w:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKswS0w","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKT7RhQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKT7RhQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKtDwdQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKtDwdQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKTnjlw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKTnjlw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKTTgwA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKTTgwA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKTxA0g:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKTxA0g","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKTzL7g:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKTzL7g","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKuaahQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKuaahQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKugOfw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKugOfw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKUOVbQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKUOVbQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKUozaw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKUozaw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKUyVzA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKUyVzA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKV6sOg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKV6sOg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKvczDQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKvczDQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKvEhBw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKvEhBw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKVI6yw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKVI6yw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKVNtng:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKVNtng","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKVRrhA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKVRrhA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKVVNPQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKVVNPQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKVY06w:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKVY06w","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKWE3fA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKWE3fA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKWENlQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKWENlQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKWf5-Q:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKWf5-Q","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKWFGHQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKWFGHQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKWLLtA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKWLLtA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKWmf0w:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKWmf0w","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKWXo9w:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKWXo9w","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKwZbBg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKwZbBg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKxDQHg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKxDQHg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKxhw-g:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKxhw-g","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKxklYQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKxklYQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKXR46g:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKXR46g","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKY0utA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKY0utA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKyDOBw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKyDOBw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKYRW_A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKYRW_A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKzIahQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKzIahQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKzJSxw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKzJSxw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKzNoOQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKzNoOQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKZnUFg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKZnUFg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKzpP0Q:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKzpP0Q","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKZqX3A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKZqX3A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABKztHbw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABKztHbw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLA_mmg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLA_mmg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLaa_cw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLaa_cw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLai32w:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLai32w","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLaKC3A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLaKC3A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLanKiQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLanKiQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLaQnsw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLaQnsw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLaqVVA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLaqVVA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLaUGYg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLaUGYg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLAWi4Q:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLAWi4Q","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLawMeQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLawMeQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLb1mJw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLb1mJw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLb2qnQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLb2qnQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLB61KQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLB61KQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLbAa9g:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLbAa9g","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLbCMrg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLbCMrg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLbeGUQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLbeGUQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLbempg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLbempg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLbH-WQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLbH-WQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLbhr2A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLbhr2A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLbJZkA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLbJZkA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLbmZoQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLbmZoQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLbn4YQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLbn4YQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLbO1-g:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLbO1-g","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLbP1Qg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLbP1Qg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLbPp0g:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLbPp0g","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLbPywQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLbPywQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLbQbfQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLbQbfQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLbQQYA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLbQQYA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLbQvTw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLbQvTw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLBSdfA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLBSdfA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLbsTKQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLbsTKQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLbtB4g:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLbtB4g","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLbuQ2A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLbuQ2A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLbWrzQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLbWrzQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLc09tg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLc09tg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLc5yTA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLc5yTA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLc76WQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLc76WQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLCbGdw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLCbGdw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLcc-CA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLcc-CA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLcDIiQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLcDIiQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLcM9xQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLcM9xQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLcnNfA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLcnNfA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLcOF6w:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLcOF6w","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLcOzkQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLcOzkQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLCrwfw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLCrwfw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLCs9wQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLCs9wQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLD9sbA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLD9sbA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLDBiJQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLDBiJQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLDfXyw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLDfXyw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLdMccA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLdMccA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLdmloQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLdmloQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLdnGaw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLdnGaw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLDrFAw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLDrFAw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLdSnEg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLdSnEg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLDSWfg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLDSWfg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLe31zg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLe31zg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLe4otA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLe4otA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLe4vJw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLe4vJw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLeGP9Q:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLeGP9Q","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLejISQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLejISQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLERKCQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLERKCQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLfdxcQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLfdxcQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLFFL5A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLFFL5A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLFTSKQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLFTSKQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLfVZsA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLfVZsA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLgC_HQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLgC_HQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLGj1mw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLGj1mw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLGj9dw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLGj9dw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLgpFCg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLgpFCg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLguetQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLguetQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLGYcjA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLGYcjA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLGYkHg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLGYkHg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLH_wPw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLH_wPw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLH-DmQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLH-DmQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLh1Quw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLh1Quw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLHd8hQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLHd8hQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLhI-gA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLhI-gA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLhl5jw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLhl5jw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLHNvsg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLHNvsg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLhxvnA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLhxvnA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLIFrqg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLIFrqg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLiKh0w:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLiKh0w","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLILHdg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLILHdg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLiPpPQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLiPpPQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLiPWPg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLiPWPg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLIrR5w:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLIrR5w","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLITcng:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLITcng","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLJ0IOQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLJ0IOQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLJDdeQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLJDdeQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLJP6jA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLJP6jA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLJw-kg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLJw-kg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLK0drw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLK0drw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLK4ndQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLK4ndQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLKSVSA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLKSVSA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLKwh0A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLKwh0A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLKwUyQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLKwUyQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLL2wLw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLL2wLw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLLxSZg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLLxSZg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLMeKtA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLMeKtA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLMH4Eg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLMH4Eg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLMm20w:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLMm20w","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLMNTsA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLMNTsA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLMxDFw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLMxDFw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLN8vwQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLN8vwQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLNcoeg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLNcoeg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLNHv2g:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLNHv2g","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLNp3Vg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLNp3Vg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLNQcMg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLNQcMg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLNZRSQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLNZRSQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLObPXA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLObPXA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLOKvyQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLOKvyQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLOuEdg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLOuEdg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLOXEYA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLOXEYA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLP8Mvw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLP8Mvw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLPDuhQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLPDuhQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLPk-oA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLPk-oA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLPlLrQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLPlLrQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLPLSjA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLPLSjA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLQaHOg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLQaHOg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLQgnTg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLQgnTg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLQzoxA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLQzoxA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLRR2ug:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLRR2ug","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLSJz0g:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLSJz0g","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLSq3Qw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLSq3Qw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLSRhug:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLSRhug","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLTB0Iw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLTB0Iw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLTeJZQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLTeJZQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLTJXcQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLTJXcQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLTNLtQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLTNLtQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLU0HjA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLU0HjA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLUbZzQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLUbZzQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLUvWag:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLUvWag","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLV4mYg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLV4mYg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLV5jMA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLV5jMA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLVbNHQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLVbNHQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLVpaHQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLVpaHQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLVsdqQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLVsdqQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLW0WGw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLW0WGw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLW64Ug:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLW64Ug","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLW6NZA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLW6NZA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLWFjDw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLWFjDw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLWGeMw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLWGeMw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLWGiJA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLWGiJA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLWiBmQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLWiBmQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLWJnkA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLWJnkA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLWqosA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLWqosA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLXgmzQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLXgmzQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLXJKjw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLXJKjw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLXPfOw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLXPfOw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLXQ-1w:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLXQ-1w","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLXrLNw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLXrLNw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLXs-Kw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLXs-Kw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLXyIWg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLXyIWg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLY555A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLY555A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLYbSHw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLYbSHw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLYCgAw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLYCgAw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLYDwtA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLYDwtA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLYiPrQ:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLYiPrQ","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLYLMOg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLYLMOg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLYM4FA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLYM4FA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLYOjUw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLYOjUw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLYOYSw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLYOYSw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLYTOUg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLYTOUg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLYuJrg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLYuJrg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLYutPg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLYutPg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLYyjzg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLYyjzg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLZ2FKg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLZ2FKg","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLZ8v5A:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLZ8v5A","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLZAc4Q:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLZAc4Q","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLZecFw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLZecFw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLZHUSA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLZHUSA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLZjqkA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLZjqkA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLZNZPA:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLZNZPA","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLZpgig:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLZpgig","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLZSqRw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLZSqRw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLZwWMw:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLZwWMw","kind":"review-contribution"},{"id":"edge:person:PRR_kwDOPRF1G88AAAABLZY1Rg:work","source":"person:axl","target":"github:review:PRR_kwDOPRF1G88AAAABLZY1Rg","kind":"review-contribution"},{"id":"edge:pull-request:PR_kwDOPRF1G87__vHm:repository","source":"github:pull-request:PR_kwDOPRF1G87__vHm","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_dTkF:repository","source":"github:pull-request:PR_kwDOPRF1G87_dTkF","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_dvSU:repository","source":"github:pull-request:PR_kwDOPRF1G87_dvSU","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_e4rg:repository","source":"github:pull-request:PR_kwDOPRF1G87_e4rg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_eLc1:repository","source":"github:pull-request:PR_kwDOPRF1G87_eLc1","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_fCMa:repository","source":"github:pull-request:PR_kwDOPRF1G87_fCMa","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_fDF7:repository","source":"github:pull-request:PR_kwDOPRF1G87_fDF7","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_fSA7:repository","source":"github:pull-request:PR_kwDOPRF1G87_fSA7","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_fu6s:repository","source":"github:pull-request:PR_kwDOPRF1G87_fu6s","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_gBIA:repository","source":"github:pull-request:PR_kwDOPRF1G87_gBIA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_j3Es:repository","source":"github:pull-request:PR_kwDOPRF1G87_j3Es","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_L1eM:repository","source":"github:pull-request:PR_kwDOPRF1G87_L1eM","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_LBMR:repository","source":"github:pull-request:PR_kwDOPRF1G87_LBMR","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_n7gw:repository","source":"github:pull-request:PR_kwDOPRF1G87_n7gw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_RAEx:repository","source":"github:pull-request:PR_kwDOPRF1G87_RAEx","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_SHaS:repository","source":"github:pull-request:PR_kwDOPRF1G87_SHaS","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_SHCw:repository","source":"github:pull-request:PR_kwDOPRF1G87_SHCw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_t6rR:repository","source":"github:pull-request:PR_kwDOPRF1G87_t6rR","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_TBbu:repository","source":"github:pull-request:PR_kwDOPRF1G87_TBbu","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_TbCh:repository","source":"github:pull-request:PR_kwDOPRF1G87_TbCh","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_U-zu:repository","source":"github:pull-request:PR_kwDOPRF1G87_U-zu","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_U0nR:repository","source":"github:pull-request:PR_kwDOPRF1G87_U0nR","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_U4I-:repository","source":"github:pull-request:PR_kwDOPRF1G87_U4I-","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_U6MW:repository","source":"github:pull-request:PR_kwDOPRF1G87_U6MW","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_U8yZ:repository","source":"github:pull-request:PR_kwDOPRF1G87_U8yZ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_Unsh:repository","source":"github:pull-request:PR_kwDOPRF1G87_Unsh","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_VAwc:repository","source":"github:pull-request:PR_kwDOPRF1G87_VAwc","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_VcM3:repository","source":"github:pull-request:PR_kwDOPRF1G87_VcM3","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_VCZl:repository","source":"github:pull-request:PR_kwDOPRF1G87_VCZl","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_VEDn:repository","source":"github:pull-request:PR_kwDOPRF1G87_VEDn","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_VejW:repository","source":"github:pull-request:PR_kwDOPRF1G87_VejW","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_VFPs:repository","source":"github:pull-request:PR_kwDOPRF1G87_VFPs","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_VGul:repository","source":"github:pull-request:PR_kwDOPRF1G87_VGul","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_VIwx:repository","source":"github:pull-request:PR_kwDOPRF1G87_VIwx","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_VJ1O:repository","source":"github:pull-request:PR_kwDOPRF1G87_VJ1O","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_VLOq:repository","source":"github:pull-request:PR_kwDOPRF1G87_VLOq","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_VMQQ:repository","source":"github:pull-request:PR_kwDOPRF1G87_VMQQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_Vt-e:repository","source":"github:pull-request:PR_kwDOPRF1G87_Vt-e","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_Vt0_:repository","source":"github:pull-request:PR_kwDOPRF1G87_Vt0_","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_VtWh:repository","source":"github:pull-request:PR_kwDOPRF1G87_VtWh","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_VuO9:repository","source":"github:pull-request:PR_kwDOPRF1G87_VuO9","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_VVHp:repository","source":"github:pull-request:PR_kwDOPRF1G87_VVHp","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_WA4l:repository","source":"github:pull-request:PR_kwDOPRF1G87_WA4l","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_WA91:repository","source":"github:pull-request:PR_kwDOPRF1G87_WA91","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_WAsP:repository","source":"github:pull-request:PR_kwDOPRF1G87_WAsP","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_WAxJ:repository","source":"github:pull-request:PR_kwDOPRF1G87_WAxJ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_WBDS:repository","source":"github:pull-request:PR_kwDOPRF1G87_WBDS","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_WBH4:repository","source":"github:pull-request:PR_kwDOPRF1G87_WBH4","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_WGj5:repository","source":"github:pull-request:PR_kwDOPRF1G87_WGj5","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_wpgP:repository","source":"github:pull-request:PR_kwDOPRF1G87_wpgP","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87_xmjJ:repository","source":"github:pull-request:PR_kwDOPRF1G87_xmjJ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-0_mO:repository","source":"github:pull-request:PR_kwDOPRF1G87-0_mO","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-1Bxh:repository","source":"github:pull-request:PR_kwDOPRF1G87-1Bxh","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-6-JF:repository","source":"github:pull-request:PR_kwDOPRF1G87-6-JF","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-8iJh:repository","source":"github:pull-request:PR_kwDOPRF1G87-8iJh","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-ARIr:repository","source":"github:pull-request:PR_kwDOPRF1G87-ARIr","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-GVCV:repository","source":"github:pull-request:PR_kwDOPRF1G87-GVCV","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-JEX2:repository","source":"github:pull-request:PR_kwDOPRF1G87-JEX2","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-LdHL:repository","source":"github:pull-request:PR_kwDOPRF1G87-LdHL","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-m3dB:repository","source":"github:pull-request:PR_kwDOPRF1G87-m3dB","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-oae7:repository","source":"github:pull-request:PR_kwDOPRF1G87-oae7","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-oYKU:repository","source":"github:pull-request:PR_kwDOPRF1G87-oYKU","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-pUV_:repository","source":"github:pull-request:PR_kwDOPRF1G87-pUV_","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-qgJ4:repository","source":"github:pull-request:PR_kwDOPRF1G87-qgJ4","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-s47h:repository","source":"github:pull-request:PR_kwDOPRF1G87-s47h","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-SUgL:repository","source":"github:pull-request:PR_kwDOPRF1G87-SUgL","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-Tb8a:repository","source":"github:pull-request:PR_kwDOPRF1G87-Tb8a","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-TFCH:repository","source":"github:pull-request:PR_kwDOPRF1G87-TFCH","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-vWPI:repository","source":"github:pull-request:PR_kwDOPRF1G87-vWPI","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-vxPy:repository","source":"github:pull-request:PR_kwDOPRF1G87-vxPy","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-W8UB:repository","source":"github:pull-request:PR_kwDOPRF1G87-W8UB","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-Wczz:repository","source":"github:pull-request:PR_kwDOPRF1G87-Wczz","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-WOfI:repository","source":"github:pull-request:PR_kwDOPRF1G87-WOfI","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-X-Bu:repository","source":"github:pull-request:PR_kwDOPRF1G87-X-Bu","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-XWYt:repository","source":"github:pull-request:PR_kwDOPRF1G87-XWYt","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-Y9qy:repository","source":"github:pull-request:PR_kwDOPRF1G87-Y9qy","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-YEY4:repository","source":"github:pull-request:PR_kwDOPRF1G87-YEY4","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-yyWR:repository","source":"github:pull-request:PR_kwDOPRF1G87-yyWR","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-z1Zu:repository","source":"github:pull-request:PR_kwDOPRF1G87-z1Zu","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-z5gb:repository","source":"github:pull-request:PR_kwDOPRF1G87-z5gb","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-z9_l:repository","source":"github:pull-request:PR_kwDOPRF1G87-z9_l","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-zdEv:repository","source":"github:pull-request:PR_kwDOPRF1G87-zdEv","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-zjA7:repository","source":"github:pull-request:PR_kwDOPRF1G87-zjA7","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-zPrr:repository","source":"github:pull-request:PR_kwDOPRF1G87-zPrr","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-zV8b:repository","source":"github:pull-request:PR_kwDOPRF1G87-zV8b","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87-zZdl:repository","source":"github:pull-request:PR_kwDOPRF1G87-zZdl","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G870QOyN:repository","source":"github:pull-request:PR_kwDOPRF1G870QOyN","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8715vt_:repository","source":"github:pull-request:PR_kwDOPRF1G8715vt_","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G871nJQZ:repository","source":"github:pull-request:PR_kwDOPRF1G871nJQZ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G871nKIb:repository","source":"github:pull-request:PR_kwDOPRF1G871nKIb","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G871o2aw:repository","source":"github:pull-request:PR_kwDOPRF1G871o2aw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G871Q4cK:repository","source":"github:pull-request:PR_kwDOPRF1G871Q4cK","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G871spAx:repository","source":"github:pull-request:PR_kwDOPRF1G871spAx","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G871yxMc:repository","source":"github:pull-request:PR_kwDOPRF1G871yxMc","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G871ZBic:repository","source":"github:pull-request:PR_kwDOPRF1G871ZBic","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8725KmP:repository","source":"github:pull-request:PR_kwDOPRF1G8725KmP","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G872Ywse:repository","source":"github:pull-request:PR_kwDOPRF1G872Ywse","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8742xIy:repository","source":"github:pull-request:PR_kwDOPRF1G8742xIy","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8750-kI:repository","source":"github:pull-request:PR_kwDOPRF1G8750-kI","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8751_Kn:repository","source":"github:pull-request:PR_kwDOPRF1G8751_Kn","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87511rp:repository","source":"github:pull-request:PR_kwDOPRF1G87511rp","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875188B:repository","source":"github:pull-request:PR_kwDOPRF1G875188B","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8751hJn:repository","source":"github:pull-request:PR_kwDOPRF1G8751hJn","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8751iem:repository","source":"github:pull-request:PR_kwDOPRF1G8751iem","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8751NaI:repository","source":"github:pull-request:PR_kwDOPRF1G8751NaI","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8751VC_:repository","source":"github:pull-request:PR_kwDOPRF1G8751VC_","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8751wF9:repository","source":"github:pull-request:PR_kwDOPRF1G8751wF9","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87522uK:repository","source":"github:pull-request:PR_kwDOPRF1G87522uK","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8752APe:repository","source":"github:pull-request:PR_kwDOPRF1G8752APe","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8752BQT:repository","source":"github:pull-request:PR_kwDOPRF1G8752BQT","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8752DI-:repository","source":"github:pull-request:PR_kwDOPRF1G8752DI-","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8752GVz:repository","source":"github:pull-request:PR_kwDOPRF1G8752GVz","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8752IFd:repository","source":"github:pull-request:PR_kwDOPRF1G8752IFd","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8752WPp:repository","source":"github:pull-request:PR_kwDOPRF1G8752WPp","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8753-GU:repository","source":"github:pull-request:PR_kwDOPRF1G8753-GU","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875332J:repository","source":"github:pull-request:PR_kwDOPRF1G875332J","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8753dTc:repository","source":"github:pull-request:PR_kwDOPRF1G8753dTc","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8753NeB:repository","source":"github:pull-request:PR_kwDOPRF1G8753NeB","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87541ik:repository","source":"github:pull-request:PR_kwDOPRF1G87541ik","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87546NA:repository","source":"github:pull-request:PR_kwDOPRF1G87546NA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8754D_9:repository","source":"github:pull-request:PR_kwDOPRF1G8754D_9","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8754pwH:repository","source":"github:pull-request:PR_kwDOPRF1G8754pwH","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8754Qj9:repository","source":"github:pull-request:PR_kwDOPRF1G8754Qj9","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8755yc7:repository","source":"github:pull-request:PR_kwDOPRF1G8755yc7","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8755z58:repository","source":"github:pull-request:PR_kwDOPRF1G8755z58","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8756EGr:repository","source":"github:pull-request:PR_kwDOPRF1G8756EGr","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8756tBv:repository","source":"github:pull-request:PR_kwDOPRF1G8756tBv","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8756vYq:repository","source":"github:pull-request:PR_kwDOPRF1G8756vYq","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8757MTx:repository","source":"github:pull-request:PR_kwDOPRF1G8757MTx","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875GwGR:repository","source":"github:pull-request:PR_kwDOPRF1G875GwGR","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875sld3:repository","source":"github:pull-request:PR_kwDOPRF1G875sld3","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875tcD1:repository","source":"github:pull-request:PR_kwDOPRF1G875tcD1","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875tf4Y:repository","source":"github:pull-request:PR_kwDOPRF1G875tf4Y","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875toHl:repository","source":"github:pull-request:PR_kwDOPRF1G875toHl","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875tptu:repository","source":"github:pull-request:PR_kwDOPRF1G875tptu","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875tVQ3:repository","source":"github:pull-request:PR_kwDOPRF1G875tVQ3","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875twHT:repository","source":"github:pull-request:PR_kwDOPRF1G875twHT","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875tZHi:repository","source":"github:pull-request:PR_kwDOPRF1G875tZHi","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875vW41:repository","source":"github:pull-request:PR_kwDOPRF1G875vW41","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875wAdK:repository","source":"github:pull-request:PR_kwDOPRF1G875wAdK","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875wwNd:repository","source":"github:pull-request:PR_kwDOPRF1G875wwNd","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875xaZH:repository","source":"github:pull-request:PR_kwDOPRF1G875xaZH","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875xC4p:repository","source":"github:pull-request:PR_kwDOPRF1G875xC4p","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875xKPh:repository","source":"github:pull-request:PR_kwDOPRF1G875xKPh","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875xmGP:repository","source":"github:pull-request:PR_kwDOPRF1G875xmGP","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875xMZk:repository","source":"github:pull-request:PR_kwDOPRF1G875xMZk","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875xNCq:repository","source":"github:pull-request:PR_kwDOPRF1G875xNCq","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875xVyJ:repository","source":"github:pull-request:PR_kwDOPRF1G875xVyJ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875zpay:repository","source":"github:pull-request:PR_kwDOPRF1G875zpay","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G875zQov:repository","source":"github:pull-request:PR_kwDOPRF1G875zQov","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8761xPG:repository","source":"github:pull-request:PR_kwDOPRF1G8761xPG","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8764Uap:repository","source":"github:pull-request:PR_kwDOPRF1G8764Uap","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8764Vao:repository","source":"github:pull-request:PR_kwDOPRF1G8764Vao","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8764Vc_:repository","source":"github:pull-request:PR_kwDOPRF1G8764Vc_","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8764VMr:repository","source":"github:pull-request:PR_kwDOPRF1G8764VMr","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8764VOG:repository","source":"github:pull-request:PR_kwDOPRF1G8764VOG","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8766hfE:repository","source":"github:pull-request:PR_kwDOPRF1G8766hfE","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8766hhU:repository","source":"github:pull-request:PR_kwDOPRF1G8766hhU","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8766hjw:repository","source":"github:pull-request:PR_kwDOPRF1G8766hjw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8766hmG:repository","source":"github:pull-request:PR_kwDOPRF1G8766hmG","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8766ho3:repository","source":"github:pull-request:PR_kwDOPRF1G8766ho3","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8766hrN:repository","source":"github:pull-request:PR_kwDOPRF1G8766hrN","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8766huA:repository","source":"github:pull-request:PR_kwDOPRF1G8766huA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876A-nu:repository","source":"github:pull-request:PR_kwDOPRF1G876A-nu","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876A8n2:repository","source":"github:pull-request:PR_kwDOPRF1G876A8n2","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876BAbb:repository","source":"github:pull-request:PR_kwDOPRF1G876BAbb","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876BADt:repository","source":"github:pull-request:PR_kwDOPRF1G876BADt","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876BER-:repository","source":"github:pull-request:PR_kwDOPRF1G876BER-","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876BKmw:repository","source":"github:pull-request:PR_kwDOPRF1G876BKmw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876BLgg:repository","source":"github:pull-request:PR_kwDOPRF1G876BLgg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876Bm1k:repository","source":"github:pull-request:PR_kwDOPRF1G876Bm1k","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876Bofx:repository","source":"github:pull-request:PR_kwDOPRF1G876Bofx","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876BoYF:repository","source":"github:pull-request:PR_kwDOPRF1G876BoYF","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876Bp_4:repository","source":"github:pull-request:PR_kwDOPRF1G876Bp_4","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876BxYE:repository","source":"github:pull-request:PR_kwDOPRF1G876BxYE","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876BZm7:repository","source":"github:pull-request:PR_kwDOPRF1G876BZm7","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876C2it:repository","source":"github:pull-request:PR_kwDOPRF1G876C2it","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876CbI4:repository","source":"github:pull-request:PR_kwDOPRF1G876CbI4","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876CGVl:repository","source":"github:pull-request:PR_kwDOPRF1G876CGVl","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876CgyQ:repository","source":"github:pull-request:PR_kwDOPRF1G876CgyQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876CIhQ:repository","source":"github:pull-request:PR_kwDOPRF1G876CIhQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876CKas:repository","source":"github:pull-request:PR_kwDOPRF1G876CKas","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876CKDb:repository","source":"github:pull-request:PR_kwDOPRF1G876CKDb","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876CnRy:repository","source":"github:pull-request:PR_kwDOPRF1G876CnRy","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876CPdv:repository","source":"github:pull-request:PR_kwDOPRF1G876CPdv","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876CQna:repository","source":"github:pull-request:PR_kwDOPRF1G876CQna","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876CWRy:repository","source":"github:pull-request:PR_kwDOPRF1G876CWRy","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876CXmW:repository","source":"github:pull-request:PR_kwDOPRF1G876CXmW","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876FpAq:repository","source":"github:pull-request:PR_kwDOPRF1G876FpAq","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876J_tj:repository","source":"github:pull-request:PR_kwDOPRF1G876J_tj","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876J5s5:repository","source":"github:pull-request:PR_kwDOPRF1G876J5s5","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876J85w:repository","source":"github:pull-request:PR_kwDOPRF1G876J85w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876KBAg:repository","source":"github:pull-request:PR_kwDOPRF1G876KBAg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876m9cd:repository","source":"github:pull-request:PR_kwDOPRF1G876m9cd","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876mm98:repository","source":"github:pull-request:PR_kwDOPRF1G876mm98","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876QB3n:repository","source":"github:pull-request:PR_kwDOPRF1G876QB3n","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876QHD8:repository","source":"github:pull-request:PR_kwDOPRF1G876QHD8","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876qRwr:repository","source":"github:pull-request:PR_kwDOPRF1G876qRwr","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876qSmC:repository","source":"github:pull-request:PR_kwDOPRF1G876qSmC","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876sOTL:repository","source":"github:pull-request:PR_kwDOPRF1G876sOTL","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876UWFf:repository","source":"github:pull-request:PR_kwDOPRF1G876UWFf","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876uwpt:repository","source":"github:pull-request:PR_kwDOPRF1G876uwpt","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876Vs7s:repository","source":"github:pull-request:PR_kwDOPRF1G876Vs7s","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876W9_D:repository","source":"github:pull-request:PR_kwDOPRF1G876W9_D","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876wi02:repository","source":"github:pull-request:PR_kwDOPRF1G876wi02","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876wi4B:repository","source":"github:pull-request:PR_kwDOPRF1G876wi4B","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876wi7V:repository","source":"github:pull-request:PR_kwDOPRF1G876wi7V","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876wivL:repository","source":"github:pull-request:PR_kwDOPRF1G876wivL","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876Wu30:repository","source":"github:pull-request:PR_kwDOPRF1G876Wu30","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876X7g4:repository","source":"github:pull-request:PR_kwDOPRF1G876X7g4","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876XEvB:repository","source":"github:pull-request:PR_kwDOPRF1G876XEvB","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876Xm01:repository","source":"github:pull-request:PR_kwDOPRF1G876Xm01","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876XMov:repository","source":"github:pull-request:PR_kwDOPRF1G876XMov","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876yR6u:repository","source":"github:pull-request:PR_kwDOPRF1G876yR6u","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G876zH3Y:repository","source":"github:pull-request:PR_kwDOPRF1G876zH3Y","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8770Bn2:repository","source":"github:pull-request:PR_kwDOPRF1G8770Bn2","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87738RK:repository","source":"github:pull-request:PR_kwDOPRF1G87738RK","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87788Ml:repository","source":"github:pull-request:PR_kwDOPRF1G87788Ml","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877AC2B:repository","source":"github:pull-request:PR_kwDOPRF1G877AC2B","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877AC4q:repository","source":"github:pull-request:PR_kwDOPRF1G877AC4q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877ACrH:repository","source":"github:pull-request:PR_kwDOPRF1G877ACrH","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877ACuT:repository","source":"github:pull-request:PR_kwDOPRF1G877ACuT","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877ACyY:repository","source":"github:pull-request:PR_kwDOPRF1G877ACyY","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877brLX:repository","source":"github:pull-request:PR_kwDOPRF1G877brLX","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877brOM:repository","source":"github:pull-request:PR_kwDOPRF1G877brOM","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877cUBW:repository","source":"github:pull-request:PR_kwDOPRF1G877cUBW","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877cUEK:repository","source":"github:pull-request:PR_kwDOPRF1G877cUEK","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877dZc9:repository","source":"github:pull-request:PR_kwDOPRF1G877dZc9","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877dZfK:repository","source":"github:pull-request:PR_kwDOPRF1G877dZfK","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877dZYX:repository","source":"github:pull-request:PR_kwDOPRF1G877dZYX","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877Eu4G:repository","source":"github:pull-request:PR_kwDOPRF1G877Eu4G","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877Eu8T:repository","source":"github:pull-request:PR_kwDOPRF1G877Eu8T","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877Euv-:repository","source":"github:pull-request:PR_kwDOPRF1G877Euv-","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877EvAW:repository","source":"github:pull-request:PR_kwDOPRF1G877EvAW","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877FQ5g:repository","source":"github:pull-request:PR_kwDOPRF1G877FQ5g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877FQi2:repository","source":"github:pull-request:PR_kwDOPRF1G877FQi2","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877FQtI:repository","source":"github:pull-request:PR_kwDOPRF1G877FQtI","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877FRFG:repository","source":"github:pull-request:PR_kwDOPRF1G877FRFG","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877FRQn:repository","source":"github:pull-request:PR_kwDOPRF1G877FRQn","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877jkCj:repository","source":"github:pull-request:PR_kwDOPRF1G877jkCj","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877jt5r:repository","source":"github:pull-request:PR_kwDOPRF1G877jt5r","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877kdQP:repository","source":"github:pull-request:PR_kwDOPRF1G877kdQP","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877M0ex:repository","source":"github:pull-request:PR_kwDOPRF1G877M0ex","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877M0K3:repository","source":"github:pull-request:PR_kwDOPRF1G877M0K3","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877M0zk:repository","source":"github:pull-request:PR_kwDOPRF1G877M0zk","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877M2vg:repository","source":"github:pull-request:PR_kwDOPRF1G877M2vg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877Mz5-:repository","source":"github:pull-request:PR_kwDOPRF1G877Mz5-","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877ndrQ:repository","source":"github:pull-request:PR_kwDOPRF1G877ndrQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877nzge:repository","source":"github:pull-request:PR_kwDOPRF1G877nzge","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877nzqs:repository","source":"github:pull-request:PR_kwDOPRF1G877nzqs","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877nzvU:repository","source":"github:pull-request:PR_kwDOPRF1G877nzvU","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877ok8o:repository","source":"github:pull-request:PR_kwDOPRF1G877ok8o","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877Om0h:repository","source":"github:pull-request:PR_kwDOPRF1G877Om0h","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877OmAc:repository","source":"github:pull-request:PR_kwDOPRF1G877OmAc","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877OmkH:repository","source":"github:pull-request:PR_kwDOPRF1G877OmkH","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877OmTc:repository","source":"github:pull-request:PR_kwDOPRF1G877OmTc","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877OnGD:repository","source":"github:pull-request:PR_kwDOPRF1G877OnGD","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877Pa8X:repository","source":"github:pull-request:PR_kwDOPRF1G877Pa8X","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877Pau0:repository","source":"github:pull-request:PR_kwDOPRF1G877Pau0","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877PbfL:repository","source":"github:pull-request:PR_kwDOPRF1G877PbfL","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877PbPj:repository","source":"github:pull-request:PR_kwDOPRF1G877PbPj","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877PBQZ:repository","source":"github:pull-request:PR_kwDOPRF1G877PBQZ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877Pbt9:repository","source":"github:pull-request:PR_kwDOPRF1G877Pbt9","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877qc6c:repository","source":"github:pull-request:PR_kwDOPRF1G877qc6c","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877qIqT:repository","source":"github:pull-request:PR_kwDOPRF1G877qIqT","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877qrrh:repository","source":"github:pull-request:PR_kwDOPRF1G877qrrh","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877ScKK:repository","source":"github:pull-request:PR_kwDOPRF1G877ScKK","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877Sddj:repository","source":"github:pull-request:PR_kwDOPRF1G877Sddj","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877Sdgg:repository","source":"github:pull-request:PR_kwDOPRF1G877Sdgg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877Sdja:repository","source":"github:pull-request:PR_kwDOPRF1G877Sdja","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877Sdl_:repository","source":"github:pull-request:PR_kwDOPRF1G877Sdl_","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877SONB:repository","source":"github:pull-request:PR_kwDOPRF1G877SONB","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877SOQT:repository","source":"github:pull-request:PR_kwDOPRF1G877SOQT","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877SOSt:repository","source":"github:pull-request:PR_kwDOPRF1G877SOSt","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877SOVw:repository","source":"github:pull-request:PR_kwDOPRF1G877SOVw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877SOYd:repository","source":"github:pull-request:PR_kwDOPRF1G877SOYd","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877ST4G:repository","source":"github:pull-request:PR_kwDOPRF1G877ST4G","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877STkw:repository","source":"github:pull-request:PR_kwDOPRF1G877STkw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877SUaS:repository","source":"github:pull-request:PR_kwDOPRF1G877SUaS","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877SUJy:repository","source":"github:pull-request:PR_kwDOPRF1G877SUJy","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877SUqp:repository","source":"github:pull-request:PR_kwDOPRF1G877SUqp","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877Trch:repository","source":"github:pull-request:PR_kwDOPRF1G877Trch","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877Ttc6:repository","source":"github:pull-request:PR_kwDOPRF1G877Ttc6","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877Ttmy:repository","source":"github:pull-request:PR_kwDOPRF1G877Ttmy","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877TtTo:repository","source":"github:pull-request:PR_kwDOPRF1G877TtTo","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877TtWZ:repository","source":"github:pull-request:PR_kwDOPRF1G877TtWZ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877Ty-k:repository","source":"github:pull-request:PR_kwDOPRF1G877Ty-k","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877Ty6w:repository","source":"github:pull-request:PR_kwDOPRF1G877Ty6w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877TzBI:repository","source":"github:pull-request:PR_kwDOPRF1G877TzBI","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877u5NR:repository","source":"github:pull-request:PR_kwDOPRF1G877u5NR","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877u5Pa:repository","source":"github:pull-request:PR_kwDOPRF1G877u5Pa","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877u5Rc:repository","source":"github:pull-request:PR_kwDOPRF1G877u5Rc","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877u5UF:repository","source":"github:pull-request:PR_kwDOPRF1G877u5UF","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877u5WP:repository","source":"github:pull-request:PR_kwDOPRF1G877u5WP","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877Vd-1:repository","source":"github:pull-request:PR_kwDOPRF1G877Vd-1","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877Vd73:repository","source":"github:pull-request:PR_kwDOPRF1G877Vd73","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877Vd9N:repository","source":"github:pull-request:PR_kwDOPRF1G877Vd9N","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877VeCQ:repository","source":"github:pull-request:PR_kwDOPRF1G877VeCQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877VeDm:repository","source":"github:pull-request:PR_kwDOPRF1G877VeDm","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877VeNn:repository","source":"github:pull-request:PR_kwDOPRF1G877VeNn","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877vR4K:repository","source":"github:pull-request:PR_kwDOPRF1G877vR4K","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877WXr4:repository","source":"github:pull-request:PR_kwDOPRF1G877WXr4","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877y_Z8:repository","source":"github:pull-request:PR_kwDOPRF1G877y_Z8","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877y7Ws:repository","source":"github:pull-request:PR_kwDOPRF1G877y7Ws","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877ycHI:repository","source":"github:pull-request:PR_kwDOPRF1G877ycHI","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877YFJW:repository","source":"github:pull-request:PR_kwDOPRF1G877YFJW","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877YFLh:repository","source":"github:pull-request:PR_kwDOPRF1G877YFLh","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877YFNR:repository","source":"github:pull-request:PR_kwDOPRF1G877YFNR","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877YFOu:repository","source":"github:pull-request:PR_kwDOPRF1G877YFOu","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877YFTr:repository","source":"github:pull-request:PR_kwDOPRF1G877YFTr","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877yL1u:repository","source":"github:pull-request:PR_kwDOPRF1G877yL1u","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877yp7W:repository","source":"github:pull-request:PR_kwDOPRF1G877yp7W","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877yqhr:repository","source":"github:pull-request:PR_kwDOPRF1G877yqhr","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877yWIV:repository","source":"github:pull-request:PR_kwDOPRF1G877yWIV","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877z6MI:repository","source":"github:pull-request:PR_kwDOPRF1G877z6MI","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877ZtDY:repository","source":"github:pull-request:PR_kwDOPRF1G877ZtDY","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877ZtH5:repository","source":"github:pull-request:PR_kwDOPRF1G877ZtH5","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877ZtJ_:repository","source":"github:pull-request:PR_kwDOPRF1G877ZtJ_","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877ZtLx:repository","source":"github:pull-request:PR_kwDOPRF1G877ZtLx","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877ZtNi:repository","source":"github:pull-request:PR_kwDOPRF1G877ZtNi","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G877ZtSb:repository","source":"github:pull-request:PR_kwDOPRF1G877ZtSb","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8784DL_:repository","source":"github:pull-request:PR_kwDOPRF1G8784DL_","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8788s9S:repository","source":"github:pull-request:PR_kwDOPRF1G8788s9S","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G878EVNl:repository","source":"github:pull-request:PR_kwDOPRF1G878EVNl","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G878GQ5P:repository","source":"github:pull-request:PR_kwDOPRF1G878GQ5P","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G878IHJv:repository","source":"github:pull-request:PR_kwDOPRF1G878IHJv","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G878iklT:repository","source":"github:pull-request:PR_kwDOPRF1G878iklT","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G878jQ5O:repository","source":"github:pull-request:PR_kwDOPRF1G878jQ5O","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G878KdY1:repository","source":"github:pull-request:PR_kwDOPRF1G878KdY1","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G878nSwK:repository","source":"github:pull-request:PR_kwDOPRF1G878nSwK","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G878o1GG:repository","source":"github:pull-request:PR_kwDOPRF1G878o1GG","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G878rfwS:repository","source":"github:pull-request:PR_kwDOPRF1G878rfwS","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G878rY_6:repository","source":"github:pull-request:PR_kwDOPRF1G878rY_6","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G878srKw:repository","source":"github:pull-request:PR_kwDOPRF1G878srKw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G878YZPE:repository","source":"github:pull-request:PR_kwDOPRF1G878YZPE","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8790BvS:repository","source":"github:pull-request:PR_kwDOPRF1G8790BvS","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8790f_a:repository","source":"github:pull-request:PR_kwDOPRF1G8790f_a","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87929Si:repository","source":"github:pull-request:PR_kwDOPRF1G87929Si","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8792X_d:repository","source":"github:pull-request:PR_kwDOPRF1G8792X_d","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879393H:repository","source":"github:pull-request:PR_kwDOPRF1G879393H","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G8795D70:repository","source":"github:pull-request:PR_kwDOPRF1G8795D70","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879az0L:repository","source":"github:pull-request:PR_kwDOPRF1G879az0L","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879dRoc:repository","source":"github:pull-request:PR_kwDOPRF1G879dRoc","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879evvq:repository","source":"github:pull-request:PR_kwDOPRF1G879evvq","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879ikkp:repository","source":"github:pull-request:PR_kwDOPRF1G879ikkp","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879Mr_H:repository","source":"github:pull-request:PR_kwDOPRF1G879Mr_H","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879ot8n:repository","source":"github:pull-request:PR_kwDOPRF1G879ot8n","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879qGim:repository","source":"github:pull-request:PR_kwDOPRF1G879qGim","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879RaDM:repository","source":"github:pull-request:PR_kwDOPRF1G879RaDM","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879Rq28:repository","source":"github:pull-request:PR_kwDOPRF1G879Rq28","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879Rq4u:repository","source":"github:pull-request:PR_kwDOPRF1G879Rq4u","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879SAsu:repository","source":"github:pull-request:PR_kwDOPRF1G879SAsu","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879SNJX:repository","source":"github:pull-request:PR_kwDOPRF1G879SNJX","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879sXuR:repository","source":"github:pull-request:PR_kwDOPRF1G879sXuR","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879T0uD:repository","source":"github:pull-request:PR_kwDOPRF1G879T0uD","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879V1Gm:repository","source":"github:pull-request:PR_kwDOPRF1G879V1Gm","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879V2Bc:repository","source":"github:pull-request:PR_kwDOPRF1G879V2Bc","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879V5N8:repository","source":"github:pull-request:PR_kwDOPRF1G879V5N8","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879Vnp9:repository","source":"github:pull-request:PR_kwDOPRF1G879Vnp9","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879WC4B:repository","source":"github:pull-request:PR_kwDOPRF1G879WC4B","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879WDcl:repository","source":"github:pull-request:PR_kwDOPRF1G879WDcl","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879WHeJ:repository","source":"github:pull-request:PR_kwDOPRF1G879WHeJ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879WKg7:repository","source":"github:pull-request:PR_kwDOPRF1G879WKg7","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879xgZZ:repository","source":"github:pull-request:PR_kwDOPRF1G879xgZZ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879Zglr:repository","source":"github:pull-request:PR_kwDOPRF1G879Zglr","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879Zpvw:repository","source":"github:pull-request:PR_kwDOPRF1G879Zpvw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879ZTcA:repository","source":"github:pull-request:PR_kwDOPRF1G879ZTcA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879ZWJY:repository","source":"github:pull-request:PR_kwDOPRF1G879ZWJY","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879ZxBA:repository","source":"github:pull-request:PR_kwDOPRF1G879ZxBA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G879ZZpF:repository","source":"github:pull-request:PR_kwDOPRF1G879ZZpF","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87jvvLh:repository","source":"github:pull-request:PR_kwDOPRF1G87jvvLh","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87lrAyw:repository","source":"github:pull-request:PR_kwDOPRF1G87lrAyw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87nrzqj:repository","source":"github:pull-request:PR_kwDOPRF1G87nrzqj","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87ryR-D:repository","source":"github:pull-request:PR_kwDOPRF1G87ryR-D","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87u1EB-:repository","source":"github:pull-request:PR_kwDOPRF1G87u1EB-","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87u3fhQ:repository","source":"github:pull-request:PR_kwDOPRF1G87u3fhQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87wB3mX:repository","source":"github:pull-request:PR_kwDOPRF1G87wB3mX","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87wsuvy:repository","source":"github:pull-request:PR_kwDOPRF1G87wsuvy","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87xBoHz:repository","source":"github:pull-request:PR_kwDOPRF1G87xBoHz","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87xeQK0:repository","source":"github:pull-request:PR_kwDOPRF1G87xeQK0","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87XZnI-:repository","source":"github:pull-request:PR_kwDOPRF1G87XZnI-","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87yeap7:repository","source":"github:pull-request:PR_kwDOPRF1G87yeap7","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G87ypcub:repository","source":"github:pull-request:PR_kwDOPRF1G87ypcub","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA_5ZKA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA_5ZKA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA_hKAQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA_hKAQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA_LEFg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA_LEFg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA_uYlw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA_uYlw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA_UzSw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA_UzSw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA-6C7w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA-6C7w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA-Al3A:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA-Al3A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA00BkQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA00BkQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA05A4Q:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA05A4Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA05hEg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA05hEg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA0kFgA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA0kFgA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA0QqGQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA0QqGQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA0ZyvQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA0ZyvQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA1bOcQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA1bOcQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA1q3EQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA1q3EQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA2C7SQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA2C7SQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA2MFVw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA2MFVw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA2Zczw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA2Zczw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA376OQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA376OQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA3DUqA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA3DUqA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA44Tcg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA44Tcg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA4EjdA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA4EjdA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA4Hp8A:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA4Hp8A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA4n_gw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA4n_gw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA4R0hA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA4R0hA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA5eNdQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA5eNdQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA6_MJA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA6_MJA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA6D1sw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA6D1sw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA6ZBBg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA6ZBBg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA73T9A:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA73T9A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA76OWw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA76OWw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA7aqsA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA7aqsA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA7YVAA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA7YVAA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA9s1_w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA9s1_w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABA9XXJg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABA9XXJg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAA4FzQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAA4FzQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAa4otg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAa4otg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAb6cuw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAb6cuw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABABfHDQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABABfHDQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAbKbRQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAbKbRQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABABqL-A:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABABqL-A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAbR5kA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAbR5kA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABABrHpg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABABrHpg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAc-FnA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAc-FnA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAc8eug:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAc8eug","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAcBl5g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAcBl5g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAccoDw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAccoDw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAceVHA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAceVHA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAcOh7g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAcOh7g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAcovJg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAcovJg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAcpVFA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAcpVFA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAcw93w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAcw93w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAcxbSg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAcxbSg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAcXnfg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAcXnfg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAd_eWw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAd_eWw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAD4w9w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAD4w9w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAd9ajw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAd9ajw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABADC_5Q:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABADC_5Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAdcbMA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAdcbMA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABADD7_A:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABADD7_A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABADD9Ow:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABADD9Ow","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABADEBdQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABADEBdQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABADg8Gw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABADg8Gw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAdhHaw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAdhHaw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAdUzGg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAdUzGg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAdxPlA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAdxPlA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAE1X4g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAE1X4g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAe54aA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAe54aA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAE5vrA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAE5vrA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAE93Cg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAE93Cg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAeqsEg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAeqsEg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAeRRvw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAeRRvw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAey9Dw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAey9Dw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAEygHQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAEygHQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAf4F_g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAf4F_g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAF5yAg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAF5yAg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAFbfmQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAFbfmQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAFBhUA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAFBhUA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAFdS2A:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAFdS2A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAFInRw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAFInRw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAfKQ3Q:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAfKQ3Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAfL82w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAfL82w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAfL8hg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAfL8hg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAfLCmQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAfLCmQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAFMOOQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAFMOOQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAfN0yw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAfN0yw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAfNIiA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAfNIiA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAFPZlw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAFPZlw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAFRRDA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAFRRDA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAfsZ1Q:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAfsZ1Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAFTYbw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAFTYbw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAFxqgA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAFxqgA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAGBMXQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAGBMXQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAgbOjg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAgbOjg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAgEHMw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAgEHMw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAgi0vg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAgi0vg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAGiuJQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAGiuJQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAgJZmg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAgJZmg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAgwweA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAgwweA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAhnzog:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAhnzog","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAhP5NQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAhP5NQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAhzpjw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAhzpjw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAiLS5w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAiLS5w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAirW1w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAirW1w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAj0pPg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAj0pPg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAj1i0Q:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAj1i0Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAj2AFw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAj2AFw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAjho4Q:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAjho4Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAjJicQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAjJicQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAjQ9BQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAjQ9BQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAJuoMw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAJuoMw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAk8QKw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAk8QKw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAkcvQw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAkcvQw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAKeLXw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAKeLXw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAkF8sw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAkF8sw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAKMiAw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAKMiAw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAkvA6A:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAkvA6A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAl6dfA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAl6dfA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABALbaEQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABALbaEQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAlbV-w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAlbV-w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABALEY8g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABALEY8g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAlkPIw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAlkPIw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAlN78A:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAlN78A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAlQ3zg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAlQ3zg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAlwJ2Q:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAlwJ2Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABALwqaA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABALwqaA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAm_4vw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAm_4vw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAM2LCw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAM2LCw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAm3A0A:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAm3A0A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAmiluA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAmiluA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAmKShQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAmKShQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAMrNkQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAMrNkQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAMVkvA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAMVkvA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAn2Cdw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAn2Cdw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAn3oAA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAn3oAA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAnAOCQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAnAOCQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAnasrA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAnasrA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAnCSyg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAnCSyg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAnDxag:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAnDxag","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAnE7MQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAnE7MQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAnFRuA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAnFRuA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAnGb5g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAnGb5g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAnI-7g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAnI-7g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAnlmQA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAnlmQA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAnnxZQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAnnxZQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAnP3iQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAnP3iQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAnqi_A:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAnqi_A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAnRbsg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAnRbsg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAnRFHQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAnRFHQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABANW6LA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABANW6LA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAO4KJA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAO4KJA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAo5LuA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAo5LuA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAo7CYw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAo7CYw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAo9e8Q:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAo9e8Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAodlrg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAodlrg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAoEhEg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAoEhEg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAOfd1g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAOfd1g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAOib_w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAOib_w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAOiqvA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAOiqvA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAOqCAA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAOqCAA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAOxm9g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAOxm9g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAoyGpA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAoyGpA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAOYXWw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAOYXWw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAp30bA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAp30bA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAPAtjA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAPAtjA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAPDsmw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAPDsmw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAPGdOw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAPGdOw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABApGv5g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABApGv5g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAPJEWQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAPJEWQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAPl3Kg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAPl3Kg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABApNr5g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABApNr5g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAPpqIg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAPpqIg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABApTFWg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABApTFWg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABApxZZA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABApxZZA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAq--Gw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAq--Gw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAQ1oDA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAQ1oDA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAq2_Hw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAq2_Hw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAQ4zrg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAQ4zrg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAQ7auA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAQ7auA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAQ9-fQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAQ9-fQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAQ91Ig:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAQ91Ig","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAq9EgA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAq9EgA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAqFqFw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAqFqFw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAqhLYg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAqhLYg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAqkMvQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAqkMvQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAql8gg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAql8gg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAqleZQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAqleZQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAqMWBQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAqMWBQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAqrzaA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAqrzaA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAQUF8A:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAQUF8A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAqUlLA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAqUlLA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAQwEDA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAQwEDA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAqyNkw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAqyNkw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAr5c7w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAr5c7w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAr6JgQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAr6JgQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAR7R7g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAR7R7g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABArbAHg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABArbAHg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABARcPWw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABARcPWw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAREpxw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAREpxw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABArG1lA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABArG1lA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABArhJ5Q:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABArhJ5Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABARI-1g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABARI-1g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABArkqrg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABArkqrg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABArquVg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABArquVg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABArt-1A:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABArt-1A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAS4neg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAS4neg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAs7vug:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAs7vug","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAsAHag:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAsAHag","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAScK7w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAScK7w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAsGrYQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAsGrYQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAsIg4Q:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAsIg4Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAsnkDw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAsnkDw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABASUd3Q:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABASUd3Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAsxvzg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAsxvzg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAsxxOQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAsxxOQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAsyYGw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAsyYGw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAt49Ew:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAt49Ew","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAtd8LQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAtd8LQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAtEGzA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAtEGzA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAthHhw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAthHhw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABATn0xw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABATn0xw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAtq6yg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAtq6yg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABATqQPQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABATqQPQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABATRxDw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABATRxDw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABATWhmg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABATWhmg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAu13Jw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAu13Jw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAuAUEQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAuAUEQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAuBong:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAuBong","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAuFJoA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAuFJoA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAUkf0g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAUkf0g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAukPfg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAukPfg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAuLwiA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAuLwiA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAuoX9Q:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAuoX9Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAurbag:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAurbag","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAuSWZQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAuSWZQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAuVOag:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAuVOag","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAuwfeQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAuwfeQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAuXZmQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAuXZmQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAuzhGg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAuzhGg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAV_K7g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAV_K7g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAv-irw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAv-irw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAV3RaA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAV3RaA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAv550Q:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAv550Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAV6ikg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAV6ikg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAV8R7Q:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAV8R7Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAvbmOQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAvbmOQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAVcrzA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAVcrzA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAVFn9w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAVFn9w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAvHdMw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAvHdMw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAVKxAA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAVKxAA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAvkXwg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAvkXwg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAvLjdA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAvLjdA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAvMcRg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAvMcRg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAVtQ8w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAVtQ8w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAVV-Uw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAVV-Uw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAVVbEw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAVVbEw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAvzQtA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAvzQtA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAw8k-g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAw8k-g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAWAMzw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAWAMzw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAWDo8g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAWDo8g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAwEVIA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAwEVIA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAWS7EQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAWS7EQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAx1ZVg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAx1ZVg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAX6Scg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAX6Scg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAXHijA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAXHijA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAXiGLA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAXiGLA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAXTiVg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAXTiVg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAXxJfg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAXxJfg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAY9OWg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAY9OWg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAYbmMg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAYbmMg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAybxbw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAybxbw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAyJ6fA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAyJ6fA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAyoAZw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAyoAZw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAyOieA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAyOieA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAz-7fA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAz-7fA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAZ2ncA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAZ2ncA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAzfkfQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAzfkfQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAZljsQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAZljsQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAzRy9g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAzRy9g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAzufwA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAzufwA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAZv_Nw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAZv_Nw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAZxdrA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAZxdrA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAZxGFw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAZxGFw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABAZzxbQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABAZzxbQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBa-_JQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBa-_JQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBA2F2Q:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBA2F2Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBa8XcA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBa8XcA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBAAepA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBAAepA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBAb8AQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBAb8AQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBabr2Q:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBabr2Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBakWKA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBakWKA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBaLWoQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBaLWoQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBaYYVw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBaYYVw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBb_Gtg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBb_Gtg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBB7Rbg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBB7Rbg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBbCu8w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBbCu8w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBbdczQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBbdczQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBbEvQQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBbEvQQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBBOXMA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBBOXMA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBBSWLA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBBSWLA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBbUt4w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBbUt4w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBbvszg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBbvszg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBbvVPw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBbvVPw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBbX_zg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBbX_zg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBc0POQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBc0POQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBcEXhw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBcEXhw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBCLH1Q:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBCLH1Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBclTBA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBclTBA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBCMlaQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBCMlaQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBcoUUg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBcoUUg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBcuamQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBcuamQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBCVPdg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBCVPdg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBcx-Vg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBcx-Vg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBcXe8Q:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBcXe8Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBD-MyQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBD-MyQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBd6s2A:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBd6s2A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBdBLCg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBdBLCg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBdce5g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBdce5g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBdNELw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBdNELw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBDOLOw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBDOLOw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBdpaMw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBdpaMw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBdR0PA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBdR0PA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBdr1Jw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBdr1Jw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBdRyJQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBdRyJQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBdsNvA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBdsNvA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBDtxeQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBDtxeQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBe6y2w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBe6y2w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBeAHBQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBeAHBQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBEAP8A:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBEAP8A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBedKuw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBedKuw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBeKawA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBeKawA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBEQ94g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBEQ94g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBEReyQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBEReyQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBerxGQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBerxGQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBetj8Q:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBetj8Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBeWHHA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBeWHHA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBezpCA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBezpCA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBF_iCA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBF_iCA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBF_nKQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBF_nKQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBf_q6g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBf_q6g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBf0tSg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBf0tSg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBF5QEw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBF5QEw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBF5VOw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBF5VOw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBF5Zrw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBF5Zrw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBfCcLg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBfCcLg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBfgcow:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBfgcow","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBfhrsg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBfhrsg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBfOxjQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBfOxjQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBfq5vw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBfq5vw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBFQq7w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBFQq7w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBfrVgA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBfrVgA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBFt-Og:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBFt-Og","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBFuFNQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBFuFNQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBfUijg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBfUijg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBFuKOg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBFuKOg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBFuOEQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBFuOEQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBFuxaA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBFuxaA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBg8GUQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBg8GUQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBg955g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBg955g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBGefKw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBGefKw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBgHvkw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBgHvkw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBGHXHQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBGHXHQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBGiwZA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBGiwZA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBGj6QQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBGj6QQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBgkBOw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBgkBOw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBgLrtQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBgLrtQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBgnx0g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBgnx0g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBGOeWQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBGOeWQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBGPDdg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBGPDdg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBGqpSg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBGqpSg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBgUeuw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBgUeuw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBGW6Ww:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBGW6Ww","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBh6KiA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBh6KiA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBh8HNA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBh8HNA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBhAFdw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBhAFdw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBhbyQA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBhbyQA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBhc9Sg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBhc9Sg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBhDBHQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBhDBHQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBhjbrg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBhjbrg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBhJhZg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBhJhZg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBhn12Q:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBhn12Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBHtPzw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBHtPzw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBhvCVA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBhvCVA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBhWqWA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBhWqWA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBHXIFg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBHXIFg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBHYCoQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBHYCoQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBHYzNQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBHYzNQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBIadww:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBIadww","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBiAGfA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBiAGfA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBIrkNg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBIrkNg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBiSvAw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBiSvAw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBitYcA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBitYcA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBivGHg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBivGHg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBIvkeA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBIvkeA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBiWzOQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBiWzOQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBj_8iA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBj_8iA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBJ-3xw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBJ-3xw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBJbW6w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBJbW6w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBjcWnQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBjcWnQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBjJ-xQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBjJ-xQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBJmXWQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBJmXWQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBJP4Tw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBJP4Tw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBjrtCg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBjrtCg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBJsi_g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBJsi_g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBjuDNg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBjuDNg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBjZBIA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBjZBIA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBK2yqw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBK2yqw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBkE5oQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBkE5oQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBKfSIQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBKfSIQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBKGrKg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBKGrKg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBKJUyw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBKJUyw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBkL9Ag:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBkL9Ag","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBkXXNg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBkXXNg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBL0IyQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBL0IyQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBl6HcA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBl6HcA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBLdYGQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBLdYGQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBLExBA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBLExBA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBlmoSQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBlmoSQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBLN63g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBLN63g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBlQjig:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBlQjig","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBM6YMA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBM6YMA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBMcxhA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBMcxhA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBMe1nA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBMe1nA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBMs5hg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBMs5hg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBn38NQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBn38NQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBNCudA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBNCudA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBNDMhg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBNDMhg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBNiA2w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBNiA2w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBnTFrg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBnTFrg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBnwaOA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBnwaOA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBO6NCA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBO6NCA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBOfM5w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBOfM5w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBoMtjA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBoMtjA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBPa5bg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBPa5bg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBPewjw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBPewjw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBPyXug:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBPyXug","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBQlU5w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBQlU5w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBQRElw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBQRElw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBRcDZQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBRcDZQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBRLxjg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBRLxjg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBRrdnQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBRrdnQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBRTLvQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBRTLvQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBRxUIg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBRxUIg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBS0o5Q:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBS0o5Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBSmfnA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBSmfnA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBSPkzA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBSPkzA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBTBTCA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBTBTCA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBThKIA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBThKIA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBTZkug:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBTZkug","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBU_rzw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBU_rzw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBU43uQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBU43uQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBUAhOA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBUAhOA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBUzFzg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBUzFzg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBV0AGg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBV0AGg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBVb7qA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBVb7qA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBVEfug:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBVEfug","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBVfPuw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBVfPuw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBViKZw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBViKZw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBVkf3w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBVkf3w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBVOnAQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBVOnAQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBVp6pA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBVp6pA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBVpHuw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBVpHuw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBVV7Yg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBVV7Yg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBVzifA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBVzifA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBW2dkg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBW2dkg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBWCG7w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBWCG7w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBWFpZg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBWFpZg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBWg-7g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBWg-7g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBWT5sQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBWT5sQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBWT8zQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBWT8zQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBWUAAg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBWUAAg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBWUC1g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBWUC1g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBXcVMg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBXcVMg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBXlaqg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBXlaqg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBXlYSA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBXlYSA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBXQVwg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBXQVwg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBXX-eA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBXX-eA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBY_IKw:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBY_IKw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBYAESQ:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBYAESQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBYbS6A:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBYbS6A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBZ5_Eg:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBZ5_Eg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBZci9g:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBZci9g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBZPi3w:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBZPi3w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:pull-request:PR_kwDOPRF1G88AAAABBZz2fA:repository","source":"github:pull-request:PR_kwDOPRF1G88AAAABBZz2fA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABIHSRLQ:github:pull-request:PR_kwDOPRF1G875tZHi","source":"github:review:PRR_kwDOPRF1G88AAAABIHSRLQ","target":"github:pull-request:PR_kwDOPRF1G875tZHi","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABIHSRLQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABIHSRLQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABIIs6Sg:github:pull-request:PR_kwDOPRF1G87xeQK0","source":"github:review:PRR_kwDOPRF1G88AAAABIIs6Sg","target":"github:pull-request:PR_kwDOPRF1G87xeQK0","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABIIs6Sg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABIIs6Sg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ-Kc1g:github:pull-request:PR_kwDOPRF1G88AAAABALbaEQ","source":"github:review:PRR_kwDOPRF1G88AAAABJ-Kc1g","target":"github:pull-request:PR_kwDOPRF1G88AAAABALbaEQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ-Kc1g:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJ-Kc1g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ-sxCw:github:pull-request:PR_kwDOPRF1G88AAAABALwqaA","source":"github:review:PRR_kwDOPRF1G88AAAABJ-sxCw","target":"github:pull-request:PR_kwDOPRF1G88AAAABALwqaA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ-sxCw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJ-sxCw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ15IPg:github:pull-request:PR_kwDOPRF1G88AAAABAD4w9w","source":"github:review:PRR_kwDOPRF1G88AAAABJ15IPg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAD4w9w","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ15IPg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJ15IPg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ1bP2g:github:pull-request:PR_kwDOPRF1G87__vHm","source":"github:review:PRR_kwDOPRF1G88AAAABJ1bP2g","target":"github:pull-request:PR_kwDOPRF1G87__vHm","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ1bP2g:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJ1bP2g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ20Ocg:github:pull-request:PR_kwDOPRF1G8790f_a","source":"github:review:PRR_kwDOPRF1G88AAAABJ20Ocg","target":"github:pull-request:PR_kwDOPRF1G8790f_a","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ20Ocg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJ20Ocg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ26WzQ:github:pull-request:PR_kwDOPRF1G88AAAABADg8Gw","source":"github:review:PRR_kwDOPRF1G88AAAABJ26WzQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABADg8Gw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ26WzQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJ26WzQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ2lAwg:github:pull-request:PR_kwDOPRF1G871nJQZ","source":"github:review:PRR_kwDOPRF1G88AAAABJ2lAwg","target":"github:pull-request:PR_kwDOPRF1G871nJQZ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ2lAwg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJ2lAwg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ2nKWA:github:pull-request:PR_kwDOPRF1G87_t6rR","source":"github:review:PRR_kwDOPRF1G88AAAABJ2nKWA","target":"github:pull-request:PR_kwDOPRF1G87_t6rR","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ2nKWA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJ2nKWA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ2v2qg:github:pull-request:PR_kwDOPRF1G87_j3Es","source":"github:review:PRR_kwDOPRF1G88AAAABJ2v2qg","target":"github:pull-request:PR_kwDOPRF1G87_j3Es","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ2v2qg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJ2v2qg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ2v3hA:github:pull-request:PR_kwDOPRF1G871nKIb","source":"github:review:PRR_kwDOPRF1G88AAAABJ2v3hA","target":"github:pull-request:PR_kwDOPRF1G871nKIb","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ2v3hA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJ2v3hA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ2vBgg:github:pull-request:PR_kwDOPRF1G8750-kI","source":"github:review:PRR_kwDOPRF1G88AAAABJ2vBgg","target":"github:pull-request:PR_kwDOPRF1G8750-kI","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ2vBgg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJ2vBgg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ2vIdg:github:pull-request:PR_kwDOPRF1G879Mr_H","source":"github:review:PRR_kwDOPRF1G88AAAABJ2vIdg","target":"github:pull-request:PR_kwDOPRF1G879Mr_H","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ2vIdg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJ2vIdg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ2ZMPg:github:pull-request:PR_kwDOPRF1G87_wpgP","source":"github:review:PRR_kwDOPRF1G88AAAABJ2ZMPg","target":"github:pull-request:PR_kwDOPRF1G87_wpgP","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ2ZMPg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJ2ZMPg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ66unA:github:pull-request:PR_kwDOPRF1G88AAAABAFPZlw","source":"github:review:PRR_kwDOPRF1G88AAAABJ66unA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAFPZlw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ66unA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJ66unA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ69WfA:github:pull-request:PR_kwDOPRF1G88AAAABADD7_A","source":"github:review:PRR_kwDOPRF1G88AAAABJ69WfA","target":"github:pull-request:PR_kwDOPRF1G88AAAABADD7_A","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ69WfA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJ69WfA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ78I8Q:github:pull-request:PR_kwDOPRF1G88AAAABAJuoMw","source":"github:review:PRR_kwDOPRF1G88AAAABJ78I8Q","target":"github:pull-request:PR_kwDOPRF1G88AAAABAJuoMw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ78I8Q:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJ78I8Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ80-MQ:github:pull-request:PR_kwDOPRF1G88AAAABADEBdQ","source":"github:review:PRR_kwDOPRF1G88AAAABJ80-MQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABADEBdQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ80-MQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJ80-MQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ9nR8A:github:pull-request:PR_kwDOPRF1G88AAAABALEY8g","source":"github:review:PRR_kwDOPRF1G88AAAABJ9nR8A","target":"github:pull-request:PR_kwDOPRF1G88AAAABALEY8g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJ9nR8A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJ9nR8A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJGhSiw:github:pull-request:PR_kwDOPRF1G87lrAyw","source":"github:review:PRR_kwDOPRF1G88AAAABJGhSiw","target":"github:pull-request:PR_kwDOPRF1G87lrAyw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJGhSiw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJGhSiw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJJtMRw:github:pull-request:PR_kwDOPRF1G87ypcub","source":"github:review:PRR_kwDOPRF1G88AAAABJJtMRw","target":"github:pull-request:PR_kwDOPRF1G87ypcub","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJJtMRw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJJtMRw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJlsDyQ:github:pull-request:PR_kwDOPRF1G878jQ5O","source":"github:review:PRR_kwDOPRF1G88AAAABJlsDyQ","target":"github:pull-request:PR_kwDOPRF1G878jQ5O","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJlsDyQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJlsDyQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJW-r2w:github:pull-request:PR_kwDOPRF1G87-Wczz","source":"github:review:PRR_kwDOPRF1G88AAAABJW-r2w","target":"github:pull-request:PR_kwDOPRF1G87-Wczz","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJW-r2w:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJW-r2w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJx5n7g:github:pull-request:PR_kwDOPRF1G87-pUV_","source":"github:review:PRR_kwDOPRF1G88AAAABJx5n7g","target":"github:pull-request:PR_kwDOPRF1G87-pUV_","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJx5n7g:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJx5n7g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJx8xng:github:pull-request:PR_kwDOPRF1G8784DL_","source":"github:review:PRR_kwDOPRF1G88AAAABJx8xng","target":"github:pull-request:PR_kwDOPRF1G8784DL_","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJx8xng:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJx8xng","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJXLDow:github:pull-request:PR_kwDOPRF1G878iklT","source":"github:review:PRR_kwDOPRF1G88AAAABJXLDow","target":"github:pull-request:PR_kwDOPRF1G878iklT","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJXLDow:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJXLDow","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJyPzmA:github:pull-request:PR_kwDOPRF1G88AAAABAA4FzQ","source":"github:review:PRR_kwDOPRF1G88AAAABJyPzmA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAA4FzQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABJyPzmA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABJyPzmA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK_tNEw:github:pull-request:PR_kwDOPRF1G87929Si","source":"github:review:PRR_kwDOPRF1G88AAAABK_tNEw","target":"github:pull-request:PR_kwDOPRF1G87929Si","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK_tNEw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK_tNEw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK_UDZQ:github:pull-request:PR_kwDOPRF1G88AAAABA4R0hA","source":"github:review:PRR_kwDOPRF1G88AAAABK_UDZQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABA4R0hA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK_UDZQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK_UDZQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK_VYPQ:github:pull-request:PR_kwDOPRF1G88AAAABBD-MyQ","source":"github:review:PRR_kwDOPRF1G88AAAABK_VYPQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBD-MyQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK_VYPQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK_VYPQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK-0Big:github:pull-request:PR_kwDOPRF1G88AAAABBFuxaA","source":"github:review:PRR_kwDOPRF1G88AAAABK-0Big","target":"github:pull-request:PR_kwDOPRF1G88AAAABBFuxaA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK-0Big:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK-0Big","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK-jMnA:github:pull-request:PR_kwDOPRF1G88AAAABBDtxeQ","source":"github:review:PRR_kwDOPRF1G88AAAABK-jMnA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBDtxeQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK-jMnA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK-jMnA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK-OK_A:github:pull-request:PR_kwDOPRF1G88AAAABBFQq7w","source":"github:review:PRR_kwDOPRF1G88AAAABK-OK_A","target":"github:pull-request:PR_kwDOPRF1G88AAAABBFQq7w","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK-OK_A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK-OK_A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK-s9RQ:github:pull-request:PR_kwDOPRF1G88AAAABA-Al3A","source":"github:review:PRR_kwDOPRF1G88AAAABK-s9RQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABA-Al3A","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK-s9RQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK-s9RQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK-WaXQ:github:pull-request:PR_kwDOPRF1G88AAAABAvMcRg","source":"github:review:PRR_kwDOPRF1G88AAAABK-WaXQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAvMcRg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK-WaXQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK-WaXQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK0Bmvw:github:pull-request:PR_kwDOPRF1G88AAAABApxZZA","source":"github:review:PRR_kwDOPRF1G88AAAABK0Bmvw","target":"github:pull-request:PR_kwDOPRF1G88AAAABApxZZA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK0Bmvw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK0Bmvw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK0FXmg:github:pull-request:PR_kwDOPRF1G8715vt_","source":"github:review:PRR_kwDOPRF1G88AAAABK0FXmg","target":"github:pull-request:PR_kwDOPRF1G8715vt_","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK0FXmg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK0FXmg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK2BK8g:github:pull-request:PR_kwDOPRF1G88AAAABA9s1_w","source":"github:review:PRR_kwDOPRF1G88AAAABK2BK8g","target":"github:pull-request:PR_kwDOPRF1G88AAAABA9s1_w","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK2BK8g:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK2BK8g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK32y-w:github:pull-request:PR_kwDOPRF1G88AAAABA73T9A","source":"github:review:PRR_kwDOPRF1G88AAAABK32y-w","target":"github:pull-request:PR_kwDOPRF1G88AAAABA73T9A","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK32y-w:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK32y-w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK33mHg:github:pull-request:PR_kwDOPRF1G87wsuvy","source":"github:review:PRR_kwDOPRF1G88AAAABK33mHg","target":"github:pull-request:PR_kwDOPRF1G87wsuvy","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK33mHg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK33mHg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK34xaQ:github:pull-request:PR_kwDOPRF1G88AAAABA_LEFg","source":"github:review:PRR_kwDOPRF1G88AAAABK34xaQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABA_LEFg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK34xaQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK34xaQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK34zAA:github:pull-request:PR_kwDOPRF1G88AAAABA_UzSw","source":"github:review:PRR_kwDOPRF1G88AAAABK34zAA","target":"github:pull-request:PR_kwDOPRF1G88AAAABA_UzSw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK34zAA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK34zAA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK3P4_A:github:pull-request:PR_kwDOPRF1G88AAAABA-6C7w","source":"github:review:PRR_kwDOPRF1G88AAAABK3P4_A","target":"github:pull-request:PR_kwDOPRF1G88AAAABA-6C7w","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK3P4_A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK3P4_A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK3PDtg:github:pull-request:PR_kwDOPRF1G88AAAABA_hKAQ","source":"github:review:PRR_kwDOPRF1G88AAAABK3PDtg","target":"github:pull-request:PR_kwDOPRF1G88AAAABA_hKAQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK3PDtg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK3PDtg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK3QMMQ:github:pull-request:PR_kwDOPRF1G88AAAABAnRbsg","source":"github:review:PRR_kwDOPRF1G88AAAABK3QMMQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAnRbsg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK3QMMQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK3QMMQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK3rSSQ:github:pull-request:PR_kwDOPRF1G88AAAABAgJZmg","source":"github:review:PRR_kwDOPRF1G88AAAABK3rSSQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAgJZmg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK3rSSQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK3rSSQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK3vPuw:github:pull-request:PR_kwDOPRF1G87-8iJh","source":"github:review:PRR_kwDOPRF1G88AAAABK3vPuw","target":"github:pull-request:PR_kwDOPRF1G87-8iJh","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK3vPuw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK3vPuw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK3whSQ:github:pull-request:PR_kwDOPRF1G88AAAABA_5ZKA","source":"github:review:PRR_kwDOPRF1G88AAAABK3whSQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABA_5ZKA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK3whSQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK3whSQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK47JfQ:github:pull-request:PR_kwDOPRF1G88AAAABBA2F2Q","source":"github:review:PRR_kwDOPRF1G88AAAABK47JfQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBA2F2Q","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK47JfQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK47JfQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK4ct3Q:github:pull-request:PR_kwDOPRF1G8788s9S","source":"github:review:PRR_kwDOPRF1G88AAAABK4ct3Q","target":"github:pull-request:PR_kwDOPRF1G8788s9S","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK4ct3Q:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK4ct3Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK4ppqA:github:pull-request:PR_kwDOPRF1G88AAAABA_uYlw","source":"github:review:PRR_kwDOPRF1G88AAAABK4ppqA","target":"github:pull-request:PR_kwDOPRF1G88AAAABA_uYlw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK4ppqA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK4ppqA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK4xv-A:github:pull-request:PR_kwDOPRF1G88AAAABA0ZyvQ","source":"github:review:PRR_kwDOPRF1G88AAAABK4xv-A","target":"github:pull-request:PR_kwDOPRF1G88AAAABA0ZyvQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK4xv-A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK4xv-A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK5bstA:github:pull-request:PR_kwDOPRF1G88AAAABBBOXMA","source":"github:review:PRR_kwDOPRF1G88AAAABK5bstA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBBOXMA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK5bstA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK5bstA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK5vXdw:github:pull-request:PR_kwDOPRF1G88AAAABBAb8AQ","source":"github:review:PRR_kwDOPRF1G88AAAABK5vXdw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBAb8AQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK5vXdw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK5vXdw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK6AO0w:github:pull-request:PR_kwDOPRF1G88AAAABAzufwA","source":"github:review:PRR_kwDOPRF1G88AAAABK6AO0w","target":"github:pull-request:PR_kwDOPRF1G88AAAABAzufwA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK6AO0w:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK6AO0w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK6phSQ:github:pull-request:PR_kwDOPRF1G88AAAABAnCSyg","source":"github:review:PRR_kwDOPRF1G88AAAABK6phSQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAnCSyg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK6phSQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK6phSQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK6RT4w:github:pull-request:PR_kwDOPRF1G88AAAABBB7Rbg","source":"github:review:PRR_kwDOPRF1G88AAAABK6RT4w","target":"github:pull-request:PR_kwDOPRF1G88AAAABBB7Rbg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK6RT4w:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK6RT4w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK7CAiw:github:pull-request:PR_kwDOPRF1G88AAAABBAAepA","source":"github:review:PRR_kwDOPRF1G88AAAABK7CAiw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBAAepA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK7CAiw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK7CAiw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK8_kjg:github:pull-request:PR_kwDOPRF1G88AAAABBEReyQ","source":"github:review:PRR_kwDOPRF1G88AAAABK8_kjg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBEReyQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK8_kjg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK8_kjg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK8SQeQ:github:pull-request:PR_kwDOPRF1G88AAAABAuSWZQ","source":"github:review:PRR_kwDOPRF1G88AAAABK8SQeQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAuSWZQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK8SQeQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK8SQeQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK8ZLvA:github:pull-request:PR_kwDOPRF1G88AAAABBDOLOw","source":"github:review:PRR_kwDOPRF1G88AAAABK8ZLvA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBDOLOw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK8ZLvA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK8ZLvA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK9jo4g:github:pull-request:PR_kwDOPRF1G88AAAABBEQ94g","source":"github:review:PRR_kwDOPRF1G88AAAABK9jo4g","target":"github:pull-request:PR_kwDOPRF1G88AAAABBEQ94g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK9jo4g:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK9jo4g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK9LdKg:github:pull-request:PR_kwDOPRF1G88AAAABA76OWw","source":"github:review:PRR_kwDOPRF1G88AAAABK9LdKg","target":"github:pull-request:PR_kwDOPRF1G88AAAABA76OWw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABK9LdKg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABK9LdKg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKaFe6A:github:pull-request:PR_kwDOPRF1G88AAAABAjJicQ","source":"github:review:PRR_kwDOPRF1G88AAAABKaFe6A","target":"github:pull-request:PR_kwDOPRF1G88AAAABAjJicQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKaFe6A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKaFe6A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKaghBQ:github:pull-request:PR_kwDOPRF1G88AAAABAjho4Q","source":"github:review:PRR_kwDOPRF1G88AAAABKaghBQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAjho4Q","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKaghBQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKaghBQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKamBbQ:github:pull-request:PR_kwDOPRF1G87-qgJ4","source":"github:review:PRR_kwDOPRF1G88AAAABKamBbQ","target":"github:pull-request:PR_kwDOPRF1G87-qgJ4","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKamBbQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKamBbQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKaodZg:github:pull-request:PR_kwDOPRF1G87-s47h","source":"github:review:PRR_kwDOPRF1G88AAAABKaodZg","target":"github:pull-request:PR_kwDOPRF1G87-s47h","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKaodZg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKaodZg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKAsY3w:github:pull-request:PR_kwDOPRF1G879az0L","source":"github:review:PRR_kwDOPRF1G88AAAABKAsY3w","target":"github:pull-request:PR_kwDOPRF1G879az0L","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKAsY3w:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKAsY3w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKb-r9g:github:pull-request:PR_kwDOPRF1G88AAAABAkvA6A","source":"github:review:PRR_kwDOPRF1G88AAAABKb-r9g","target":"github:pull-request:PR_kwDOPRF1G88AAAABAkvA6A","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKb-r9g:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKb-r9g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKB3PSQ:github:pull-request:PR_kwDOPRF1G88AAAABAOYXWw","source":"github:review:PRR_kwDOPRF1G88AAAABKB3PSQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAOYXWw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKB3PSQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKB3PSQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKB62Rg:github:pull-request:PR_kwDOPRF1G88AAAABAGBMXQ","source":"github:review:PRR_kwDOPRF1G88AAAABKB62Rg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAGBMXQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKB62Rg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKB62Rg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKB64MQ:github:pull-request:PR_kwDOPRF1G88AAAABAOfd1g","source":"github:review:PRR_kwDOPRF1G88AAAABKB64MQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAOfd1g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKB64MQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKB64MQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKB6R0A:github:pull-request:PR_kwDOPRF1G88AAAABAOiqvA","source":"github:review:PRR_kwDOPRF1G88AAAABKB6R0A","target":"github:pull-request:PR_kwDOPRF1G88AAAABAOiqvA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKB6R0A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKB6R0A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKB8Wow:github:pull-request:PR_kwDOPRF1G88AAAABAOib_w","source":"github:review:PRR_kwDOPRF1G88AAAABKB8Wow","target":"github:pull-request:PR_kwDOPRF1G88AAAABAOib_w","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKB8Wow:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKB8Wow","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKbCdXA:github:pull-request:PR_kwDOPRF1G88AAAABAgbOjg","source":"github:review:PRR_kwDOPRF1G88AAAABKbCdXA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAgbOjg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKbCdXA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKbCdXA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKbfHlQ:github:pull-request:PR_kwDOPRF1G88AAAABAeqsEg","source":"github:review:PRR_kwDOPRF1G88AAAABKbfHlQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAeqsEg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKbfHlQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKbfHlQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKBg9zg:github:pull-request:PR_kwDOPRF1G87-X-Bu","source":"github:review:PRR_kwDOPRF1G88AAAABKBg9zg","target":"github:pull-request:PR_kwDOPRF1G87-X-Bu","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKBg9zg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKBg9zg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKBiAvw:github:pull-request:PR_kwDOPRF1G871o2aw","source":"github:review:PRR_kwDOPRF1G88AAAABKBiAvw","target":"github:pull-request:PR_kwDOPRF1G871o2aw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKBiAvw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKBiAvw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKbpD_g:github:pull-request:PR_kwDOPRF1G88AAAABAkcvQw","source":"github:review:PRR_kwDOPRF1G88AAAABKbpD_g","target":"github:pull-request:PR_kwDOPRF1G88AAAABAkcvQw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKbpD_g:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKbpD_g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKbpF6g:github:pull-request:PR_kwDOPRF1G88AAAABAccoDw","source":"github:review:PRR_kwDOPRF1G88AAAABKbpF6g","target":"github:pull-request:PR_kwDOPRF1G88AAAABAccoDw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKbpF6g:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKbpF6g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKbuL-w:github:pull-request:PR_kwDOPRF1G88AAAABAiLS5w","source":"github:review:PRR_kwDOPRF1G88AAAABKbuL-w","target":"github:pull-request:PR_kwDOPRF1G88AAAABAiLS5w","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKbuL-w:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKbuL-w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKbwR5A:github:pull-request:PR_kwDOPRF1G88AAAABAj1i0Q","source":"github:review:PRR_kwDOPRF1G88AAAABKbwR5A","target":"github:pull-request:PR_kwDOPRF1G88AAAABAj1i0Q","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKbwR5A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKbwR5A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKbyL6Q:github:pull-request:PR_kwDOPRF1G87-z9_l","source":"github:review:PRR_kwDOPRF1G88AAAABKbyL6Q","target":"github:pull-request:PR_kwDOPRF1G87-z9_l","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKbyL6Q:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKbyL6Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKbzg3Q:github:pull-request:PR_kwDOPRF1G88AAAABAjQ9BQ","source":"github:review:PRR_kwDOPRF1G88AAAABKbzg3Q","target":"github:pull-request:PR_kwDOPRF1G88AAAABAjQ9BQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKbzg3Q:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKbzg3Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKc-Mog:github:pull-request:PR_kwDOPRF1G88AAAABAlkPIw","source":"github:review:PRR_kwDOPRF1G88AAAABKc-Mog","target":"github:pull-request:PR_kwDOPRF1G88AAAABAlkPIw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKc-Mog:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKc-Mog","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKcIg2Q:github:pull-request:PR_kwDOPRF1G88AAAABAcBl5g","source":"github:review:PRR_kwDOPRF1G88AAAABKcIg2Q","target":"github:pull-request:PR_kwDOPRF1G88AAAABAcBl5g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKcIg2Q:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKcIg2Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKciZ1A:github:pull-request:PR_kwDOPRF1G88AAAABAk8QKw","source":"github:review:PRR_kwDOPRF1G88AAAABKciZ1A","target":"github:pull-request:PR_kwDOPRF1G88AAAABAk8QKw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKciZ1A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKciZ1A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKCpuxA:github:pull-request:PR_kwDOPRF1G88AAAABAPDsmw","source":"github:review:PRR_kwDOPRF1G88AAAABKCpuxA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAPDsmw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKCpuxA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKCpuxA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKCQQOg:github:pull-request:PR_kwDOPRF1G88AAAABAO4KJA","source":"github:review:PRR_kwDOPRF1G88AAAABKCQQOg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAO4KJA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKCQQOg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKCQQOg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKCU9mg:github:pull-request:PR_kwDOPRF1G88AAAABAOxm9g","source":"github:review:PRR_kwDOPRF1G88AAAABKCU9mg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAOxm9g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKCU9mg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKCU9mg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKd0uLQ:github:pull-request:PR_kwDOPRF1G88AAAABAGiuJQ","source":"github:review:PRR_kwDOPRF1G88AAAABKd0uLQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAGiuJQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKd0uLQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKd0uLQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKDAhKg:github:pull-request:PR_kwDOPRF1G88AAAABABrHpg","source":"github:review:PRR_kwDOPRF1G88AAAABKDAhKg","target":"github:pull-request:PR_kwDOPRF1G88AAAABABrHpg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKDAhKg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKDAhKg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKDgzeg:github:pull-request:PR_kwDOPRF1G88AAAABAPpqIg","source":"github:review:PRR_kwDOPRF1G88AAAABKDgzeg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAPpqIg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKDgzeg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKDgzeg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKdYlBQ:github:pull-request:PR_kwDOPRF1G88AAAABAl6dfA","source":"github:review:PRR_kwDOPRF1G88AAAABKdYlBQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAl6dfA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKdYlBQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKdYlBQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKE_oFA:github:pull-request:PR_kwDOPRF1G88AAAABARI-1g","source":"github:review:PRR_kwDOPRF1G88AAAABKE_oFA","target":"github:pull-request:PR_kwDOPRF1G88AAAABARI-1g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKE_oFA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKE_oFA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKe2eZw:github:pull-request:PR_kwDOPRF1G88AAAABAnP3iQ","source":"github:review:PRR_kwDOPRF1G88AAAABKe2eZw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAnP3iQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKe2eZw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKe2eZw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKedI4Q:github:pull-request:PR_kwDOPRF1G88AAAABAm3A0A","source":"github:review:PRR_kwDOPRF1G88AAAABKedI4Q","target":"github:pull-request:PR_kwDOPRF1G88AAAABAm3A0A","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKedI4Q:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKedI4Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKeKScA:github:pull-request:PR_kwDOPRF1G88AAAABAd9ajw","source":"github:review:PRR_kwDOPRF1G88AAAABKeKScA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAd9ajw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKeKScA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKeKScA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKerbMw:github:pull-request:PR_kwDOPRF1G88AAAABAFMOOQ","source":"github:review:PRR_kwDOPRF1G88AAAABKerbMw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAFMOOQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKerbMw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKerbMw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKesogA:github:pull-request:PR_kwDOPRF1G88AAAABAnE7MQ","source":"github:review:PRR_kwDOPRF1G88AAAABKesogA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAnE7MQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKesogA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKesogA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKeudUQ:github:pull-request:PR_kwDOPRF1G88AAAABAUkf0g","source":"github:review:PRR_kwDOPRF1G88AAAABKeudUQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAUkf0g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKeudUQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKeudUQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKf7zYw:github:pull-request:PR_kwDOPRF1G88AAAABAodlrg","source":"github:review:PRR_kwDOPRF1G88AAAABKf7zYw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAodlrg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKf7zYw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKf7zYw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKfac0A:github:pull-request:PR_kwDOPRF1G88AAAABAn3oAA","source":"github:review:PRR_kwDOPRF1G88AAAABKfac0A","target":"github:pull-request:PR_kwDOPRF1G88AAAABAn3oAA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKfac0A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKfac0A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKFd1Xg:github:pull-request:PR_kwDOPRF1G88AAAABARcPWw","source":"github:review:PRR_kwDOPRF1G88AAAABKFd1Xg","target":"github:pull-request:PR_kwDOPRF1G88AAAABARcPWw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKFd1Xg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKFd1Xg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKFFnvA:github:pull-request:PR_kwDOPRF1G87wB3mX","source":"github:review:PRR_kwDOPRF1G88AAAABKFFnvA","target":"github:pull-request:PR_kwDOPRF1G87wB3mX","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKFFnvA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKFFnvA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKfKu8g:github:pull-request:PR_kwDOPRF1G88AAAABAnlmQA","source":"github:review:PRR_kwDOPRF1G88AAAABKfKu8g","target":"github:pull-request:PR_kwDOPRF1G88AAAABAnlmQA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKfKu8g:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKfKu8g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKfopBA:github:pull-request:PR_kwDOPRF1G88AAAABAnnxZQ","source":"github:review:PRR_kwDOPRF1G88AAAABKfopBA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAnnxZQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKfopBA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKfopBA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKfoQNw:github:pull-request:PR_kwDOPRF1G88AAAABAoEhEg","source":"github:review:PRR_kwDOPRF1G88AAAABKfoQNw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAoEhEg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKfoQNw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKfoQNw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKfQg4A:github:pull-request:PR_kwDOPRF1G88AAAABAnqi_A","source":"github:review:PRR_kwDOPRF1G88AAAABKfQg4A","target":"github:pull-request:PR_kwDOPRF1G88AAAABAnqi_A","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKfQg4A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKfQg4A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKFUXwQ:github:pull-request:PR_kwDOPRF1G88AAAABAQ4zrg","source":"github:review:PRR_kwDOPRF1G88AAAABKFUXwQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAQ4zrg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKFUXwQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKFUXwQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKFXHaw:github:pull-request:PR_kwDOPRF1G88AAAABAQ1oDA","source":"github:review:PRR_kwDOPRF1G88AAAABKFXHaw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAQ1oDA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKFXHaw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKFXHaw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKfy4rg:github:pull-request:PR_kwDOPRF1G88AAAABAnRFHQ","source":"github:review:PRR_kwDOPRF1G88AAAABKfy4rg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAnRFHQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKfy4rg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKfy4rg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKG02yA:github:pull-request:PR_kwDOPRF1G88AAAABAR7R7g","source":"github:review:PRR_kwDOPRF1G88AAAABKG02yA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAR7R7g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKG02yA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKG02yA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKg5PMA:github:pull-request:PR_kwDOPRF1G88AAAABAbR5kA","source":"github:review:PRR_kwDOPRF1G88AAAABKg5PMA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAbR5kA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKg5PMA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKg5PMA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKg84-w:github:pull-request:PR_kwDOPRF1G88AAAABAp30bA","source":"github:review:PRR_kwDOPRF1G88AAAABKg84-w","target":"github:pull-request:PR_kwDOPRF1G88AAAABAp30bA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKg84-w:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKg84-w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKg84dA:github:pull-request:PR_kwDOPRF1G8742xIy","source":"github:review:PRR_kwDOPRF1G88AAAABKg84dA","target":"github:pull-request:PR_kwDOPRF1G8742xIy","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKg84dA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKg84dA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKgb13Q:github:pull-request:PR_kwDOPRF1G88AAAABApGv5g","source":"github:review:PRR_kwDOPRF1G88AAAABKgb13Q","target":"github:pull-request:PR_kwDOPRF1G88AAAABApGv5g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKgb13Q:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKgb13Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKgKaiQ:github:pull-request:PR_kwDOPRF1G872Ywse","source":"github:review:PRR_kwDOPRF1G88AAAABKgKaiQ","target":"github:pull-request:PR_kwDOPRF1G872Ywse","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKgKaiQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKgKaiQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKglFNg:github:pull-request:PR_kwDOPRF1G88AAAABApTFWg","source":"github:review:PRR_kwDOPRF1G88AAAABKglFNg","target":"github:pull-request:PR_kwDOPRF1G88AAAABApTFWg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKglFNg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKglFNg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKgp5Cg:github:pull-request:PR_kwDOPRF1G88AAAABAkF8sw","source":"github:review:PRR_kwDOPRF1G88AAAABKgp5Cg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAkF8sw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKgp5Cg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKgp5Cg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKgQ7Uw:github:pull-request:PR_kwDOPRF1G88AAAABAoyGpA","source":"github:review:PRR_kwDOPRF1G88AAAABKgQ7Uw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAoyGpA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKgQ7Uw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKgQ7Uw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKGuJlQ:github:pull-request:PR_kwDOPRF1G8725KmP","source":"github:review:PRR_kwDOPRF1G88AAAABKGuJlQ","target":"github:pull-request:PR_kwDOPRF1G8725KmP","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKGuJlQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKGuJlQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKgVYbw:github:pull-request:PR_kwDOPRF1G88AAAABAo9e8Q","source":"github:review:PRR_kwDOPRF1G88AAAABKgVYbw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAo9e8Q","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKgVYbw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKgVYbw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKgW1EA:github:pull-request:PR_kwDOPRF1G88AAAABAo7CYw","source":"github:review:PRR_kwDOPRF1G88AAAABKgW1EA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAo7CYw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKgW1EA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKgW1EA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKh4Vjg:github:pull-request:PR_kwDOPRF1G88AAAABArhJ5Q","source":"github:review:PRR_kwDOPRF1G88AAAABKh4Vjg","target":"github:pull-request:PR_kwDOPRF1G88AAAABArhJ5Q","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKh4Vjg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKh4Vjg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKh6jqA:github:pull-request:PR_kwDOPRF1G88AAAABArkqrg","source":"github:review:PRR_kwDOPRF1G88AAAABKh6jqA","target":"github:pull-request:PR_kwDOPRF1G88AAAABArkqrg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKh6jqA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKh6jqA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKh8vSg:github:pull-request:PR_kwDOPRF1G88AAAABArquVg","source":"github:review:PRR_kwDOPRF1G88AAAABKh8vSg","target":"github:pull-request:PR_kwDOPRF1G88AAAABArquVg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKh8vSg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKh8vSg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKh998Q:github:pull-request:PR_kwDOPRF1G88AAAABArt-1A","source":"github:review:PRR_kwDOPRF1G88AAAABKh998Q","target":"github:pull-request:PR_kwDOPRF1G88AAAABArt-1A","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKh998Q:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKh998Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhD6zw:github:pull-request:PR_kwDOPRF1G88AAAABAqMWBQ","source":"github:review:PRR_kwDOPRF1G88AAAABKhD6zw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAqMWBQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhD6zw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKhD6zw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKHECeA:github:pull-request:PR_kwDOPRF1G88AAAABAPAtjA","source":"github:review:PRR_kwDOPRF1G88AAAABKHECeA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAPAtjA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKHECeA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKHECeA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKHGlQg:github:pull-request:PR_kwDOPRF1G88AAAABAMrNkQ","source":"github:review:PRR_kwDOPRF1G88AAAABKHGlQg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAMrNkQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKHGlQg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKHGlQg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhhpaw:github:pull-request:PR_kwDOPRF1G88AAAABAq9EgA","source":"github:review:PRR_kwDOPRF1G88AAAABKhhpaw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAq9EgA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhhpaw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKhhpaw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhoc4A:github:pull-request:PR_kwDOPRF1G88AAAABArG1lA","source":"github:review:PRR_kwDOPRF1G88AAAABKhoc4A","target":"github:pull-request:PR_kwDOPRF1G88AAAABArG1lA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhoc4A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKhoc4A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhonrQ:github:pull-request:PR_kwDOPRF1G87_n7gw","source":"github:review:PRR_kwDOPRF1G88AAAABKhonrQ","target":"github:pull-request:PR_kwDOPRF1G87_n7gw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhonrQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKhonrQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhQHIg:github:pull-request:PR_kwDOPRF1G88AAAABAqhLYg","source":"github:review:PRR_kwDOPRF1G88AAAABKhQHIg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAqhLYg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhQHIg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKhQHIg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKHrn-A:github:pull-request:PR_kwDOPRF1G88AAAABATWhmg","source":"github:review:PRR_kwDOPRF1G88AAAABKHrn-A","target":"github:pull-request:PR_kwDOPRF1G88AAAABATWhmg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKHrn-A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKHrn-A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhsj-A:github:pull-request:PR_kwDOPRF1G88AAAABAql8gg","source":"github:review:PRR_kwDOPRF1G88AAAABKhsj-A","target":"github:pull-request:PR_kwDOPRF1G88AAAABAql8gg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhsj-A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKhsj-A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhTsPw:github:pull-request:PR_kwDOPRF1G88AAAABAnasrA","source":"github:review:PRR_kwDOPRF1G88AAAABKhTsPw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAnasrA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhTsPw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKhTsPw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhvidA:github:pull-request:PR_kwDOPRF1G88AAAABAfL8hg","source":"github:review:PRR_kwDOPRF1G88AAAABKhvidA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAfL8hg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhvidA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKhvidA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhvzwQ:github:pull-request:PR_kwDOPRF1G88AAAABApNr5g","source":"github:review:PRR_kwDOPRF1G88AAAABKhvzwQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABApNr5g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhvzwQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKhvzwQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhw0GQ:github:pull-request:PR_kwDOPRF1G87-6-JF","source":"github:review:PRR_kwDOPRF1G88AAAABKhw0GQ","target":"github:pull-request:PR_kwDOPRF1G87-6-JF","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhw0GQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKhw0GQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhwchQ:github:pull-request:PR_kwDOPRF1G88AAAABAqFqFw","source":"github:review:PRR_kwDOPRF1G88AAAABKhwchQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAqFqFw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhwchQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKhwchQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhwnxw:github:pull-request:PR_kwDOPRF1G88AAAABAqyNkw","source":"github:review:PRR_kwDOPRF1G88AAAABKhwnxw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAqyNkw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhwnxw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKhwnxw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhWqVg:github:pull-request:PR_kwDOPRF1G88AAAABAqrzaA","source":"github:review:PRR_kwDOPRF1G88AAAABKhWqVg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAqrzaA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhWqVg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKhWqVg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhYNow:github:pull-request:PR_kwDOPRF1G87_RAEx","source":"github:review:PRR_kwDOPRF1G88AAAABKhYNow","target":"github:pull-request:PR_kwDOPRF1G87_RAEx","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhYNow:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKhYNow","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhYPNA:github:pull-request:PR_kwDOPRF1G877jkCj","source":"github:review:PRR_kwDOPRF1G88AAAABKhYPNA","target":"github:pull-request:PR_kwDOPRF1G877jkCj","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhYPNA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKhYPNA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhYQ3A:github:pull-request:PR_kwDOPRF1G88AAAABAnI-7g","source":"github:review:PRR_kwDOPRF1G88AAAABKhYQ3A","target":"github:pull-request:PR_kwDOPRF1G88AAAABAnI-7g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhYQ3A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKhYQ3A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhYQEw:github:pull-request:PR_kwDOPRF1G87-vxPy","source":"github:review:PRR_kwDOPRF1G88AAAABKhYQEw","target":"github:pull-request:PR_kwDOPRF1G87-vxPy","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhYQEw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKhYQEw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhYRnA:github:pull-request:PR_kwDOPRF1G87ryR-D","source":"github:review:PRR_kwDOPRF1G88AAAABKhYRnA","target":"github:pull-request:PR_kwDOPRF1G87ryR-D","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKhYRnA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKhYRnA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKIA5UQ:github:pull-request:PR_kwDOPRF1G87-oYKU","source":"github:review:PRR_kwDOPRF1G88AAAABKIA5UQ","target":"github:pull-request:PR_kwDOPRF1G87-oYKU","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKIA5UQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKIA5UQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKIBztw:github:pull-request:PR_kwDOPRF1G88AAAABADD9Ow","source":"github:review:PRR_kwDOPRF1G88AAAABKIBztw","target":"github:pull-request:PR_kwDOPRF1G88AAAABADD9Ow","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKIBztw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKIBztw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKiDUuw:github:pull-request:PR_kwDOPRF1G88AAAABAr6JgQ","source":"github:review:PRR_kwDOPRF1G88AAAABKiDUuw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAr6JgQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKiDUuw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKiDUuw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKie-Ow:github:pull-request:PR_kwDOPRF1G88AAAABAsnkDw","source":"github:review:PRR_kwDOPRF1G88AAAABKie-Ow","target":"github:pull-request:PR_kwDOPRF1G88AAAABAsnkDw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKie-Ow:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKie-Ow","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKiggEA:github:pull-request:PR_kwDOPRF1G87-YEY4","source":"github:review:PRR_kwDOPRF1G88AAAABKiggEA","target":"github:pull-request:PR_kwDOPRF1G87-YEY4","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKiggEA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKiggEA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKIilvA:github:pull-request:PR_kwDOPRF1G88AAAABAKeLXw","source":"github:review:PRR_kwDOPRF1G88AAAABKIilvA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAKeLXw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKIilvA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKIilvA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKiINwg:github:pull-request:PR_kwDOPRF1G88AAAABAlwJ2Q","source":"github:review:PRR_kwDOPRF1G88AAAABKiINwg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAlwJ2Q","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKiINwg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKiINwg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKikPrA:github:pull-request:PR_kwDOPRF1G88AAAABAr5c7w","source":"github:review:PRR_kwDOPRF1G88AAAABKikPrA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAr5c7w","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKikPrA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKikPrA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKilQnw:github:pull-request:PR_kwDOPRF1G88AAAABAj0pPg","source":"github:review:PRR_kwDOPRF1G88AAAABKilQnw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAj0pPg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKilQnw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKilQnw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKILzWA:github:pull-request:PR_kwDOPRF1G88AAAABAQ91Ig","source":"github:review:PRR_kwDOPRF1G88AAAABKILzWA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAQ91Ig","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKILzWA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKILzWA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKIM1rw:github:pull-request:PR_kwDOPRF1G876KBAg","source":"github:review:PRR_kwDOPRF1G88AAAABKIM1rw","target":"github:pull-request:PR_kwDOPRF1G876KBAg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKIM1rw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKIM1rw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKiNFbw:github:pull-request:PR_kwDOPRF1G88AAAABAsAHag","source":"github:review:PRR_kwDOPRF1G88AAAABKiNFbw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAsAHag","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKiNFbw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKiNFbw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKINJHg:github:pull-request:PR_kwDOPRF1G88AAAABAQ7auA","source":"github:review:PRR_kwDOPRF1G88AAAABKINJHg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAQ7auA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKINJHg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKINJHg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKINulg:github:pull-request:PR_kwDOPRF1G88AAAABAREpxw","source":"github:review:PRR_kwDOPRF1G88AAAABKINulg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAREpxw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKINulg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKINulg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKIPaPg:github:pull-request:PR_kwDOPRF1G88AAAABAQwEDA","source":"github:review:PRR_kwDOPRF1G88AAAABKIPaPg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAQwEDA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKIPaPg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKIPaPg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKiPo4Q:github:pull-request:PR_kwDOPRF1G878GQ5P","source":"github:review:PRR_kwDOPRF1G88AAAABKiPo4Q","target":"github:pull-request:PR_kwDOPRF1G878GQ5P","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKiPo4Q:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKiPo4Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKISYfQ:github:pull-request:PR_kwDOPRF1G88AAAABAF5yAg","source":"github:review:PRR_kwDOPRF1G88AAAABKISYfQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAF5yAg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKISYfQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKISYfQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKiTWrQ:github:pull-request:PR_kwDOPRF1G88AAAABAsIg4Q","source":"github:review:PRR_kwDOPRF1G88AAAABKiTWrQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAsIg4Q","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKiTWrQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKiTWrQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKiw0Nw:github:pull-request:PR_kwDOPRF1G88AAAABAqUlLA","source":"github:review:PRR_kwDOPRF1G88AAAABKiw0Nw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAqUlLA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKiw0Nw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKiw0Nw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKiwtuA:github:pull-request:PR_kwDOPRF1G88AAAABArbAHg","source":"github:review:PRR_kwDOPRF1G88AAAABKiwtuA","target":"github:pull-request:PR_kwDOPRF1G88AAAABArbAHg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKiwtuA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKiwtuA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKiZiQA:github:pull-request:PR_kwDOPRF1G88AAAABAn2Cdw","source":"github:review:PRR_kwDOPRF1G88AAAABKiZiQA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAn2Cdw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKiZiQA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKiZiQA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKJ74lg:github:pull-request:PR_kwDOPRF1G875wAdK","source":"github:review:PRR_kwDOPRF1G88AAAABKJ74lg","target":"github:pull-request:PR_kwDOPRF1G875wAdK","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKJ74lg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKJ74lg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKjBzlA:github:pull-request:PR_kwDOPRF1G88AAAABAtd8LQ","source":"github:review:PRR_kwDOPRF1G88AAAABKjBzlA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAtd8LQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKjBzlA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKjBzlA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKjclXA:github:pull-request:PR_kwDOPRF1G88AAAABAuAUEQ","source":"github:review:PRR_kwDOPRF1G88AAAABKjclXA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAuAUEQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKjclXA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKjclXA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKjCmqg:github:pull-request:PR_kwDOPRF1G88AAAABAsGrYQ","source":"github:review:PRR_kwDOPRF1G88AAAABKjCmqg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAsGrYQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKjCmqg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKjCmqg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKjcpZg:github:pull-request:PR_kwDOPRF1G88AAAABAuBong","source":"github:review:PRR_kwDOPRF1G88AAAABKjcpZg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAuBong","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKjcpZg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKjcpZg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKjjx7w:github:pull-request:PR_kwDOPRF1G88AAAABAuXZmQ","source":"github:review:PRR_kwDOPRF1G88AAAABKjjx7w","target":"github:pull-request:PR_kwDOPRF1G88AAAABAuXZmQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKjjx7w:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKjjx7w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKjlzBQ:github:pull-request:PR_kwDOPRF1G88AAAABAuLwiA","source":"github:review:PRR_kwDOPRF1G88AAAABKjlzBQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAuLwiA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKjlzBQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKjlzBQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKJMCDA:github:pull-request:PR_kwDOPRF1G88AAAABAScK7w","source":"github:review:PRR_kwDOPRF1G88AAAABKJMCDA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAScK7w","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKJMCDA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKJMCDA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKJp7nQ:github:pull-request:PR_kwDOPRF1G88AAAABATqQPQ","source":"github:review:PRR_kwDOPRF1G88AAAABKJp7nQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABATqQPQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKJp7nQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKJp7nQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKjSwiw:github:pull-request:PR_kwDOPRF1G88AAAABAt49Ew","source":"github:review:PRR_kwDOPRF1G88AAAABKjSwiw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAt49Ew","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKjSwiw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKjSwiw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKjVNOw:github:pull-request:PR_kwDOPRF1G88AAAABAuFJoA","source":"github:review:PRR_kwDOPRF1G88AAAABKjVNOw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAuFJoA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKjVNOw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKjVNOw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKjxRnw:github:pull-request:PR_kwDOPRF1G88AAAABAuwfeQ","source":"github:review:PRR_kwDOPRF1G88AAAABKjxRnw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAuwfeQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKjxRnw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKjxRnw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKK-VwQ:github:pull-request:PR_kwDOPRF1G88AAAABAV_K7g","source":"github:review:PRR_kwDOPRF1G88AAAABKK-VwQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAV_K7g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKK-VwQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKK-VwQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKkCEGg:github:pull-request:PR_kwDOPRF1G88AAAABAvLjdA","source":"github:review:PRR_kwDOPRF1G88AAAABKkCEGg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAvLjdA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKkCEGg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKkCEGg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKkE-_A:github:pull-request:PR_kwDOPRF1G88AAAABAvHdMw","source":"github:review:PRR_kwDOPRF1G88AAAABKkE-_A","target":"github:pull-request:PR_kwDOPRF1G88AAAABAvHdMw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKkE-_A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKkE-_A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKKF0qw:github:pull-request:PR_kwDOPRF1G88AAAABAVKxAA","source":"github:review:PRR_kwDOPRF1G88AAAABKKF0qw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAVKxAA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKKF0qw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKKF0qw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKkFazg:github:pull-request:PR_kwDOPRF1G88AAAABAu13Jw","source":"github:review:PRR_kwDOPRF1G88AAAABKkFazg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAu13Jw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKkFazg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKkFazg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKkkoYw:github:pull-request:PR_kwDOPRF1G88AAAABAvzQtA","source":"github:review:PRR_kwDOPRF1G88AAAABKkkoYw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAvzQtA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKkkoYw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKkkoYw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKkMDTA:github:pull-request:PR_kwDOPRF1G88AAAABAthHhw","source":"github:review:PRR_kwDOPRF1G88AAAABKkMDTA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAthHhw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKkMDTA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKkMDTA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKkNucg:github:pull-request:PR_kwDOPRF1G88AAAABAvbmOQ","source":"github:review:PRR_kwDOPRF1G88AAAABKkNucg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAvbmOQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKkNucg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKkNucg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKKvFTw:github:pull-request:PR_kwDOPRF1G87-zPrr","source":"github:review:PRR_kwDOPRF1G88AAAABKKvFTw","target":"github:pull-request:PR_kwDOPRF1G87-zPrr","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKKvFTw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKKvFTw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKkynQg:github:pull-request:PR_kwDOPRF1G88AAAABAwEVIA","source":"github:review:PRR_kwDOPRF1G88AAAABKkynQg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAwEVIA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKkynQg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKkynQg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKkYPLw:github:pull-request:PR_kwDOPRF1G88AAAABAvkXwg","source":"github:review:PRR_kwDOPRF1G88AAAABKkYPLw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAvkXwg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKkYPLw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKkYPLw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKlCoZw:github:pull-request:PR_kwDOPRF1G88AAAABAv-irw","source":"github:review:PRR_kwDOPRF1G88AAAABKlCoZw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAv-irw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKlCoZw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKlCoZw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKLduYQ:github:pull-request:PR_kwDOPRF1G88AAAABAQ9-fQ","source":"github:review:PRR_kwDOPRF1G88AAAABKLduYQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAQ9-fQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKLduYQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKLduYQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKLEFVw:github:pull-request:PR_kwDOPRF1G88AAAABAWDo8g","source":"github:review:PRR_kwDOPRF1G88AAAABKLEFVw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAWDo8g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKLEFVw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKLEFVw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKLM-qg:github:pull-request:PR_kwDOPRF1G88AAAABAWS7EQ","source":"github:review:PRR_kwDOPRF1G88AAAABKLM-qg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAWS7EQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKLM-qg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKLM-qg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKlrplQ:github:pull-request:PR_kwDOPRF1G88AAAABAw8k-g","source":"github:review:PRR_kwDOPRF1G88AAAABKlrplQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAw8k-g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKlrplQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKlrplQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKLvntw:github:pull-request:PR_kwDOPRF1G88AAAABABfHDQ","source":"github:review:PRR_kwDOPRF1G88AAAABKLvntw","target":"github:pull-request:PR_kwDOPRF1G88AAAABABfHDQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKLvntw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKLvntw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKLVwKQ:github:pull-request:PR_kwDOPRF1G88AAAABAV8R7Q","source":"github:review:PRR_kwDOPRF1G88AAAABKLVwKQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAV8R7Q","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKLVwKQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKLVwKQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKmMdKQ:github:pull-request:PR_kwDOPRF1G88AAAABAuoX9Q","source":"github:review:PRR_kwDOPRF1G88AAAABKmMdKQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAuoX9Q","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKmMdKQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKmMdKQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKMQXGQ:github:pull-request:PR_kwDOPRF1G88AAAABAXHijA","source":"github:review:PRR_kwDOPRF1G88AAAABKMQXGQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAXHijA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKMQXGQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKMQXGQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKMz-dQ:github:pull-request:PR_kwDOPRF1G88AAAABAXxJfg","source":"github:review:PRR_kwDOPRF1G88AAAABKMz-dQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAXxJfg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKMz-dQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKMz-dQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKnEkrA:github:pull-request:PR_kwDOPRF1G88AAAABAyJ6fA","source":"github:review:PRR_kwDOPRF1G88AAAABKnEkrA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAyJ6fA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKnEkrA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKnEkrA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKneP2w:github:pull-request:PR_kwDOPRF1G88AAAABAyoAZw","source":"github:review:PRR_kwDOPRF1G88AAAABKneP2w","target":"github:pull-request:PR_kwDOPRF1G88AAAABAyoAZw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKneP2w:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKneP2w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKNIheg:github:pull-request:PR_kwDOPRF1G88AAAABAXiGLA","source":"github:review:PRR_kwDOPRF1G88AAAABKNIheg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAXiGLA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKNIheg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKNIheg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKNm6kA:github:pull-request:PR_kwDOPRF1G88AAAABAYbmMg","source":"github:review:PRR_kwDOPRF1G88AAAABKNm6kA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAYbmMg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKNm6kA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKNm6kA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKnMD-w:github:pull-request:PR_kwDOPRF1G88AAAABAyOieA","source":"github:review:PRR_kwDOPRF1G88AAAABKnMD-w","target":"github:pull-request:PR_kwDOPRF1G88AAAABAyOieA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKnMD-w:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKnMD-w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKOBntw:github:pull-request:PR_kwDOPRF1G88AAAABAY9OWg","source":"github:review:PRR_kwDOPRF1G88AAAABKOBntw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAY9OWg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKOBntw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKOBntw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKonRPA:github:pull-request:PR_kwDOPRF1G88AAAABAo5LuA","source":"github:review:PRR_kwDOPRF1G88AAAABKonRPA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAo5LuA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKonRPA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKonRPA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKOqcPQ:github:pull-request:PR_kwDOPRF1G88AAAABATRxDw","source":"github:review:PRR_kwDOPRF1G88AAAABKOqcPQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABATRxDw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKOqcPQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKOqcPQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKoYphQ:github:pull-request:PR_kwDOPRF1G88AAAABAzRy9g","source":"github:review:PRR_kwDOPRF1G88AAAABKoYphQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAzRy9g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKoYphQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKoYphQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKp0TUQ:github:pull-request:PR_kwDOPRF1G88AAAABAs7vug","source":"github:review:PRR_kwDOPRF1G88AAAABKp0TUQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAs7vug","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKp0TUQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKp0TUQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKPDQzQ:github:pull-request:PR_kwDOPRF1G88AAAABAZzxbQ","source":"github:review:PRR_kwDOPRF1G88AAAABKPDQzQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAZzxbQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKPDQzQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKPDQzQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKpX4Cg:github:pull-request:PR_kwDOPRF1G88AAAABA0QqGQ","source":"github:review:PRR_kwDOPRF1G88AAAABKpX4Cg","target":"github:pull-request:PR_kwDOPRF1G88AAAABA0QqGQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKpX4Cg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKpX4Cg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKpxAWw:github:pull-request:PR_kwDOPRF1G88AAAABAqleZQ","source":"github:review:PRR_kwDOPRF1G88AAAABKpxAWw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAqleZQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKpxAWw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKpxAWw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKQ-BLw:github:pull-request:PR_kwDOPRF1G88AAAABAOqCAA","source":"github:review:PRR_kwDOPRF1G88AAAABKQ-BLw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAOqCAA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKQ-BLw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKQ-BLw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKQ9srw:github:pull-request:PR_kwDOPRF1G88AAAABAQUF8A","source":"github:review:PRR_kwDOPRF1G88AAAABKQ9srw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAQUF8A","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKQ9srw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKQ9srw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKQHtZQ:github:pull-request:PR_kwDOPRF1G88AAAABAZljsQ","source":"github:review:PRR_kwDOPRF1G88AAAABKQHtZQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAZljsQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKQHtZQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKQHtZQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKQl_TA:github:pull-request:PR_kwDOPRF1G88AAAABAFRRDA","source":"github:review:PRR_kwDOPRF1G88AAAABKQl_TA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAFRRDA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKQl_TA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKQl_TA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKqTa3w:github:pull-request:PR_kwDOPRF1G88AAAABA00BkQ","source":"github:review:PRR_kwDOPRF1G88AAAABKqTa3w","target":"github:pull-request:PR_kwDOPRF1G88AAAABA00BkQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKqTa3w:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKqTa3w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKR3sww:github:pull-request:PR_kwDOPRF1G88AAAABAVFn9w","source":"github:review:PRR_kwDOPRF1G88AAAABKR3sww","target":"github:pull-request:PR_kwDOPRF1G88AAAABAVFn9w","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKR3sww:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKR3sww","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKR3tqQ:github:pull-request:PR_kwDOPRF1G88AAAABAKMiAw","source":"github:review:PRR_kwDOPRF1G88AAAABKR3tqQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAKMiAw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKR3tqQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKR3tqQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKR4JTA:github:pull-request:PR_kwDOPRF1G88AAAABAa4otg","source":"github:review:PRR_kwDOPRF1G88AAAABKR4JTA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAa4otg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKR4JTA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKR4JTA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKR4ZsA:github:pull-request:PR_kwDOPRF1G878nSwK","source":"github:review:PRR_kwDOPRF1G88AAAABKR4ZsA","target":"github:pull-request:PR_kwDOPRF1G878nSwK","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKR4ZsA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKR4ZsA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKRcoVQ:github:pull-request:PR_kwDOPRF1G88AAAABAXTiVg","source":"github:review:PRR_kwDOPRF1G88AAAABKRcoVQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAXTiVg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKRcoVQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKRcoVQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKRhFsQ:github:pull-request:PR_kwDOPRF1G88AAAABADC_5Q","source":"github:review:PRR_kwDOPRF1G88AAAABKRhFsQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABADC_5Q","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKRhFsQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKRhFsQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKRjxrw:github:pull-request:PR_kwDOPRF1G88AAAABAZxdrA","source":"github:review:PRR_kwDOPRF1G88AAAABKRjxrw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAZxdrA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKRjxrw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKRjxrw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKRlCZQ:github:pull-request:PR_kwDOPRF1G88AAAABAWAMzw","source":"github:review:PRR_kwDOPRF1G88AAAABKRlCZQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAWAMzw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKRlCZQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKRlCZQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKRlHOg:github:pull-request:PR_kwDOPRF1G88AAAABAE5vrA","source":"github:review:PRR_kwDOPRF1G88AAAABKRlHOg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAE5vrA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKRlHOg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKRlHOg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKRpAUw:github:pull-request:PR_kwDOPRF1G88AAAABAZxGFw","source":"github:review:PRR_kwDOPRF1G88AAAABKRpAUw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAZxGFw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKRpAUw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKRpAUw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKRppSg:github:pull-request:PR_kwDOPRF1G88AAAABAZ2ncA","source":"github:review:PRR_kwDOPRF1G88AAAABKRppSg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAZ2ncA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKRppSg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKRppSg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKRQ4KQ:github:pull-request:PR_kwDOPRF1G871spAx","source":"github:review:PRR_kwDOPRF1G88AAAABKRQ4KQ","target":"github:pull-request:PR_kwDOPRF1G871spAx","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKRQ4KQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKRQ4KQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKRs1FA:github:pull-request:PR_kwDOPRF1G87-W8UB","source":"github:review:PRR_kwDOPRF1G88AAAABKRs1FA","target":"github:pull-request:PR_kwDOPRF1G87-W8UB","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKRs1FA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKRs1FA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKryEdg:github:pull-request:PR_kwDOPRF1G87nrzqj","source":"github:review:PRR_kwDOPRF1G88AAAABKryEdg","target":"github:pull-request:PR_kwDOPRF1G87nrzqj","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKryEdg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKryEdg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKrzJqQ:github:pull-request:PR_kwDOPRF1G88AAAABA2MFVw","source":"github:review:PRR_kwDOPRF1G88AAAABKrzJqQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABA2MFVw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKrzJqQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKrzJqQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKRzSrw:github:pull-request:PR_kwDOPRF1G88AAAABAX6Scg","source":"github:review:PRR_kwDOPRF1G88AAAABKRzSrw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAX6Scg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKRzSrw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKRzSrw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKsAcNA:github:pull-request:PR_kwDOPRF1G88AAAABAzfkfQ","source":"github:review:PRR_kwDOPRF1G88AAAABKsAcNA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAzfkfQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKsAcNA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKsAcNA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKsbkCA:github:pull-request:PR_kwDOPRF1G88AAAABA1bOcQ","source":"github:review:PRR_kwDOPRF1G88AAAABKsbkCA","target":"github:pull-request:PR_kwDOPRF1G88AAAABA1bOcQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKsbkCA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKsbkCA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKSH8mA:github:pull-request:PR_kwDOPRF1G87-1Bxh","source":"github:review:PRR_kwDOPRF1G88AAAABKSH8mA","target":"github:pull-request:PR_kwDOPRF1G87-1Bxh","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKSH8mA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKSH8mA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKSItEg:github:pull-request:PR_kwDOPRF1G87-0_mO","source":"github:review:PRR_kwDOPRF1G88AAAABKSItEg","target":"github:pull-request:PR_kwDOPRF1G87-0_mO","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKSItEg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKSItEg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKsNHmw:github:pull-request:PR_kwDOPRF1G88AAAABA2Zczw","source":"github:review:PRR_kwDOPRF1G88AAAABKsNHmw","target":"github:pull-request:PR_kwDOPRF1G88AAAABA2Zczw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKsNHmw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKsNHmw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKSNrlA:github:pull-request:PR_kwDOPRF1G87-z5gb","source":"github:review:PRR_kwDOPRF1G88AAAABKSNrlA","target":"github:pull-request:PR_kwDOPRF1G87-z5gb","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKSNrlA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKSNrlA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKsodNA:github:pull-request:PR_kwDOPRF1G88AAAABA0kFgA","source":"github:review:PRR_kwDOPRF1G88AAAABKsodNA","target":"github:pull-request:PR_kwDOPRF1G88AAAABA0kFgA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKsodNA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKsodNA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKSW-KQ:github:pull-request:PR_kwDOPRF1G88AAAABAceVHA","source":"github:review:PRR_kwDOPRF1G88AAAABKSW-KQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAceVHA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKSW-KQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKSW-KQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKswS0w:github:pull-request:PR_kwDOPRF1G88AAAABAPJEWQ","source":"github:review:PRR_kwDOPRF1G88AAAABKswS0w","target":"github:pull-request:PR_kwDOPRF1G88AAAABAPJEWQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKswS0w:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKswS0w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKT7RhQ:github:pull-request:PR_kwDOPRF1G88AAAABAc8eug","source":"github:review:PRR_kwDOPRF1G88AAAABKT7RhQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAc8eug","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKT7RhQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKT7RhQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKtDwdQ:github:pull-request:PR_kwDOPRF1G88AAAABA3DUqA","source":"github:review:PRR_kwDOPRF1G88AAAABKtDwdQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABA3DUqA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKtDwdQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKtDwdQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKTnjlw:github:pull-request:PR_kwDOPRF1G88AAAABAdUzGg","source":"github:review:PRR_kwDOPRF1G88AAAABKTnjlw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAdUzGg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKTnjlw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKTnjlw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKTTgwA:github:pull-request:PR_kwDOPRF1G88AAAABAcpVFA","source":"github:review:PRR_kwDOPRF1G88AAAABKTTgwA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAcpVFA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKTTgwA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKTTgwA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKTxA0g:github:pull-request:PR_kwDOPRF1G88AAAABAM2LCw","source":"github:review:PRR_kwDOPRF1G88AAAABKTxA0g","target":"github:pull-request:PR_kwDOPRF1G88AAAABAM2LCw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKTxA0g:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKTxA0g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKTzL7g:github:pull-request:PR_kwDOPRF1G88AAAABAdhHaw","source":"github:review:PRR_kwDOPRF1G88AAAABKTzL7g","target":"github:pull-request:PR_kwDOPRF1G88AAAABAdhHaw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKTzL7g:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKTzL7g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKuaahQ:github:pull-request:PR_kwDOPRF1G88AAAABA4Hp8A","source":"github:review:PRR_kwDOPRF1G88AAAABKuaahQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABA4Hp8A","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKuaahQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKuaahQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKugOfw:github:pull-request:PR_kwDOPRF1G88AAAABA4n_gw","source":"github:review:PRR_kwDOPRF1G88AAAABKugOfw","target":"github:pull-request:PR_kwDOPRF1G88AAAABA4n_gw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKugOfw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKugOfw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKUOVbQ:github:pull-request:PR_kwDOPRF1G88AAAABAVVbEw","source":"github:review:PRR_kwDOPRF1G88AAAABKUOVbQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAVVbEw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKUOVbQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKUOVbQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKUozaw:github:pull-request:PR_kwDOPRF1G88AAAABAeRRvw","source":"github:review:PRR_kwDOPRF1G88AAAABKUozaw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAeRRvw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKUozaw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKUozaw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKUyVzA:github:pull-request:PR_kwDOPRF1G88AAAABAcovJg","source":"github:review:PRR_kwDOPRF1G88AAAABKUyVzA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAcovJg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKUyVzA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKUyVzA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKV6sOg:github:pull-request:PR_kwDOPRF1G88AAAABAfN0yw","source":"github:review:PRR_kwDOPRF1G88AAAABKV6sOg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAfN0yw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKV6sOg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKV6sOg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKvczDQ:github:pull-request:PR_kwDOPRF1G88AAAABA5eNdQ","source":"github:review:PRR_kwDOPRF1G88AAAABKvczDQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABA5eNdQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKvczDQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKvczDQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKvEhBw:github:pull-request:PR_kwDOPRF1G88AAAABA44Tcg","source":"github:review:PRR_kwDOPRF1G88AAAABKvEhBw","target":"github:pull-request:PR_kwDOPRF1G88AAAABA44Tcg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKvEhBw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKvEhBw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKVI6yw:github:pull-request:PR_kwDOPRF1G88AAAABAdxPlA","source":"github:review:PRR_kwDOPRF1G88AAAABKVI6yw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAdxPlA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKVI6yw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKVI6yw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKVNtng:github:pull-request:PR_kwDOPRF1G88AAAABAcXnfg","source":"github:review:PRR_kwDOPRF1G88AAAABKVNtng","target":"github:pull-request:PR_kwDOPRF1G88AAAABAcXnfg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKVNtng:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKVNtng","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKVRrhA:github:pull-request:PR_kwDOPRF1G88AAAABAcw93w","source":"github:review:PRR_kwDOPRF1G88AAAABKVRrhA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAcw93w","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKVRrhA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKVRrhA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKVVNPQ:github:pull-request:PR_kwDOPRF1G88AAAABAey9Dw","source":"github:review:PRR_kwDOPRF1G88AAAABKVVNPQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAey9Dw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKVVNPQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKVVNPQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKVY06w:github:pull-request:PR_kwDOPRF1G88AAAABAe54aA","source":"github:review:PRR_kwDOPRF1G88AAAABKVY06w","target":"github:pull-request:PR_kwDOPRF1G88AAAABAe54aA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKVY06w:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKVY06w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKWE3fA:github:pull-request:PR_kwDOPRF1G88AAAABAcxbSg","source":"github:review:PRR_kwDOPRF1G88AAAABKWE3fA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAcxbSg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKWE3fA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKWE3fA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKWENlQ:github:pull-request:PR_kwDOPRF1G88AAAABAb6cuw","source":"github:review:PRR_kwDOPRF1G88AAAABKWENlQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAb6cuw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKWENlQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKWENlQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKWf5-Q:github:pull-request:PR_kwDOPRF1G88AAAABABqL-A","source":"github:review:PRR_kwDOPRF1G88AAAABKWf5-Q","target":"github:pull-request:PR_kwDOPRF1G88AAAABABqL-A","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKWf5-Q:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKWf5-Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKWFGHQ:github:pull-request:PR_kwDOPRF1G88AAAABAbKbRQ","source":"github:review:PRR_kwDOPRF1G88AAAABKWFGHQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAbKbRQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKWFGHQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKWFGHQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKWLLtA:github:pull-request:PR_kwDOPRF1G88AAAABAfsZ1Q","source":"github:review:PRR_kwDOPRF1G88AAAABKWLLtA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAfsZ1Q","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKWLLtA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKWLLtA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKWmf0w:github:pull-request:PR_kwDOPRF1G88AAAABAgEHMw","source":"github:review:PRR_kwDOPRF1G88AAAABKWmf0w","target":"github:pull-request:PR_kwDOPRF1G88AAAABAgEHMw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKWmf0w:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKWmf0w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKWXo9w:github:pull-request:PR_kwDOPRF1G88AAAABAf4F_g","source":"github:review:PRR_kwDOPRF1G88AAAABKWXo9w","target":"github:pull-request:PR_kwDOPRF1G88AAAABAf4F_g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKWXo9w:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKWXo9w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKwZbBg:github:pull-request:PR_kwDOPRF1G88AAAABA6D1sw","source":"github:review:PRR_kwDOPRF1G88AAAABKwZbBg","target":"github:pull-request:PR_kwDOPRF1G88AAAABA6D1sw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKwZbBg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKwZbBg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKxDQHg:github:pull-request:PR_kwDOPRF1G88AAAABA6ZBBg","source":"github:review:PRR_kwDOPRF1G88AAAABKxDQHg","target":"github:pull-request:PR_kwDOPRF1G88AAAABA6ZBBg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKxDQHg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKxDQHg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKxhw-g:github:pull-request:PR_kwDOPRF1G88AAAABA376OQ","source":"github:review:PRR_kwDOPRF1G88AAAABKxhw-g","target":"github:pull-request:PR_kwDOPRF1G88AAAABA376OQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKxhw-g:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKxhw-g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKxklYQ:github:pull-request:PR_kwDOPRF1G878YZPE","source":"github:review:PRR_kwDOPRF1G88AAAABKxklYQ","target":"github:pull-request:PR_kwDOPRF1G878YZPE","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKxklYQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKxklYQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKXR46g:github:pull-request:PR_kwDOPRF1G88AAAABAgwweA","source":"github:review:PRR_kwDOPRF1G88AAAABKXR46g","target":"github:pull-request:PR_kwDOPRF1G88AAAABAgwweA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKXR46g:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKXR46g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKY0utA:github:pull-request:PR_kwDOPRF1G88AAAABAhzpjw","source":"github:review:PRR_kwDOPRF1G88AAAABKY0utA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAhzpjw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKY0utA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKY0utA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKyDOBw:github:pull-request:PR_kwDOPRF1G88AAAABA7YVAA","source":"github:review:PRR_kwDOPRF1G88AAAABKyDOBw","target":"github:pull-request:PR_kwDOPRF1G88AAAABA7YVAA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKyDOBw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKyDOBw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKYRW_A:github:pull-request:PR_kwDOPRF1G88AAAABAhnzog","source":"github:review:PRR_kwDOPRF1G88AAAABKYRW_A","target":"github:pull-request:PR_kwDOPRF1G88AAAABAhnzog","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKYRW_A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKYRW_A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKzIahQ:github:pull-request:PR_kwDOPRF1G88AAAABA2C7SQ","source":"github:review:PRR_kwDOPRF1G88AAAABKzIahQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABA2C7SQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKzIahQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKzIahQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKzJSxw:github:pull-request:PR_kwDOPRF1G88AAAABAx1ZVg","source":"github:review:PRR_kwDOPRF1G88AAAABKzJSxw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAx1ZVg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKzJSxw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKzJSxw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKzNoOQ:github:pull-request:PR_kwDOPRF1G88AAAABAz-7fA","source":"github:review:PRR_kwDOPRF1G88AAAABKzNoOQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABAz-7fA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKzNoOQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKzNoOQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKZnUFg:github:pull-request:PR_kwDOPRF1G88AAAABAirW1w","source":"github:review:PRR_kwDOPRF1G88AAAABKZnUFg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAirW1w","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKZnUFg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKZnUFg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKzpP0Q:github:pull-request:PR_kwDOPRF1G87XZnI-","source":"github:review:PRR_kwDOPRF1G88AAAABKzpP0Q","target":"github:pull-request:PR_kwDOPRF1G87XZnI-","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKzpP0Q:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKzpP0Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKZqX3A:github:pull-request:PR_kwDOPRF1G88AAAABATn0xw","source":"github:review:PRR_kwDOPRF1G88AAAABKZqX3A","target":"github:pull-request:PR_kwDOPRF1G88AAAABATn0xw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKZqX3A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKZqX3A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKztHbw:github:pull-request:PR_kwDOPRF1G88AAAABA7aqsA","source":"github:review:PRR_kwDOPRF1G88AAAABKztHbw","target":"github:pull-request:PR_kwDOPRF1G88AAAABA7aqsA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABKztHbw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABKztHbw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLA_mmg:github:pull-request:PR_kwDOPRF1G87_SHCw","source":"github:review:PRR_kwDOPRF1G88AAAABLA_mmg","target":"github:pull-request:PR_kwDOPRF1G87_SHCw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLA_mmg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLA_mmg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLaa_cw:github:pull-request:PR_kwDOPRF1G88AAAABBgLrtQ","source":"github:review:PRR_kwDOPRF1G88AAAABLaa_cw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBgLrtQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLaa_cw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLaa_cw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLai32w:github:pull-request:PR_kwDOPRF1G88AAAABBgUeuw","source":"github:review:PRR_kwDOPRF1G88AAAABLai32w","target":"github:pull-request:PR_kwDOPRF1G88AAAABBgUeuw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLai32w:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLai32w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLaKC3A:github:pull-request:PR_kwDOPRF1G88AAAABBfq5vw","source":"github:review:PRR_kwDOPRF1G88AAAABLaKC3A","target":"github:pull-request:PR_kwDOPRF1G88AAAABBfq5vw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLaKC3A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLaKC3A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLanKiQ:github:pull-request:PR_kwDOPRF1G88AAAABBVzifA","source":"github:review:PRR_kwDOPRF1G88AAAABLanKiQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBVzifA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLanKiQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLanKiQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLaQnsw:github:pull-request:PR_kwDOPRF1G88AAAABAPGdOw","source":"github:review:PRR_kwDOPRF1G88AAAABLaQnsw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAPGdOw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLaQnsw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLaQnsw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLaqVVA:github:pull-request:PR_kwDOPRF1G88AAAABBgkBOw","source":"github:review:PRR_kwDOPRF1G88AAAABLaqVVA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBgkBOw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLaqVVA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLaqVVA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLaUGYg:github:pull-request:PR_kwDOPRF1G88AAAABBf_q6g","source":"github:review:PRR_kwDOPRF1G88AAAABLaUGYg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBf_q6g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLaUGYg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLaUGYg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLAWi4Q:github:pull-request:PR_kwDOPRF1G88AAAABA9XXJg","source":"github:review:PRR_kwDOPRF1G88AAAABLAWi4Q","target":"github:pull-request:PR_kwDOPRF1G88AAAABA9XXJg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLAWi4Q:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLAWi4Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLawMeQ:github:pull-request:PR_kwDOPRF1G88AAAABBTZkug","source":"github:review:PRR_kwDOPRF1G88AAAABLawMeQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBTZkug","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLawMeQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLawMeQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLb1mJw:github:pull-request:PR_kwDOPRF1G88AAAABAqkMvQ","source":"github:review:PRR_kwDOPRF1G88AAAABLb1mJw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAqkMvQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLb1mJw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLb1mJw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLb2qnQ:github:pull-request:PR_kwDOPRF1G88AAAABBiWzOQ","source":"github:review:PRR_kwDOPRF1G88AAAABLb2qnQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBiWzOQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLb2qnQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLb2qnQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLB61KQ:github:pull-request:PR_kwDOPRF1G88AAAABA4EjdA","source":"github:review:PRR_kwDOPRF1G88AAAABLB61KQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABA4EjdA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLB61KQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLB61KQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbAa9g:github:pull-request:PR_kwDOPRF1G88AAAABBfhrsg","source":"github:review:PRR_kwDOPRF1G88AAAABLbAa9g","target":"github:pull-request:PR_kwDOPRF1G88AAAABBfhrsg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbAa9g:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLbAa9g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbCMrg:github:pull-request:PR_kwDOPRF1G88AAAABBhJhZg","source":"github:review:PRR_kwDOPRF1G88AAAABLbCMrg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBhJhZg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbCMrg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLbCMrg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbeGUQ:github:pull-request:PR_kwDOPRF1G88AAAABBdr1Jw","source":"github:review:PRR_kwDOPRF1G88AAAABLbeGUQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBdr1Jw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbeGUQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLbeGUQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbempg:github:pull-request:PR_kwDOPRF1G88AAAABBh8HNA","source":"github:review:PRR_kwDOPRF1G88AAAABLbempg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBh8HNA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbempg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLbempg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbH-WQ:github:pull-request:PR_kwDOPRF1G88AAAABBgnx0g","source":"github:review:PRR_kwDOPRF1G88AAAABLbH-WQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBgnx0g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbH-WQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLbH-WQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbhr2A:github:pull-request:PR_kwDOPRF1G88AAAABBhvCVA","source":"github:review:PRR_kwDOPRF1G88AAAABLbhr2A","target":"github:pull-request:PR_kwDOPRF1G88AAAABBhvCVA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbhr2A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLbhr2A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbJZkA:github:pull-request:PR_kwDOPRF1G88AAAABBhAFdw","source":"github:review:PRR_kwDOPRF1G88AAAABLbJZkA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBhAFdw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbJZkA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLbJZkA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbmZoQ:github:pull-request:PR_kwDOPRF1G88AAAABBiAGfA","source":"github:review:PRR_kwDOPRF1G88AAAABLbmZoQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBiAGfA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbmZoQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLbmZoQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbn4YQ:github:pull-request:PR_kwDOPRF1G88AAAABASUd3Q","source":"github:review:PRR_kwDOPRF1G88AAAABLbn4YQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABASUd3Q","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbn4YQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLbn4YQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbO1-g:github:pull-request:PR_kwDOPRF1G88AAAABBfOxjQ","source":"github:review:PRR_kwDOPRF1G88AAAABLbO1-g","target":"github:pull-request:PR_kwDOPRF1G88AAAABBfOxjQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbO1-g:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLbO1-g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbP1Qg:github:pull-request:PR_kwDOPRF1G88AAAABBerxGQ","source":"github:review:PRR_kwDOPRF1G88AAAABLbP1Qg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBerxGQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbP1Qg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLbP1Qg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbPp0g:github:pull-request:PR_kwDOPRF1G88AAAABBbEvQQ","source":"github:review:PRR_kwDOPRF1G88AAAABLbPp0g","target":"github:pull-request:PR_kwDOPRF1G88AAAABBbEvQQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbPp0g:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLbPp0g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbPywQ:github:pull-request:PR_kwDOPRF1G88AAAABBdR0PA","source":"github:review:PRR_kwDOPRF1G88AAAABLbPywQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBdR0PA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbPywQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLbPywQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbQbfQ:github:pull-request:PR_kwDOPRF1G88AAAABBhjbrg","source":"github:review:PRR_kwDOPRF1G88AAAABLbQbfQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBhjbrg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbQbfQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLbQbfQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbQQYA:github:pull-request:PR_kwDOPRF1G88AAAABBdBLCg","source":"github:review:PRR_kwDOPRF1G88AAAABLbQQYA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBdBLCg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbQQYA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLbQQYA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbQvTw:github:pull-request:PR_kwDOPRF1G88AAAABBhbyQA","source":"github:review:PRR_kwDOPRF1G88AAAABLbQvTw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBhbyQA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbQvTw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLbQvTw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLBSdfA:github:pull-request:PR_kwDOPRF1G87_LBMR","source":"github:review:PRR_kwDOPRF1G88AAAABLBSdfA","target":"github:pull-request:PR_kwDOPRF1G87_LBMR","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLBSdfA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLBSdfA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbsTKQ:github:pull-request:PR_kwDOPRF1G88AAAABBfrVgA","source":"github:review:PRR_kwDOPRF1G88AAAABLbsTKQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBfrVgA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbsTKQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLbsTKQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbtB4g:github:pull-request:PR_kwDOPRF1G88AAAABBgHvkw","source":"github:review:PRR_kwDOPRF1G88AAAABLbtB4g","target":"github:pull-request:PR_kwDOPRF1G88AAAABBgHvkw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbtB4g:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLbtB4g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbuQ2A:github:pull-request:PR_kwDOPRF1G88AAAABBiSvAw","source":"github:review:PRR_kwDOPRF1G88AAAABLbuQ2A","target":"github:pull-request:PR_kwDOPRF1G88AAAABBiSvAw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbuQ2A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLbuQ2A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbWrzQ:github:pull-request:PR_kwDOPRF1G88AAAABBhDBHQ","source":"github:review:PRR_kwDOPRF1G88AAAABLbWrzQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBhDBHQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLbWrzQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLbWrzQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLc09tg:github:pull-request:PR_kwDOPRF1G88AAAABBhn12Q","source":"github:review:PRR_kwDOPRF1G88AAAABLc09tg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBhn12Q","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLc09tg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLc09tg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLc5yTA:github:pull-request:PR_kwDOPRF1G88AAAABAhP5NQ","source":"github:review:PRR_kwDOPRF1G88AAAABLc5yTA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAhP5NQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLc5yTA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLc5yTA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLc76WQ:github:pull-request:PR_kwDOPRF1G88AAAABBjuDNg","source":"github:review:PRR_kwDOPRF1G88AAAABLc76WQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBjuDNg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLc76WQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLc76WQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLCbGdw:github:pull-request:PR_kwDOPRF1G88AAAABBIvkeA","source":"github:review:PRR_kwDOPRF1G88AAAABLCbGdw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBIvkeA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLCbGdw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLCbGdw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLcc-CA:github:pull-request:PR_kwDOPRF1G88AAAABBjJ-xQ","source":"github:review:PRR_kwDOPRF1G88AAAABLcc-CA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBjJ-xQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLcc-CA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLcc-CA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLcDIiQ:github:pull-request:PR_kwDOPRF1G88AAAABBitYcA","source":"github:review:PRR_kwDOPRF1G88AAAABLcDIiQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBitYcA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLcDIiQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLcDIiQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLcM9xQ:github:pull-request:PR_kwDOPRF1G88AAAABBa8XcA","source":"github:review:PRR_kwDOPRF1G88AAAABLcM9xQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBa8XcA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLcM9xQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLcM9xQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLcnNfA:github:pull-request:PR_kwDOPRF1G88AAAABBjZBIA","source":"github:review:PRR_kwDOPRF1G88AAAABLcnNfA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBjZBIA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLcnNfA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLcnNfA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLcOF6w:github:pull-request:PR_kwDOPRF1G88AAAABBivGHg","source":"github:review:PRR_kwDOPRF1G88AAAABLcOF6w","target":"github:pull-request:PR_kwDOPRF1G88AAAABBivGHg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLcOF6w:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLcOF6w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLcOzkQ:github:pull-request:PR_kwDOPRF1G88AAAABBbdczQ","source":"github:review:PRR_kwDOPRF1G88AAAABLcOzkQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBbdczQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLcOzkQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLcOzkQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLCrwfw:github:pull-request:PR_kwDOPRF1G88AAAABBHtPzw","source":"github:review:PRR_kwDOPRF1G88AAAABLCrwfw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBHtPzw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLCrwfw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLCrwfw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLCs9wQ:github:pull-request:PR_kwDOPRF1G88AAAABBGW6Ww","source":"github:review:PRR_kwDOPRF1G88AAAABLCs9wQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBGW6Ww","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLCs9wQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLCs9wQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLD9sbA:github:pull-request:PR_kwDOPRF1G88AAAABBGqpSg","source":"github:review:PRR_kwDOPRF1G88AAAABLD9sbA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBGqpSg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLD9sbA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLD9sbA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLDBiJQ:github:pull-request:PR_kwDOPRF1G88AAAABBJP4Tw","source":"github:review:PRR_kwDOPRF1G88AAAABLDBiJQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBJP4Tw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLDBiJQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLDBiJQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLDfXyw:github:pull-request:PR_kwDOPRF1G88AAAABBJmXWQ","source":"github:review:PRR_kwDOPRF1G88AAAABLDfXyw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBJmXWQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLDfXyw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLDfXyw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLdMccA:github:pull-request:PR_kwDOPRF1G88AAAABBj_8iA","source":"github:review:PRR_kwDOPRF1G88AAAABLdMccA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBj_8iA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLdMccA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLdMccA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLdmloQ:github:pull-request:PR_kwDOPRF1G88AAAABBkL9Ag","source":"github:review:PRR_kwDOPRF1G88AAAABLdmloQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBkL9Ag","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLdmloQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLdmloQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLdnGaw:github:pull-request:PR_kwDOPRF1G88AAAABBkXXNg","source":"github:review:PRR_kwDOPRF1G88AAAABLdnGaw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBkXXNg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLdnGaw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLdnGaw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLDrFAw:github:pull-request:PR_kwDOPRF1G88AAAABBJsi_g","source":"github:review:PRR_kwDOPRF1G88AAAABLDrFAw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBJsi_g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLDrFAw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLDrFAw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLdSnEg:github:pull-request:PR_kwDOPRF1G88AAAABBkE5oQ","source":"github:review:PRR_kwDOPRF1G88AAAABLdSnEg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBkE5oQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLdSnEg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLdSnEg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLDSWfg:github:pull-request:PR_kwDOPRF1G88AAAABBJbW6w","source":"github:review:PRR_kwDOPRF1G88AAAABLDSWfg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBJbW6w","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLDSWfg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLDSWfg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLe31zg:github:pull-request:PR_kwDOPRF1G88AAAABAybxbw","source":"github:review:PRR_kwDOPRF1G88AAAABLe31zg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAybxbw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLe31zg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLe31zg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLe4otA:github:pull-request:PR_kwDOPRF1G88AAAABBjcWnQ","source":"github:review:PRR_kwDOPRF1G88AAAABLe4otA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBjcWnQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLe4otA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLe4otA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLe4vJw:github:pull-request:PR_kwDOPRF1G88AAAABBbvszg","source":"github:review:PRR_kwDOPRF1G88AAAABLe4vJw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBbvszg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLe4vJw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLe4vJw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLeGP9Q:github:pull-request:PR_kwDOPRF1G88AAAABBg8GUQ","source":"github:review:PRR_kwDOPRF1G88AAAABLeGP9Q","target":"github:pull-request:PR_kwDOPRF1G88AAAABBg8GUQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLeGP9Q:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLeGP9Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLejISQ:github:pull-request:PR_kwDOPRF1G88AAAABBlQjig","source":"github:review:PRR_kwDOPRF1G88AAAABLejISQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBlQjig","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLejISQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLejISQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLERKCQ:github:pull-request:PR_kwDOPRF1G88AAAABBKfSIQ","source":"github:review:PRR_kwDOPRF1G88AAAABLERKCQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBKfSIQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLERKCQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLERKCQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLfdxcQ:github:pull-request:PR_kwDOPRF1G88AAAABBl6HcA","source":"github:review:PRR_kwDOPRF1G88AAAABLfdxcQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBl6HcA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLfdxcQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLfdxcQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLFFL5A:github:pull-request:PR_kwDOPRF1G88AAAABBLExBA","source":"github:review:PRR_kwDOPRF1G88AAAABLFFL5A","target":"github:pull-request:PR_kwDOPRF1G88AAAABBLExBA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLFFL5A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLFFL5A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLFTSKQ:github:pull-request:PR_kwDOPRF1G88AAAABBK2yqw","source":"github:review:PRR_kwDOPRF1G88AAAABLFTSKQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBK2yqw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLFTSKQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLFTSKQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLfVZsA:github:pull-request:PR_kwDOPRF1G88AAAABBdRyJQ","source":"github:review:PRR_kwDOPRF1G88AAAABLfVZsA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBdRyJQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLfVZsA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLfVZsA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLgC_HQ:github:pull-request:PR_kwDOPRF1G88AAAABBlmoSQ","source":"github:review:PRR_kwDOPRF1G88AAAABLgC_HQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBlmoSQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLgC_HQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLgC_HQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLGj1mw:github:pull-request:PR_kwDOPRF1G88AAAABBMcxhA","source":"github:review:PRR_kwDOPRF1G88AAAABLGj1mw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBMcxhA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLGj1mw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLGj1mw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLGj9dw:github:pull-request:PR_kwDOPRF1G88AAAABBMe1nA","source":"github:review:PRR_kwDOPRF1G88AAAABLGj9dw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBMe1nA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLGj9dw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLGj9dw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLgpFCg:github:pull-request:PR_kwDOPRF1G88AAAABBCMlaQ","source":"github:review:PRR_kwDOPRF1G88AAAABLgpFCg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBCMlaQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLgpFCg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLgpFCg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLguetQ:github:pull-request:PR_kwDOPRF1G88AAAABBXlYSA","source":"github:review:PRR_kwDOPRF1G88AAAABLguetQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBXlYSA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLguetQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLguetQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLGYcjA:github:pull-request:PR_kwDOPRF1G88AAAABBCVPdg","source":"github:review:PRR_kwDOPRF1G88AAAABLGYcjA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBCVPdg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLGYcjA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLGYcjA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLGYkHg:github:pull-request:PR_kwDOPRF1G88AAAABBLdYGQ","source":"github:review:PRR_kwDOPRF1G88AAAABLGYkHg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBLdYGQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLGYkHg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLGYkHg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLH_wPw:github:pull-request:PR_kwDOPRF1G88AAAABBEAP8A","source":"github:review:PRR_kwDOPRF1G88AAAABLH_wPw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBEAP8A","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLH_wPw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLH_wPw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLH-DmQ:github:pull-request:PR_kwDOPRF1G88AAAABBNiA2w","source":"github:review:PRR_kwDOPRF1G88AAAABLH-DmQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBNiA2w","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLH-DmQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLH-DmQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLh1Quw:github:pull-request:PR_kwDOPRF1G88AAAABBdce5g","source":"github:review:PRR_kwDOPRF1G88AAAABLh1Quw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBdce5g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLh1Quw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLh1Quw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLHd8hQ:github:pull-request:PR_kwDOPRF1G88AAAABBNDMhg","source":"github:review:PRR_kwDOPRF1G88AAAABLHd8hQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBNDMhg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLHd8hQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLHd8hQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLhI-gA:github:pull-request:PR_kwDOPRF1G88AAAABBnTFrg","source":"github:review:PRR_kwDOPRF1G88AAAABLhI-gA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBnTFrg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLhI-gA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLhI-gA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLhl5jw:github:pull-request:PR_kwDOPRF1G88AAAABBjrtCg","source":"github:review:PRR_kwDOPRF1G88AAAABLhl5jw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBjrtCg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLhl5jw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLhl5jw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLHNvsg:github:pull-request:PR_kwDOPRF1G88AAAABBM6YMA","source":"github:review:PRR_kwDOPRF1G88AAAABLHNvsg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBM6YMA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLHNvsg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLHNvsg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLhxvnA:github:pull-request:PR_kwDOPRF1G88AAAABBn38NQ","source":"github:review:PRR_kwDOPRF1G88AAAABLhxvnA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBn38NQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLhxvnA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLhxvnA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLIFrqg:github:pull-request:PR_kwDOPRF1G88AAAABBKJUyw","source":"github:review:PRR_kwDOPRF1G88AAAABLIFrqg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBKJUyw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLIFrqg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLIFrqg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLiKh0w:github:pull-request:PR_kwDOPRF1G88AAAABBh6KiA","source":"github:review:PRR_kwDOPRF1G88AAAABLiKh0w","target":"github:pull-request:PR_kwDOPRF1G88AAAABBh6KiA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLiKh0w:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLiKh0w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLILHdg:github:pull-request:PR_kwDOPRF1G87jvvLh","source":"github:review:PRR_kwDOPRF1G88AAAABLILHdg","target":"github:pull-request:PR_kwDOPRF1G87jvvLh","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLILHdg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLILHdg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLiPpPQ:github:pull-request:PR_kwDOPRF1G88AAAABBoMtjA","source":"github:review:PRR_kwDOPRF1G88AAAABLiPpPQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBoMtjA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLiPpPQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLiPpPQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLiPWPg:github:pull-request:PR_kwDOPRF1G870QOyN","source":"github:review:PRR_kwDOPRF1G88AAAABLiPWPg","target":"github:pull-request:PR_kwDOPRF1G870QOyN","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLiPWPg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLiPWPg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLIrR5w:github:pull-request:PR_kwDOPRF1G87788Ml","source":"github:review:PRR_kwDOPRF1G88AAAABLIrR5w","target":"github:pull-request:PR_kwDOPRF1G87788Ml","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLIrR5w:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLIrR5w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLITcng:github:pull-request:PR_kwDOPRF1G87738RK","source":"github:review:PRR_kwDOPRF1G88AAAABLITcng","target":"github:pull-request:PR_kwDOPRF1G87738RK","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLITcng:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLITcng","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLJ0IOQ:github:pull-request:PR_kwDOPRF1G88AAAABBO6NCA","source":"github:review:PRR_kwDOPRF1G88AAAABLJ0IOQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBO6NCA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLJ0IOQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLJ0IOQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLJDdeQ:github:pull-request:PR_kwDOPRF1G88AAAABBIrkNg","source":"github:review:PRR_kwDOPRF1G88AAAABLJDdeQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBIrkNg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLJDdeQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLJDdeQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLJP6jA:github:pull-request:PR_kwDOPRF1G88AAAABA6_MJA","source":"github:review:PRR_kwDOPRF1G88AAAABLJP6jA","target":"github:pull-request:PR_kwDOPRF1G88AAAABA6_MJA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLJP6jA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLJP6jA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLJw-kg:github:pull-request:PR_kwDOPRF1G88AAAABBJ-3xw","source":"github:review:PRR_kwDOPRF1G88AAAABLJw-kg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBJ-3xw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLJw-kg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLJw-kg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLK0drw:github:pull-request:PR_kwDOPRF1G88AAAABBGiwZA","source":"github:review:PRR_kwDOPRF1G88AAAABLK0drw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBGiwZA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLK0drw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLK0drw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLK4ndQ:github:pull-request:PR_kwDOPRF1G88AAAABBPyXug","source":"github:review:PRR_kwDOPRF1G88AAAABLK4ndQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBPyXug","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLK4ndQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLK4ndQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLKSVSA:github:pull-request:PR_kwDOPRF1G88AAAABBPa5bg","source":"github:review:PRR_kwDOPRF1G88AAAABLKSVSA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBPa5bg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLKSVSA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLKSVSA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLKwh0A:github:pull-request:PR_kwDOPRF1G871yxMc","source":"github:review:PRR_kwDOPRF1G88AAAABLKwh0A","target":"github:pull-request:PR_kwDOPRF1G871yxMc","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLKwh0A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLKwh0A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLKwUyQ:github:pull-request:PR_kwDOPRF1G88AAAABBL0IyQ","source":"github:review:PRR_kwDOPRF1G88AAAABLKwUyQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBL0IyQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLKwUyQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLKwUyQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLL2wLw:github:pull-request:PR_kwDOPRF1G88AAAABAMVkvA","source":"github:review:PRR_kwDOPRF1G88AAAABLL2wLw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAMVkvA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLL2wLw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLL2wLw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLLxSZg:github:pull-request:PR_kwDOPRF1G88AAAABBOfM5w","source":"github:review:PRR_kwDOPRF1G88AAAABLLxSZg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBOfM5w","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLLxSZg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLLxSZg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLMeKtA:github:pull-request:PR_kwDOPRF1G88AAAABBNCudA","source":"github:review:PRR_kwDOPRF1G88AAAABLMeKtA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBNCudA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLMeKtA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLMeKtA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLMH4Eg:github:pull-request:PR_kwDOPRF1G88AAAABBLN63g","source":"github:review:PRR_kwDOPRF1G88AAAABLMH4Eg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBLN63g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLMH4Eg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLMH4Eg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLMm20w:github:pull-request:PR_kwDOPRF1G88AAAABBRLxjg","source":"github:review:PRR_kwDOPRF1G88AAAABLMm20w","target":"github:pull-request:PR_kwDOPRF1G88AAAABBRLxjg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLMm20w:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLMm20w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLMNTsA:github:pull-request:PR_kwDOPRF1G88AAAABAZv_Nw","source":"github:review:PRR_kwDOPRF1G88AAAABLMNTsA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAZv_Nw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLMNTsA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLMNTsA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLMxDFw:github:pull-request:PR_kwDOPRF1G88AAAABBQRElw","source":"github:review:PRR_kwDOPRF1G88AAAABLMxDFw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBQRElw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLMxDFw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLMxDFw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLN8vwQ:github:pull-request:PR_kwDOPRF1G88AAAABBSmfnA","source":"github:review:PRR_kwDOPRF1G88AAAABLN8vwQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBSmfnA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLN8vwQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLN8vwQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLNcoeg:github:pull-request:PR_kwDOPRF1G88AAAABBQlU5w","source":"github:review:PRR_kwDOPRF1G88AAAABLNcoeg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBQlU5w","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLNcoeg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLNcoeg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLNHv2g:github:pull-request:PR_kwDOPRF1G88AAAABBRxUIg","source":"github:review:PRR_kwDOPRF1G88AAAABLNHv2g","target":"github:pull-request:PR_kwDOPRF1G88AAAABBRxUIg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLNHv2g:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLNHv2g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLNp3Vg:github:pull-request:PR_kwDOPRF1G88AAAABBPewjw","source":"github:review:PRR_kwDOPRF1G88AAAABLNp3Vg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBPewjw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLNp3Vg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLNp3Vg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLNQcMg:github:pull-request:PR_kwDOPRF1G88AAAABBRcDZQ","source":"github:review:PRR_kwDOPRF1G88AAAABLNQcMg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBRcDZQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLNQcMg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLNQcMg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLNZRSQ:github:pull-request:PR_kwDOPRF1G88AAAABBRrdnQ","source":"github:review:PRR_kwDOPRF1G88AAAABLNZRSQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBRrdnQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLNZRSQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLNZRSQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLObPXA:github:pull-request:PR_kwDOPRF1G88AAAABBTBTCA","source":"github:review:PRR_kwDOPRF1G88AAAABLObPXA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBTBTCA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLObPXA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLObPXA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLOKvyQ:github:pull-request:PR_kwDOPRF1G88AAAABBS0o5Q","source":"github:review:PRR_kwDOPRF1G88AAAABLOKvyQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBS0o5Q","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLOKvyQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLOKvyQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLOuEdg:github:pull-request:PR_kwDOPRF1G87xBoHz","source":"github:review:PRR_kwDOPRF1G88AAAABLOuEdg","target":"github:pull-request:PR_kwDOPRF1G87xBoHz","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLOuEdg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLOuEdg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLOXEYA:github:pull-request:PR_kwDOPRF1G88AAAABAsxxOQ","source":"github:review:PRR_kwDOPRF1G88AAAABLOXEYA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAsxxOQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLOXEYA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLOXEYA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLP8Mvw:github:pull-request:PR_kwDOPRF1G875GwGR","source":"github:review:PRR_kwDOPRF1G88AAAABLP8Mvw","target":"github:pull-request:PR_kwDOPRF1G875GwGR","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLP8Mvw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLP8Mvw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLPDuhQ:github:pull-request:PR_kwDOPRF1G88AAAABBCLH1Q","source":"github:review:PRR_kwDOPRF1G88AAAABLPDuhQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBCLH1Q","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLPDuhQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLPDuhQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLPk-oA:github:pull-request:PR_kwDOPRF1G88AAAABBIadww","source":"github:review:PRR_kwDOPRF1G88AAAABLPk-oA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBIadww","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLPk-oA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLPk-oA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLPlLrQ:github:pull-request:PR_kwDOPRF1G88AAAABBUAhOA","source":"github:review:PRR_kwDOPRF1G88AAAABLPlLrQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBUAhOA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLPlLrQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLPlLrQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLPLSjA:github:pull-request:PR_kwDOPRF1G88AAAABBThKIA","source":"github:review:PRR_kwDOPRF1G88AAAABLPLSjA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBThKIA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLPLSjA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLPLSjA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLQaHOg:github:pull-request:PR_kwDOPRF1G88AAAABBU43uQ","source":"github:review:PRR_kwDOPRF1G88AAAABLQaHOg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBU43uQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLQaHOg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLQaHOg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLQgnTg:github:pull-request:PR_kwDOPRF1G87_xmjJ","source":"github:review:PRR_kwDOPRF1G88AAAABLQgnTg","target":"github:pull-request:PR_kwDOPRF1G87_xmjJ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLQgnTg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLQgnTg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLQzoxA:github:pull-request:PR_kwDOPRF1G88AAAABBUzFzg","source":"github:review:PRR_kwDOPRF1G88AAAABLQzoxA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBUzFzg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLQzoxA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLQzoxA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLRR2ug:github:pull-request:PR_kwDOPRF1G88AAAABBVpHuw","source":"github:review:PRR_kwDOPRF1G88AAAABLRR2ug","target":"github:pull-request:PR_kwDOPRF1G88AAAABBVpHuw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLRR2ug:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLRR2ug","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLSJz0g:github:pull-request:PR_kwDOPRF1G88AAAABBWCG7w","source":"github:review:PRR_kwDOPRF1G88AAAABLSJz0g","target":"github:pull-request:PR_kwDOPRF1G88AAAABBWCG7w","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLSJz0g:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLSJz0g","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLSq3Qw:github:pull-request:PR_kwDOPRF1G88AAAABBW2dkg","source":"github:review:PRR_kwDOPRF1G88AAAABLSq3Qw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBW2dkg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLSq3Qw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLSq3Qw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLSRhug:github:pull-request:PR_kwDOPRF1G88AAAABBWg-7g","source":"github:review:PRR_kwDOPRF1G88AAAABLSRhug","target":"github:pull-request:PR_kwDOPRF1G88AAAABBWg-7g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLSRhug:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLSRhug","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLTB0Iw:github:pull-request:PR_kwDOPRF1G88AAAABBMs5hg","source":"github:review:PRR_kwDOPRF1G88AAAABLTB0Iw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBMs5hg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLTB0Iw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLTB0Iw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLTeJZQ:github:pull-request:PR_kwDOPRF1G88AAAABBHYzNQ","source":"github:review:PRR_kwDOPRF1G88AAAABLTeJZQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBHYzNQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLTeJZQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLTeJZQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLTJXcQ:github:pull-request:PR_kwDOPRF1G88AAAABBXQVwg","source":"github:review:PRR_kwDOPRF1G88AAAABLTJXcQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBXQVwg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLTJXcQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLTJXcQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLTNLtQ:github:pull-request:PR_kwDOPRF1G88AAAABBU_rzw","source":"github:review:PRR_kwDOPRF1G88AAAABLTNLtQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBU_rzw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLTNLtQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLTNLtQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLU0HjA:github:pull-request:PR_kwDOPRF1G88AAAABBYbS6A","source":"github:review:PRR_kwDOPRF1G88AAAABLU0HjA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBYbS6A","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLU0HjA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLU0HjA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLUbZzQ:github:pull-request:PR_kwDOPRF1G88AAAABBXlaqg","source":"github:review:PRR_kwDOPRF1G88AAAABLUbZzQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBXlaqg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLUbZzQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLUbZzQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLUvWag:github:pull-request:PR_kwDOPRF1G88AAAABBYAESQ","source":"github:review:PRR_kwDOPRF1G88AAAABLUvWag","target":"github:pull-request:PR_kwDOPRF1G88AAAABBYAESQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLUvWag:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLUvWag","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLV4mYg:github:pull-request:PR_kwDOPRF1G88AAAABBZz2fA","source":"github:review:PRR_kwDOPRF1G88AAAABLV4mYg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBZz2fA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLV4mYg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLV4mYg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLV5jMA:github:pull-request:PR_kwDOPRF1G871ZBic","source":"github:review:PRR_kwDOPRF1G88AAAABLV5jMA","target":"github:pull-request:PR_kwDOPRF1G871ZBic","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLV5jMA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLV5jMA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLVbNHQ:github:pull-request:PR_kwDOPRF1G88AAAABBZPi3w","source":"github:review:PRR_kwDOPRF1G88AAAABLVbNHQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBZPi3w","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLVbNHQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLVbNHQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLVpaHQ:github:pull-request:PR_kwDOPRF1G88AAAABBKGrKg","source":"github:review:PRR_kwDOPRF1G88AAAABLVpaHQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBKGrKg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLVpaHQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLVpaHQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLVsdqQ:github:pull-request:PR_kwDOPRF1G88AAAABBZci9g","source":"github:review:PRR_kwDOPRF1G88AAAABLVsdqQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBZci9g","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLVsdqQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLVsdqQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLW0WGw:github:pull-request:PR_kwDOPRF1G88AAAABBaYYVw","source":"github:review:PRR_kwDOPRF1G88AAAABLW0WGw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBaYYVw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLW0WGw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLW0WGw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLW64Ug:github:pull-request:PR_kwDOPRF1G88AAAABBa-_JQ","source":"github:review:PRR_kwDOPRF1G88AAAABLW64Ug","target":"github:pull-request:PR_kwDOPRF1G88AAAABBa-_JQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLW64Ug:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLW64Ug","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLW6NZA:github:pull-request:PR_kwDOPRF1G87yeap7","source":"github:review:PRR_kwDOPRF1G88AAAABLW6NZA","target":"github:pull-request:PR_kwDOPRF1G87yeap7","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLW6NZA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLW6NZA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLWFjDw:github:pull-request:PR_kwDOPRF1G88AAAABBBSWLA","source":"github:review:PRR_kwDOPRF1G88AAAABLWFjDw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBBSWLA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLWFjDw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLWFjDw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLWGeMw:github:pull-request:PR_kwDOPRF1G88AAAABBSPkzA","source":"github:review:PRR_kwDOPRF1G88AAAABLWGeMw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBSPkzA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLWGeMw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLWGeMw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLWGiJA:github:pull-request:PR_kwDOPRF1G88AAAABBZ5_Eg","source":"github:review:PRR_kwDOPRF1G88AAAABLWGiJA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBZ5_Eg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLWGiJA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLWGiJA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLWiBmQ:github:pull-request:PR_kwDOPRF1G88AAAABBabr2Q","source":"github:review:PRR_kwDOPRF1G88AAAABLWiBmQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBabr2Q","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLWiBmQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLWiBmQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLWJnkA:github:pull-request:PR_kwDOPRF1G88AAAABAPl3Kg","source":"github:review:PRR_kwDOPRF1G88AAAABLWJnkA","target":"github:pull-request:PR_kwDOPRF1G88AAAABAPl3Kg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLWJnkA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLWJnkA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLWqosA:github:pull-request:PR_kwDOPRF1G88AAAABBakWKA","source":"github:review:PRR_kwDOPRF1G88AAAABLWqosA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBakWKA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLWqosA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLWqosA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLXgmzQ:github:pull-request:PR_kwDOPRF1G88AAAABBbvVPw","source":"github:review:PRR_kwDOPRF1G88AAAABLXgmzQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBbvVPw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLXgmzQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLXgmzQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLXJKjw:github:pull-request:PR_kwDOPRF1G88AAAABBbX_zg","source":"github:review:PRR_kwDOPRF1G88AAAABLXJKjw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBbX_zg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLXJKjw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLXJKjw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLXPfOw:github:pull-request:PR_kwDOPRF1G88AAAABBY_IKw","source":"github:review:PRR_kwDOPRF1G88AAAABLXPfOw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBY_IKw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLXPfOw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLXPfOw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLXQ-1w:github:pull-request:PR_kwDOPRF1G88AAAABBbUt4w","source":"github:review:PRR_kwDOPRF1G88AAAABLXQ-1w","target":"github:pull-request:PR_kwDOPRF1G88AAAABBbUt4w","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLXQ-1w:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLXQ-1w","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLXrLNw:github:pull-request:PR_kwDOPRF1G88AAAABAsxvzg","source":"github:review:PRR_kwDOPRF1G88AAAABLXrLNw","target":"github:pull-request:PR_kwDOPRF1G88AAAABAsxvzg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLXrLNw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLXrLNw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLXs-Kw:github:pull-request:PR_kwDOPRF1G88AAAABBbCu8w","source":"github:review:PRR_kwDOPRF1G88AAAABLXs-Kw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBbCu8w","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLXs-Kw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLXs-Kw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLXyIWg:github:pull-request:PR_kwDOPRF1G88AAAABBcEXhw","source":"github:review:PRR_kwDOPRF1G88AAAABLXyIWg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBcEXhw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLXyIWg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLXyIWg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLY555A:github:pull-request:PR_kwDOPRF1G88AAAABBd6s2A","source":"github:review:PRR_kwDOPRF1G88AAAABLY555A","target":"github:pull-request:PR_kwDOPRF1G88AAAABBd6s2A","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLY555A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLY555A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYbSHw:github:pull-request:PR_kwDOPRF1G88AAAABBcuamQ","source":"github:review:PRR_kwDOPRF1G88AAAABLYbSHw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBcuamQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYbSHw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLYbSHw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYCgAw:github:pull-request:PR_kwDOPRF1G88AAAABBaLWoQ","source":"github:review:PRR_kwDOPRF1G88AAAABLYCgAw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBaLWoQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYCgAw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLYCgAw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYDwtA:github:pull-request:PR_kwDOPRF1G88AAAABBclTBA","source":"github:review:PRR_kwDOPRF1G88AAAABLYDwtA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBclTBA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYDwtA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLYDwtA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYiPrQ:github:pull-request:PR_kwDOPRF1G88AAAABBdNELw","source":"github:review:PRR_kwDOPRF1G88AAAABLYiPrQ","target":"github:pull-request:PR_kwDOPRF1G88AAAABBdNELw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYiPrQ:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLYiPrQ","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYLMOg:github:pull-request:PR_kwDOPRF1G88AAAABBcXe8Q","source":"github:review:PRR_kwDOPRF1G88AAAABLYLMOg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBcXe8Q","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYLMOg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLYLMOg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYM4FA:github:pull-request:PR_kwDOPRF1G88AAAABBXX-eA","source":"github:review:PRR_kwDOPRF1G88AAAABLYM4FA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBXX-eA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYM4FA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLYM4FA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYOjUw:github:pull-request:PR_kwDOPRF1G88AAAABBc0POQ","source":"github:review:PRR_kwDOPRF1G88AAAABLYOjUw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBc0POQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYOjUw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLYOjUw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYOYSw:github:pull-request:PR_kwDOPRF1G88AAAABBcoUUg","source":"github:review:PRR_kwDOPRF1G88AAAABLYOYSw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBcoUUg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYOYSw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLYOYSw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYTOUg:github:pull-request:PR_kwDOPRF1G88AAAABBcx-Vg","source":"github:review:PRR_kwDOPRF1G88AAAABLYTOUg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBcx-Vg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYTOUg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLYTOUg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYuJrg:github:pull-request:PR_kwDOPRF1G88AAAABAv550Q","source":"github:review:PRR_kwDOPRF1G88AAAABLYuJrg","target":"github:pull-request:PR_kwDOPRF1G88AAAABAv550Q","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYuJrg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLYuJrg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYutPg:github:pull-request:PR_kwDOPRF1G88AAAABBGPDdg","source":"github:review:PRR_kwDOPRF1G88AAAABLYutPg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBGPDdg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYutPg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLYutPg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYyjzg:github:pull-request:PR_kwDOPRF1G88AAAABBdpaMw","source":"github:review:PRR_kwDOPRF1G88AAAABLYyjzg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBdpaMw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLYyjzg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLYyjzg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLZ2FKg:github:pull-request:PR_kwDOPRF1G88AAAABBfUijg","source":"github:review:PRR_kwDOPRF1G88AAAABLZ2FKg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBfUijg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLZ2FKg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLZ2FKg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLZ8v5A:github:pull-request:PR_kwDOPRF1G88AAAABBfgcow","source":"github:review:PRR_kwDOPRF1G88AAAABLZ8v5A","target":"github:pull-request:PR_kwDOPRF1G88AAAABBfgcow","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLZ8v5A:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLZ8v5A","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLZAc4Q:github:pull-request:PR_kwDOPRF1G88AAAABBb_Gtg","source":"github:review:PRR_kwDOPRF1G88AAAABLZAc4Q","target":"github:pull-request:PR_kwDOPRF1G88AAAABBb_Gtg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLZAc4Q:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLZAc4Q","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLZecFw:github:pull-request:PR_kwDOPRF1G88AAAABBetj8Q","source":"github:review:PRR_kwDOPRF1G88AAAABLZecFw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBetj8Q","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLZecFw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLZecFw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLZHUSA:github:pull-request:PR_kwDOPRF1G88AAAABBeAHBQ","source":"github:review:PRR_kwDOPRF1G88AAAABLZHUSA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBeAHBQ","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLZHUSA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLZHUSA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLZjqkA:github:pull-request:PR_kwDOPRF1G88AAAABBe6y2w","source":"github:review:PRR_kwDOPRF1G88AAAABLZjqkA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBe6y2w","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLZjqkA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLZjqkA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLZNZPA:github:pull-request:PR_kwDOPRF1G88AAAABBeWHHA","source":"github:review:PRR_kwDOPRF1G88AAAABLZNZPA","target":"github:pull-request:PR_kwDOPRF1G88AAAABBeWHHA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLZNZPA:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLZNZPA","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLZpgig:github:pull-request:PR_kwDOPRF1G88AAAABBfCcLg","source":"github:review:PRR_kwDOPRF1G88AAAABLZpgig","target":"github:pull-request:PR_kwDOPRF1G88AAAABBfCcLg","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLZpgig:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLZpgig","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLZSqRw:github:pull-request:PR_kwDOPRF1G88AAAABBedKuw","source":"github:review:PRR_kwDOPRF1G88AAAABLZSqRw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBedKuw","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLZSqRw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLZSqRw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLZwWMw:github:pull-request:PR_kwDOPRF1G88AAAABBezpCA","source":"github:review:PRR_kwDOPRF1G88AAAABLZwWMw","target":"github:pull-request:PR_kwDOPRF1G88AAAABBezpCA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLZwWMw:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLZwWMw","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLZY1Rg:github:pull-request:PR_kwDOPRF1G88AAAABBeKawA","source":"github:review:PRR_kwDOPRF1G88AAAABLZY1Rg","target":"github:pull-request:PR_kwDOPRF1G88AAAABBeKawA","kind":"reviews"},{"id":"edge:review:PRR_kwDOPRF1G88AAAABLZY1Rg:repository","source":"github:review:PRR_kwDOPRF1G88AAAABLZY1Rg","target":"github:repository:R_kgDOPRF1Gw","kind":"in-repository"},{"id":"edge:role:ai-agent-systems-engineer:criterion:agent-security","source":"role:ai-agent-systems-engineer","target":"criterion:ai-agent-systems-engineer:agent-security","kind":"requires"},{"id":"edge:role:ai-agent-systems-engineer:criterion:memory-context-systems","source":"role:ai-agent-systems-engineer","target":"criterion:ai-agent-systems-engineer:memory-context-systems","kind":"requires"},{"id":"edge:role:ai-agent-systems-engineer:criterion:multi-agent-orchestration","source":"role:ai-agent-systems-engineer","target":"criterion:ai-agent-systems-engineer:multi-agent-orchestration","kind":"requires"},{"id":"edge:role:ai-agent-systems-engineer:criterion:verification-engineering","source":"role:ai-agent-systems-engineer","target":"criterion:ai-agent-systems-engineer:verification-engineering","kind":"requires"},{"id":"edge:role:developer-experience-engineer-ai:criterion:developer-tooling","source":"role:developer-experience-engineer-ai","target":"criterion:developer-experience-engineer-ai:developer-tooling","kind":"requires"},{"id":"edge:role:developer-experience-engineer-ai:criterion:github-api-graphql","source":"role:developer-experience-engineer-ai","target":"criterion:developer-experience-engineer-ai:github-api-graphql","kind":"requires"},{"id":"edge:role:developer-experience-engineer-ai:criterion:plugin-architecture","source":"role:developer-experience-engineer-ai","target":"criterion:developer-experience-engineer-ai:plugin-architecture","kind":"requires"},{"id":"edge:role:developer-experience-engineer-ai:criterion:typescript","source":"role:developer-experience-engineer-ai","target":"criterion:developer-experience-engineer-ai:typescript","kind":"requires"},{"id":"edge:role:multi-agent-systems-engineer:criterion:kanban-swarm-execution","source":"role:multi-agent-systems-engineer","target":"criterion:multi-agent-systems-engineer:kanban-swarm-execution","kind":"requires"},{"id":"edge:role:multi-agent-systems-engineer:criterion:knowledge-graph-modeling","source":"role:multi-agent-systems-engineer","target":"criterion:multi-agent-systems-engineer:knowledge-graph-modeling","kind":"requires"},{"id":"edge:role:multi-agent-systems-engineer:criterion:multi-agent-orchestration","source":"role:multi-agent-systems-engineer","target":"criterion:multi-agent-systems-engineer:multi-agent-orchestration","kind":"requires"},{"id":"edge:role:multi-agent-systems-engineer:criterion:verification-engineering","source":"role:multi-agent-systems-engineer","target":"criterion:multi-agent-systems-engineer:verification-engineering","kind":"requires"},{"id":"edge:semantic-interlock-graph:interlock-121-untouched","source":"work:semantic-interlock-graph","target":"outcome:interlock-121-untouched","kind":"has-outcome"},{"id":"edge:semantic-interlock-graph:interlock-343-identities","source":"work:semantic-interlock-graph","target":"outcome:interlock-343-identities","kind":"has-outcome"},{"id":"edge:semantic-interlock-graph:interlock-419-routes","source":"work:semantic-interlock-graph","target":"outcome:interlock-419-routes","kind":"has-outcome"},{"id":"edge:skill:agent-security:evidence:agent-security","source":"skill:agent-security","target":"capability-evidence:agent-security","kind":"evidenced-by"},{"id":"edge:skill:agent-security:taxonomy:local-2026-09-01-skill-agent-security","source":"skill:agent-security","target":"taxonomy:local-2026-09-01-skill-agent-security","kind":"normalized-to"},{"id":"edge:skill:agent-security:taxonomy:o-net-soc-2026-https-www-onetonline-org-link-summary-15-1212-00","source":"skill:agent-security","target":"taxonomy:o-net-soc-2026-https-www-onetonline-org-link-summary-15-1212-00","kind":"normalized-to"},{"id":"edge:skill:astro-web-frontend:evidence:astro-web-frontend","source":"skill:astro-web-frontend","target":"capability-evidence:astro-web-frontend","kind":"evidenced-by"},{"id":"edge:skill:astro-web-frontend:taxonomy:local-2026-09-01-skill-astro-web-frontend","source":"skill:astro-web-frontend","target":"taxonomy:local-2026-09-01-skill-astro-web-frontend","kind":"normalized-to"},{"id":"edge:skill:ci-cd-automation:evidence:ci-cd-automation","source":"skill:ci-cd-automation","target":"capability-evidence:ci-cd-automation","kind":"evidenced-by"},{"id":"edge:skill:ci-cd-automation:taxonomy:local-2026-09-01-skill-ci-cd-automation","source":"skill:ci-cd-automation","target":"taxonomy:local-2026-09-01-skill-ci-cd-automation","kind":"normalized-to"},{"id":"edge:skill:cloudflare-edge-deployment:evidence:cloudflare-edge-deployment","source":"skill:cloudflare-edge-deployment","target":"capability-evidence:cloudflare-edge-deployment","kind":"evidenced-by"},{"id":"edge:skill:cloudflare-edge-deployment:taxonomy:local-2026-09-01-skill-cloudflare-edge-deployment","source":"skill:cloudflare-edge-deployment","target":"taxonomy:local-2026-09-01-skill-cloudflare-edge-deployment","kind":"normalized-to"},{"id":"edge:skill:data-analysis:evidence:data-analysis","source":"skill:data-analysis","target":"capability-evidence:data-analysis","kind":"evidenced-by"},{"id":"edge:skill:data-analysis:taxonomy:local-2026-09-01-skill-data-analysis","source":"skill:data-analysis","target":"taxonomy:local-2026-09-01-skill-data-analysis","kind":"normalized-to"},{"id":"edge:skill:developer-tooling:evidence:developer-tooling","source":"skill:developer-tooling","target":"capability-evidence:developer-tooling","kind":"evidenced-by"},{"id":"edge:skill:developer-tooling:taxonomy:local-2026-09-01-skill-developer-tooling","source":"skill:developer-tooling","target":"taxonomy:local-2026-09-01-skill-developer-tooling","kind":"normalized-to"},{"id":"edge:skill:github-api-graphql:evidence:github-api-graphql","source":"skill:github-api-graphql","target":"capability-evidence:github-api-graphql","kind":"evidenced-by"},{"id":"edge:skill:github-api-graphql:taxonomy:local-2026-09-01-skill-github-api-graphql","source":"skill:github-api-graphql","target":"taxonomy:local-2026-09-01-skill-github-api-graphql","kind":"normalized-to"},{"id":"edge:skill:graph-gated-refactoring:evidence:graph-gated-refactoring","source":"skill:graph-gated-refactoring","target":"capability-evidence:graph-gated-refactoring","kind":"evidenced-by"},{"id":"edge:skill:graph-gated-refactoring:taxonomy:local-2026-09-01-skill-graph-gated-refactoring","source":"skill:graph-gated-refactoring","target":"taxonomy:local-2026-09-01-skill-graph-gated-refactoring","kind":"normalized-to"},{"id":"edge:skill:inferential-architecture:evidence:inferential-architecture","source":"skill:inferential-architecture","target":"capability-evidence:inferential-architecture","kind":"evidenced-by"},{"id":"edge:skill:inferential-architecture:taxonomy:local-2026-09-01-skill-inferential-architecture","source":"skill:inferential-architecture","target":"taxonomy:local-2026-09-01-skill-inferential-architecture","kind":"normalized-to"},{"id":"edge:skill:kanban-swarm-execution:evidence:kanban-swarm-execution","source":"skill:kanban-swarm-execution","target":"capability-evidence:kanban-swarm-execution","kind":"evidenced-by"},{"id":"edge:skill:kanban-swarm-execution:taxonomy:local-2026-09-01-skill-kanban-swarm-execution","source":"skill:kanban-swarm-execution","target":"taxonomy:local-2026-09-01-skill-kanban-swarm-execution","kind":"normalized-to"},{"id":"edge:skill:knowledge-graph-modeling:evidence:knowledge-graph-modeling","source":"skill:knowledge-graph-modeling","target":"capability-evidence:knowledge-graph-modeling","kind":"evidenced-by"},{"id":"edge:skill:knowledge-graph-modeling:taxonomy:local-2026-09-01-skill-knowledge-graph-modeling","source":"skill:knowledge-graph-modeling","target":"taxonomy:local-2026-09-01-skill-knowledge-graph-modeling","kind":"normalized-to"},{"id":"edge:skill:memory-context-systems:evidence:memory-context-systems","source":"skill:memory-context-systems","target":"capability-evidence:memory-context-systems","kind":"evidenced-by"},{"id":"edge:skill:memory-context-systems:taxonomy:local-2026-09-01-skill-memory-context-systems","source":"skill:memory-context-systems","target":"taxonomy:local-2026-09-01-skill-memory-context-systems","kind":"normalized-to"},{"id":"edge:skill:multi-agent-orchestration:evidence:multi-agent-orchestration","source":"skill:multi-agent-orchestration","target":"capability-evidence:multi-agent-orchestration","kind":"evidenced-by"},{"id":"edge:skill:multi-agent-orchestration:taxonomy:local-2026-09-01-skill-multi-agent-orchestration","source":"skill:multi-agent-orchestration","target":"taxonomy:local-2026-09-01-skill-multi-agent-orchestration","kind":"normalized-to"},{"id":"edge:skill:plugin-architecture:evidence:plugin-architecture","source":"skill:plugin-architecture","target":"capability-evidence:plugin-architecture","kind":"evidenced-by"},{"id":"edge:skill:plugin-architecture:taxonomy:local-2026-09-01-skill-plugin-architecture","source":"skill:plugin-architecture","target":"taxonomy:local-2026-09-01-skill-plugin-architecture","kind":"normalized-to"},{"id":"edge:skill:python:evidence:python","source":"skill:python","target":"capability-evidence:python","kind":"evidenced-by"},{"id":"edge:skill:python:taxonomy:local-2026-09-01-skill-python","source":"skill:python","target":"taxonomy:local-2026-09-01-skill-python","kind":"normalized-to"},{"id":"edge:skill:refusal-algebra:evidence:refusal-algebra","source":"skill:refusal-algebra","target":"capability-evidence:refusal-algebra","kind":"evidenced-by"},{"id":"edge:skill:refusal-algebra:taxonomy:local-2026-09-01-skill-refusal-algebra","source":"skill:refusal-algebra","target":"taxonomy:local-2026-09-01-skill-refusal-algebra","kind":"normalized-to"},{"id":"edge:skill:typescript:evidence:typescript","source":"skill:typescript","target":"capability-evidence:typescript","kind":"evidenced-by"},{"id":"edge:skill:typescript:taxonomy:local-2026-09-01-skill-typescript","source":"skill:typescript","target":"taxonomy:local-2026-09-01-skill-typescript","kind":"normalized-to"},{"id":"edge:skill:verification-engineering:evidence:verification-engineering","source":"skill:verification-engineering","target":"capability-evidence:verification-engineering","kind":"evidenced-by"},{"id":"edge:skill:verification-engineering:taxonomy:local-2026-09-01-skill-verification-engineering","source":"skill:verification-engineering","target":"taxonomy:local-2026-09-01-skill-verification-engineering","kind":"normalized-to"},{"id":"edge:skill:webhook-automation:evidence:webhook-automation","source":"skill:webhook-automation","target":"capability-evidence:webhook-automation","kind":"evidenced-by"},{"id":"edge:skill:webhook-automation:taxonomy:local-2026-09-01-skill-webhook-automation","source":"skill:webhook-automation","target":"taxonomy:local-2026-09-01-skill-webhook-automation","kind":"normalized-to"},{"id":"edge:skill:windows-desktop-integration:evidence:windows-desktop-integration","source":"skill:windows-desktop-integration","target":"capability-evidence:windows-desktop-integration","kind":"evidenced-by"},{"id":"edge:skill:windows-desktop-integration:taxonomy:local-2026-09-01-skill-windows-desktop-integration","source":"skill:windows-desktop-integration","target":"taxonomy:local-2026-09-01-skill-windows-desktop-integration","kind":"normalized-to"},{"id":"person:axl:career:boka-bread-baker","source":"person:axl","target":"career:boka-bread-baker","kind":"related-to"},{"id":"person:axl:career:datacamp-data-science-student","source":"person:axl","target":"career:datacamp-data-science-student","kind":"related-to"},{"id":"person:axl:career:duck-duck-goat-line-cook","source":"person:axl","target":"career:duck-duck-goat-line-cook","kind":"related-to"},{"id":"person:axl:career:food-fight-pastry-chef","source":"person:axl","target":"career:food-fight-pastry-chef","kind":"related-to"},{"id":"person:axl:career:holden-qigong-customer-service","source":"person:axl","target":"career:holden-qigong-customer-service","kind":"related-to"},{"id":"person:axl:career:madison-sourdough-pastry-baker","source":"person:axl","target":"career:madison-sourdough-pastry-baker","kind":"related-to"},{"id":"person:axl:career:merchant-line-cook","source":"person:axl","target":"career:merchant-line-cook","kind":"related-to"},{"id":"person:axl:career:nous-hermes-contributor","source":"person:axl","target":"career:nous-hermes-contributor","kind":"related-to"},{"id":"person:axl:career:vintage-pastry-sous-chef","source":"person:axl","target":"career:vintage-pastry-sous-chef","kind":"related-to"},{"id":"person:axl:education:jwu-aas-culinary-arts","source":"person:axl","target":"education:jwu-aas-culinary-arts","kind":"related-to"},{"id":"person:axl:education:jwu-data-analytics-study","source":"person:axl","target":"education:jwu-data-analytics-study","kind":"related-to"},{"id":"person:axl:education:jwu-mba-finance","source":"person:axl","target":"education:jwu-mba-finance","kind":"related-to"},{"id":"person:axl:portfolio:datacamp","source":"person:axl","target":"portfolio:datacamp","kind":"related-to"},{"id":"person:axl:portfolio:kaggle","source":"person:axl","target":"portfolio:kaggle","kind":"related-to"},{"id":"person:axl:portfolio:tableau","source":"person:axl","target":"portfolio:tableau","kind":"related-to"},{"id":"portfolio:kaggle:competitions:backpack-prediction-challenge","source":"portfolio:kaggle","target":"artifact:kaggle-competitions-backpack-prediction-challenge","kind":"related-to"},{"id":"portfolio:kaggle:competitions:binary-prediction-with-a-rainfall-dataset","source":"portfolio:kaggle","target":"artifact:kaggle-competitions-binary-prediction-with-a-rainfall-dataset","kind":"related-to"},{"id":"portfolio:kaggle:competitions:predicting-student-test-scores","source":"portfolio:kaggle","target":"artifact:kaggle-competitions-predicting-student-test-scores","kind":"related-to"},{"id":"portfolio:kaggle:datasets:chicago-transit-authority-cta-l-ridership-data","source":"portfolio:kaggle","target":"dataset:kaggle-datasets-chicago-transit-authority-cta-l-ridership-data","kind":"related-to"},{"id":"portfolio:kaggle:datasets:grocery-sales-database","source":"portfolio:kaggle","target":"dataset:kaggle-datasets-grocery-sales-database","kind":"related-to"},{"id":"portfolio:kaggle:notebooks:backpack-prediction-challenge","source":"portfolio:kaggle","target":"notebook:kaggle-notebooks-backpack-prediction-challenge","kind":"related-to"},{"id":"portfolio:kaggle:notebooks:california-state-jobs-dataset","source":"portfolio:kaggle","target":"notebook:kaggle-notebooks-california-state-jobs-dataset","kind":"related-to"},{"id":"portfolio:kaggle:notebooks:cta-red-line-ridership-2018-2023","source":"portfolio:kaggle","target":"notebook:kaggle-notebooks-cta-red-line-ridership-2018-2023","kind":"related-to"},{"id":"portfolio:kaggle:notebooks:sql-analyzing-ocean-plastic-pollution","source":"portfolio:kaggle","target":"notebook:kaggle-notebooks-sql-analyzing-ocean-plastic-pollution","kind":"related-to"},{"id":"portfolio:kaggle:notebooks:sweeping-statistical-analysis-of-palmerpenguins","source":"portfolio:kaggle","target":"notebook:kaggle-notebooks-sweeping-statistical-analysis-of-palmerpenguins","kind":"related-to"},{"id":"portfolio:kaggle:notebooks:titanic-machine-learning-from-disaster","source":"portfolio:kaggle","target":"notebook:kaggle-notebooks-titanic-machine-learning-from-disaster","kind":"related-to"},{"id":"portfolio:tableau:visualizations:a-visit-to-the-treasure-island","source":"portfolio:tableau","target":"visualization:tableau-visualizations-a-visit-to-the-treasure-island","kind":"related-to"},{"id":"portfolio:tableau:visualizations:case-study-analyzing-customer-churn-in-tableau","source":"portfolio:tableau","target":"visualization:tableau-visualizations-case-study-analyzing-customer-churn-in-tableau","kind":"related-to"},{"id":"portfolio:tableau:visualizations:chicago-divvy-bike-data-analysis","source":"portfolio:tableau","target":"visualization:tableau-visualizations-chicago-divvy-bike-data-analysis","kind":"related-to"},{"id":"portfolio:tableau:visualizations:co2-emissions-by-country","source":"portfolio:tableau","target":"visualization:tableau-visualizations-co2-emissions-by-country","kind":"related-to"},{"id":"portfolio:tableau:visualizations:customer-story-2-chicago-divvy-bikes-data","source":"portfolio:tableau","target":"visualization:tableau-visualizations-customer-story-2-chicago-divvy-bikes-data","kind":"related-to"},{"id":"portfolio:tableau:visualizations:geospatial-maps-and-advanced-visualizations-in-tableau","source":"portfolio:tableau","target":"visualization:tableau-visualizations-geospatial-maps-and-advanced-visualizations-in-tableau","kind":"related-to"},{"id":"portfolio:tableau:visualizations:my-obsidian-journey-metadata-visualized","source":"portfolio:tableau","target":"visualization:tableau-visualizations-my-obsidian-journey-metadata-visualized","kind":"related-to"}],"stats":{"declaredCounts":{"pullRequests":439,"issues":450,"reviews":465},"collectedCounts":{"pullRequests":439,"issues":450,"reviews":465},"githubSnapshotObjects":1355}}