agent-remnote 1.3.3 → 1.5.0

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,56 @@
1
1
  # agent-remnote
2
2
 
3
+ ## 1.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 77d941b: Add a safe `doctor --fix` repair flow and harden packaged runtime behavior.
8
+
9
+ This release adds a repair mode for `doctor` that can clean stale runtime
10
+ artifacts, rewrite supported user config shapes into canonical keys, and report
11
+ restart guidance without auto-restarting services.
12
+
13
+ It also hardens runtime lifecycle handling by tightening PID trust checks,
14
+ cleaning managed state files more safely, improving installed-package behavior
15
+ for bundled scenarios and plugin artifacts, and keeping JSON-oriented flows such
16
+ as `search --json` stable in packaged layouts.
17
+
18
+ ## 1.4.0
19
+
20
+ ### Minor Changes
21
+
22
+ - d5e52bc: Deliver Wave 1 command-mode parity for RemNote business commands.
23
+
24
+ This release introduces a shared `ModeParityRuntime` and executable command
25
+ contract registry so Wave 1 business commands keep the same business semantics
26
+ in local mode and remote mode when `apiBaseUrl` is configured.
27
+
28
+ Wave 1 parity now covers the current business command set, including:
29
+
30
+ - search and analytical read commands such as `search`, `rem outline`,
31
+ `daily rem-id`, `page-id`, `by-reference`, `references`, `resolve-ref`,
32
+ and `query`
33
+ - plugin/UI-context/selection commands such as `plugin current`,
34
+ `plugin search`, `plugin ui-context *`, and `plugin selection *`
35
+ - write commands such as `daily write`, `apply`, `queue wait`, `rem create`,
36
+ `rem move`, `portal create`, `rem replace`, `rem children *`,
37
+ `rem set-text`, `rem delete`, and tag operations
38
+
39
+ This release also:
40
+
41
+ - moves host-dependent business semantics such as ref resolution, placement,
42
+ selection interpretation, contiguous sibling range resolution, title
43
+ inference, and receipt normalization behind shared parity runtime layers
44
+ - adds host-backed routing for deferred write commands that compile `ops`,
45
+ preventing remote mode from silently enqueueing to the caller-side local
46
+ store
47
+ - defines `powerup todo *` as the canonical Todo command family while keeping
48
+ top-level `todo *` as a supported alias
49
+ - aligns the authoritative parity inventory, CLI/HTTP/SSoT docs, and spec
50
+ ledgers for the Wave 1 boundary
51
+ - expands command-level contract coverage and remote-first integration coverage,
52
+ including `/v1` and `/remnote/v1` base-path verification
53
+
3
54
  ## 1.3.3
4
55
 
5
56
  ### Patch Changes
package/README.md CHANGED
@@ -62,6 +62,9 @@ agent-remnote search --query "keyword"
62
62
  agent-remnote plugin current --compact
63
63
  ```
64
64
 
65
+ The authoritative inventory for parity-mandatory business commands lives in
66
+ `docs/ssot/agent-remnote/runtime-mode-and-command-parity.md`.
67
+
65
68
  For local RemNote plugin loading, serve the embedded plugin artifacts at the default URL:
66
69
 
67
70
  ```bash
@@ -0,0 +1,62 @@
1
+ [
2
+ {
3
+ "id": "dn_recent_todos_to_today_move",
4
+ "kind": "scenario_package",
5
+ "title": "Recent DN todos to today (move)",
6
+ "summary": "Collect recent daily note todos and move them under the target daily note.",
7
+ "source": "builtin",
8
+ "owner": "agent-remnote",
9
+ "version": 1,
10
+ "package_path": "packages/agent-remnote/builtin-scenarios/packages/dn_recent_todos_to_today_move.json",
11
+ "package_id": "dn_recent_todos_to_today_move",
12
+ "package_version": 1,
13
+ "tags": ["daily-note", "todo", "move"],
14
+ "vars": [
15
+ {
16
+ "name": "source_scope",
17
+ "type": "scope",
18
+ "required": false,
19
+ "default": "daily:past-7d"
20
+ },
21
+ {
22
+ "name": "target_ref",
23
+ "type": "ref",
24
+ "required": false,
25
+ "default": "daily:today"
26
+ }
27
+ ],
28
+ "action_capabilities": ["rem.move"],
29
+ "remote_parity_required": true,
30
+ "review_status": "planned_namespace_pending_promotion"
31
+ },
32
+ {
33
+ "id": "dn_recent_todos_to_today_portal",
34
+ "kind": "scenario_package",
35
+ "title": "Recent DN todos to today (portal)",
36
+ "summary": "Collect recent daily note todos and portal them into the target daily note.",
37
+ "source": "builtin",
38
+ "owner": "agent-remnote",
39
+ "version": 1,
40
+ "package_path": "packages/agent-remnote/builtin-scenarios/packages/dn_recent_todos_to_today_portal.json",
41
+ "package_id": "dn_recent_todos_to_today_portal",
42
+ "package_version": 1,
43
+ "tags": ["daily-note", "todo", "portal"],
44
+ "vars": [
45
+ {
46
+ "name": "source_scope",
47
+ "type": "scope",
48
+ "required": false,
49
+ "default": "daily:past-7d"
50
+ },
51
+ {
52
+ "name": "target_ref",
53
+ "type": "ref",
54
+ "required": false,
55
+ "default": "daily:today"
56
+ }
57
+ ],
58
+ "action_capabilities": ["portal.create"],
59
+ "remote_parity_required": true,
60
+ "review_status": "planned_namespace_pending_promotion"
61
+ }
62
+ ]
@@ -0,0 +1,85 @@
1
+ {
2
+ "id": "dn_recent_todos_to_today_move",
3
+ "version": 1,
4
+ "meta": {
5
+ "title": "Recent DN todos to today (move)",
6
+ "owner": "agent-remnote",
7
+ "description": "Collect recent daily note todos and move them under the target daily note."
8
+ },
9
+ "vars": [
10
+ {
11
+ "name": "source_scope",
12
+ "type": "scope",
13
+ "required": false,
14
+ "default": "daily:past-7d",
15
+ "description": "Recent daily-note scope used to select Todo entries."
16
+ },
17
+ {
18
+ "name": "target_ref",
19
+ "type": "ref",
20
+ "required": false,
21
+ "default": "daily:today",
22
+ "description": "Target daily note that receives the selected Todo entries."
23
+ }
24
+ ],
25
+ "nodes": [
26
+ {
27
+ "id": "recent_todos",
28
+ "kind": "selector",
29
+ "selector_kind": "query",
30
+ "output_slots": ["selection"],
31
+ "input": {
32
+ "query": {
33
+ "version": 2,
34
+ "root": {
35
+ "type": "powerup",
36
+ "powerup": {
37
+ "by": "rcrt",
38
+ "value": "t"
39
+ }
40
+ },
41
+ "scope": {
42
+ "kind": "var",
43
+ "name": "source_scope"
44
+ },
45
+ "shape": {
46
+ "roots_only": true
47
+ }
48
+ }
49
+ }
50
+ },
51
+ {
52
+ "id": "move_to_today",
53
+ "kind": "action",
54
+ "depends_on": ["recent_todos"],
55
+ "output_slots": ["receipt", "durable_target"],
56
+ "command_id": "rem.move",
57
+ "input": {
58
+ "selection": {
59
+ "kind": "node_output",
60
+ "node": "recent_todos",
61
+ "output": "selection"
62
+ },
63
+ "target_ref": {
64
+ "kind": "var",
65
+ "name": "target_ref"
66
+ }
67
+ }
68
+ }
69
+ ],
70
+ "entry": ["recent_todos"],
71
+ "outputs": ["move_to_today"],
72
+ "policy": {
73
+ "wait": false,
74
+ "remote_parity_required": true,
75
+ "max_items": 200,
76
+ "idempotency": "selection_rem_ids",
77
+ "fallback_strategy": "allow_empty_selection"
78
+ },
79
+ "capabilities": {
80
+ "requires": {
81
+ "powerup_metadata": true,
82
+ "write_runtime": true
83
+ }
84
+ }
85
+ }
@@ -0,0 +1,85 @@
1
+ {
2
+ "id": "dn_recent_todos_to_today_portal",
3
+ "version": 1,
4
+ "meta": {
5
+ "title": "Recent DN todos to today (portal)",
6
+ "owner": "agent-remnote",
7
+ "description": "Collect recent daily note todos and portal them into the target daily note."
8
+ },
9
+ "vars": [
10
+ {
11
+ "name": "source_scope",
12
+ "type": "scope",
13
+ "required": false,
14
+ "default": "daily:past-7d",
15
+ "description": "Recent daily-note scope used to select Todo entries."
16
+ },
17
+ {
18
+ "name": "target_ref",
19
+ "type": "ref",
20
+ "required": false,
21
+ "default": "daily:today",
22
+ "description": "Target daily note that receives the selected Todo portals."
23
+ }
24
+ ],
25
+ "nodes": [
26
+ {
27
+ "id": "recent_todos",
28
+ "kind": "selector",
29
+ "selector_kind": "query",
30
+ "output_slots": ["selection"],
31
+ "input": {
32
+ "query": {
33
+ "version": 2,
34
+ "root": {
35
+ "type": "powerup",
36
+ "powerup": {
37
+ "by": "rcrt",
38
+ "value": "t"
39
+ }
40
+ },
41
+ "scope": {
42
+ "kind": "var",
43
+ "name": "source_scope"
44
+ },
45
+ "shape": {
46
+ "roots_only": true
47
+ }
48
+ }
49
+ }
50
+ },
51
+ {
52
+ "id": "portal_to_today",
53
+ "kind": "action",
54
+ "depends_on": ["recent_todos"],
55
+ "output_slots": ["receipt", "durable_target"],
56
+ "command_id": "portal.create",
57
+ "input": {
58
+ "selection": {
59
+ "kind": "node_output",
60
+ "node": "recent_todos",
61
+ "output": "selection"
62
+ },
63
+ "target_ref": {
64
+ "kind": "var",
65
+ "name": "target_ref"
66
+ }
67
+ }
68
+ }
69
+ ],
70
+ "entry": ["recent_todos"],
71
+ "outputs": ["portal_to_today"],
72
+ "policy": {
73
+ "wait": false,
74
+ "remote_parity_required": true,
75
+ "max_items": 200,
76
+ "idempotency": "selection_rem_ids",
77
+ "fallback_strategy": "allow_empty_selection"
78
+ },
79
+ "capabilities": {
80
+ "requires": {
81
+ "powerup_metadata": true,
82
+ "write_runtime": true
83
+ }
84
+ }
85
+ }