apsimo-hermes 1.3.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. apsimo_hermes/SUPPLIED-INPUT.md +84 -0
  2. apsimo_hermes/__init__.py +2921 -0
  3. apsimo_hermes/apsimo_hostworker/__init__.py +18 -0
  4. apsimo_hermes/apsimo_hostworker/catalog.py +754 -0
  5. apsimo_hermes/apsimo_hostworker/contract.py +402 -0
  6. apsimo_hermes/client.py +1855 -0
  7. apsimo_hermes/commitment_work.py +171 -0
  8. apsimo_hermes/compat.py +53 -0
  9. apsimo_hermes/completed_reports.py +84 -0
  10. apsimo_hermes/contacts.py +32 -0
  11. apsimo_hermes/draft_artifacts.py +98 -0
  12. apsimo_hermes/environment.py +43 -0
  13. apsimo_hermes/events.py +19 -0
  14. apsimo_hermes/evidence.py +98 -0
  15. apsimo_hermes/executions.py +269 -0
  16. apsimo_hermes/followups.py +105 -0
  17. apsimo_hermes/initiative_work.py +212 -0
  18. apsimo_hermes/input_provenance.py +428 -0
  19. apsimo_hermes/judgments.py +77 -0
  20. apsimo_hermes/local_work.py +201 -0
  21. apsimo_hermes/local_work_runner.py +200 -0
  22. apsimo_hermes/model_response.py +10 -0
  23. apsimo_hermes/naming.py +105 -0
  24. apsimo_hermes/native_drafts.py +342 -0
  25. apsimo_hermes/native_input.py +75 -0
  26. apsimo_hermes/native_memory.py +137 -0
  27. apsimo_hermes/native_scope.py +23 -0
  28. apsimo_hermes/native_task_platform.py +519 -0
  29. apsimo_hermes/plugin.yaml +14 -0
  30. apsimo_hermes/request_capabilities.py +100 -0
  31. apsimo_hermes/request_memory.py +738 -0
  32. apsimo_hermes/request_work.py +132 -0
  33. apsimo_hermes/review.py +85 -0
  34. apsimo_hermes/review_evaluation.py +227 -0
  35. apsimo_hermes/review_evidence.py +68 -0
  36. apsimo_hermes/review_worker.py +229 -0
  37. apsimo_hermes/runtime_models.py +53 -0
  38. apsimo_hermes/slash.py +34 -0
  39. apsimo_hermes/source_annotate.py +38 -0
  40. apsimo_hermes/source_forget.py +24 -0
  41. apsimo_hermes/source_read.py +138 -0
  42. apsimo_hermes/task_controller.py +388 -0
  43. apsimo_hermes/task_handoffs.py +450 -0
  44. apsimo_hermes/task_sources.py +191 -0
  45. apsimo_hermes-1.3.0.dist-info/METADATA +676 -0
  46. apsimo_hermes-1.3.0.dist-info/RECORD +59 -0
  47. apsimo_hermes-1.3.0.dist-info/WHEEL +5 -0
  48. apsimo_hermes-1.3.0.dist-info/entry_points.txt +7 -0
  49. apsimo_hermes-1.3.0.dist-info/licenses/LICENSE +21 -0
  50. apsimo_hermes-1.3.0.dist-info/top_level.txt +4 -0
  51. apsimo_memory/SKILL.md +61 -0
  52. apsimo_memory/__init__.py +74 -0
  53. apsimo_memory/cli.py +180 -0
  54. apsimo_memory/plugin.yaml +13 -0
  55. apsimo_memory/provider.py +2645 -0
  56. colony_hermes/__init__.py +5 -0
  57. colony_hermes/plugin.yaml +14 -0
  58. colony_memory/__init__.py +4 -0
  59. colony_memory/plugin.yaml +13 -0
@@ -0,0 +1,84 @@
1
+ # Already captured host input
2
+
3
+ An authenticated host may run an existing native task inside
4
+ `apsimo_hermes.input_provenance.supplied_input(contact_id=..., session_id=...,
5
+ input_refs=[...], source_refs=[...])`. The caller must first validate the
6
+ participant, original input hashes and current inherited source revisions.
7
+ `contact_id` is a consistency check, never an authority grant. Ordinary native
8
+ participant and tool authority still apply.
9
+
10
+ `session_id` is the new native root session. Each input reference contains
11
+ `source_id` and `input_message_hash`; each source reference contains `source_id`
12
+ and `source_version`. These are exact lowercase SHA-256 hashes, not a topic or
13
+ a textual provenance claim. Native child turns inherit only a valid bound
14
+ parent scope. The context resets on exit, and copied worker contexts cannot
15
+ continue after that exit.
16
+
17
+ The host may use Hermes's `persist_user_message` to display the original human
18
+ input while the actual request contains a derived task. The adapter records
19
+ only the assistant source, with the original input dependencies and inherited
20
+ source dependencies. It does not add the task wrapper as human testimony.
21
+ From 1.0.33, this validated assistant-only output is retained even when the
22
+ native platform is excluded from automatic ordinary turn capture. The platform
23
+ filter still excludes ordinary turns without supplied input; the exception
24
+ does not grant participant or tool authority.
25
+ Inherited handles are labelled as unopened evidence and become available to
26
+ the scoped source reader only after their exact host-appended block reaches
27
+ the actual native request. Quoted marker text cannot add host handles.
28
+
29
+ Existing erasure reconciliation runs before requests, tools and the final
30
+ writer. `handoff.result` is populated only after the dependent assistant
31
+ envelope is durably queued; it is not a claim of backend delivery. It contains
32
+ the native session/turn and exact input/source dependencies. The host must
33
+ revalidate these before delayed result exposure, playback or further effects.
34
+ Canonical deletion follows recorded dependencies; arbitrary paraphrases,
35
+ native transcript files and archived copies remain outside this guarantee.
36
+
37
+ `handoff.failure` is either `None` or a typed summary containing `reason`,
38
+ `admitted` and `retryable`. A timeout or network failure during source freshness
39
+ verification reports `source_freshness_unavailable`. Only a failure before any
40
+ successful source admission has `retryable: true`. Confirmed erasure, invalid
41
+ scope, HTTP authorization failures and other unknown failures are not retryable.
42
+ Later successful verification never reopens the failed scope. The request stays
43
+ without source content or tools; transient verification is described as temporary,
44
+ not as a claim that the source was deleted.
45
+
46
+ A host may use that exact initial-failure result to start one fresh native task
47
+ under its existing deadline, after revalidating the original source envelope.
48
+ It must rebuild the agent and supplied-input scope so native prefetch and inherited
49
+ context run again. This adapter does not retry tasks, extend their budgets or
50
+ authorize replay after any successful admission or possible tool effect.
51
+
52
+ When `execution_registry_enabled` is true, a source-checked root execution also
53
+ retains these input IDs and hashes in its existing operational metadata. The
54
+ work reader opens a current, viewer-scoped excerpt of the original input, up to
55
+ 240 characters, so another session can identify the request associated with
56
+ that execution. Long inputs and multiple input parents are marked partial.
57
+ This is an attributed request, not proof of task performance, a current task
58
+ plan, or a delegated child's assignment. Unbound executions keep unknown
59
+ purpose; task wrappers and process commands never supply a substitute.
60
+
61
+ The registered request adapter opts in with `input_context=true`, then includes
62
+ any displayed excerpt in the existing source-freshness check and answer
63
+ lineage. Older adapters receive operational metadata only. The registry stores
64
+ no excerpt text. Erased or inaccessible inputs disappear on the next read;
65
+ annotated inputs require the canonical source reader instead of a clipped work
66
+ label that could omit the correction. Active work and ancestry are selected
67
+ before optional excerpts within the same eight-record, 4,000-character budget.
68
+
69
+
70
+ Registered native platforms may wrap their actual message handler in
71
+ `transport_input(contact_id=..., platform=..., input_refs=..., source_refs=...)`
72
+ before Hermes allocates a session. Only the first independently authenticated
73
+ root turn on that platform can bind the scope. Wrap the execution handler,
74
+ including startup resume, rather than the earlier admission callback. Persist
75
+ `result` before the wrapper exits because native delivery runs afterwards.
76
+ Detached children cannot retain a scope after its owning handler closes.
77
+
78
+ An automatic resume can set the optional bounded `recall_query` to its already
79
+ validated original input. The memory provider uses it only after normal
80
+ participant checks, and only for a bound root session. Child queries remain
81
+ independent. This preserves Hermes' empty-event automatic continuation semantics
82
+ while retrieving task-relevant current evidence. Exact native plain-user-tail
83
+ merges preserve only the current observed recall suffix; historical rows still
84
+ receive ordinary erasure filtering before the wire row is recombined.