@timurproko/a1 0.1.8-dev.322 → 0.1.8-dev.332

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 (52) hide show
  1. package/dist/cli/dispatch.js +1 -1
  2. package/dist/features/owned-ui/project-trust-prompt.js +1 -1
  3. package/dist/features/owned-ui/settings-app.js +1 -1
  4. package/dist/features/prompt-history/service.d.ts +31 -1
  5. package/dist/features/prompt-history/service.js +294 -129
  6. package/dist/features/prompt-history/store.d.ts +2 -1
  7. package/dist/features/prompt-history/store.js +17 -4
  8. package/dist/features/prompt-history/worker.js +6 -3
  9. package/dist/foundation/launch-context/index.d.ts +36 -6
  10. package/dist/foundation/launch-context/index.js +64 -11
  11. package/dist/foundation/launch-guardian/main.js +2 -1
  12. package/dist/foundation/release/bootstrap.d.ts +5 -0
  13. package/dist/foundation/release/bootstrap.js +49 -9
  14. package/dist/foundation/release/cohort-state.js +0 -3
  15. package/dist/foundation/release/dependency-certification-retention.d.ts +7 -0
  16. package/dist/foundation/release/dependency-certification-retention.js +88 -0
  17. package/dist/foundation/release/dependency-certification.d.ts +24 -0
  18. package/dist/foundation/release/dependency-certification.js +208 -0
  19. package/dist/foundation/release/dependency-layer.d.ts +3 -4
  20. package/dist/foundation/release/dependency-layer.js +6 -37
  21. package/dist/foundation/release/release-gc.js +72 -44
  22. package/dist/foundation/release/release-store.d.ts +2 -0
  23. package/dist/foundation/release/release-store.js +4 -3
  24. package/dist/foundation/release/restart-certification.js +16 -5
  25. package/dist/foundation/release/update.js +1 -6
  26. package/dist/foundation/release/warmup.js +16 -5
  27. package/dist/integrations/pi/components/owned-editor-ux.d.ts +1 -1
  28. package/dist/integrations/pi/components/owned-editor-ux.js +51 -27
  29. package/dist/integrations/pi/engine/adapter.d.ts +20 -0
  30. package/dist/integrations/pi/engine/adapter.js +223 -87
  31. package/dist/integrations/pi/engine/pending-delivery.d.ts +26 -0
  32. package/dist/integrations/pi/engine/pending-delivery.js +149 -0
  33. package/dist/integrations/pi/session-ui/prompt-chips.js +38 -25
  34. package/dist/integrations/pi/session-ui/prompt-history-controller.d.ts +0 -2
  35. package/dist/integrations/pi/session-ui/prompt-history-controller.js +3 -8
  36. package/dist/integrations/pi/session-ui/session-shell-root.d.ts +1 -1
  37. package/dist/integrations/pi/session-ui/session-shell-root.js +5 -1
  38. package/dist/integrations/pi/session-ui/session-shell.js +9 -6
  39. package/dist/integrations/pi/session-ui/session-viewport-controller.d.ts +2 -2
  40. package/dist/integrations/pi/session-ui/session-viewport-controller.js +4 -5
  41. package/dist/integrations/pi/session-ui/text-paste.d.ts +5 -0
  42. package/dist/integrations/pi/session-ui/text-paste.js +16 -0
  43. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +2 -2
  44. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.js +82 -39
  45. package/dist/native/darwin-arm64/manifest.json +1 -1
  46. package/dist/native/linux-x64/manifest.json +1 -1
  47. package/dist/native/win32-x64/manifest.json +2 -2
  48. package/dist/native/win32-x64/process-guardian.exe +0 -0
  49. package/dist/product-identity.json +1 -1
  50. package/docs/architecture/internal-naming.md +5 -3
  51. package/docs/manual-code-streaming-cleanup.md +88 -0
  52. package/package.json +1 -1
@@ -0,0 +1,88 @@
1
+ # Bounded code-streaming and hyperlink cleanup review
2
+
3
+ This candidate finishes the hyperlink portion of `eliminate-code-block-streaming-flicker`
4
+ (specification PR #318), following the partial implementation in #321. It is a prerequisite
5
+ for `keep-streaming-ui-responsive-during-selection` (#325), not that larger change's completed
6
+ selection/wheel performance fix.
7
+
8
+ ## What changed
9
+
10
+ - Candidate-looking text (paths, dotted identifiers) no longer vetoes a proven followed shift.
11
+ Real OSC 8 links, unsafe escapes, images, overlays, and selections retain their conservative
12
+ movement rules.
13
+ - Ordinary streamed text changes no longer request hyperlink cleanup.
14
+ - Pointer transitions identify the former hovered row. Editor link deletion and discarded
15
+ presentation state retain explicit cleanup requests, including when replacement content
16
+ has no links. Unscoped cleanup considers every previously linked row; a missing pointer
17
+ report is not treated as proof that no host decoration exists.
18
+ - Cleanup paints affected and changed rows without manufacturing an erase-display. After
19
+ unknown paint or lost geometry, it waits for a complete safe frame instead of guessing.
20
+ - Same-geometry forced frames preserve current cells without repainting unchanged rows.
21
+ Structural entry, resize, and unsafe-protocol fallbacks are still conservative.
22
+
23
+ ## Automated evidence
24
+
25
+ `test/fixtures/rendering/baseline-code-streaming.json` is the pre-production-change capture
26
+ from `6c5af810`, repeated twice with no production diff. Its synthetic content and cell hashes
27
+ contain no private session input. The fixture predates the added dual-synchronization summary
28
+ field; it remains a historical baseline rather than a regenerated candidate result.
29
+
30
+ | Bare-A1 fullscreen workload | Baseline post-startup clears | Candidate post-startup clears |
31
+ | --- | ---: | ---: |
32
+ | Streamed fenced code | 3 | 0 |
33
+ | Path-bearing prose | 3 | 0 |
34
+ | Tall live tail | 0 | 0 |
35
+
36
+ The deterministic producers use a shared scripted clock so cold imports do not advance spinner
37
+ or presentation timers unpredictably. Independent comparison processes remain outside the owned
38
+ damage adapter. Current budgets also fail candidate-only fallback, repaint of settled rows,
39
+ stale final content, or divergent final cells with synchronization honored versus ignored.
40
+ The dual-model replay reuses producer bytes rather than launching duplicate producers.
41
+
42
+ Generate current evidence (non-interactive; writes only the named report):
43
+
44
+ ```sh
45
+ cd D:/Git/a1/.worktrees/finish-bounded-link-cleanup && node --import tsx scripts/pi/report-code-streaming.ts --phase current --repeat 2 --output .artifacts/rendering/code-streaming-current.json
46
+ ```
47
+
48
+ The baseline mode rejects dirty production sources. Do not replace the committed baseline with
49
+ post-fix results. Repeated reports compare cells, row damage, decisions, and budgets, not elapsed
50
+ machine timings. This is a paint regression check, not a CPU or input-latency benchmark.
51
+
52
+ ## Physical Windows Terminal review
53
+
54
+ Use the candidate branch `fix/bounded-hyperlink-cleanup` and record its exact `git rev-parse HEAD`.
55
+ Build and start the owned UI through the color-preserving shell entry:
56
+
57
+ ```sh
58
+ cd D:/Git/a1/.worktrees/finish-bounded-link-cleanup && npm run build && ./scripts/dev
59
+ ```
60
+
61
+ 1. Ask the agent, without writing files, to produce a long fenced TypeScript example containing
62
+ `obj.method`, `package.json`, and `./src/index.ts`, followed by a short explanation and a real
63
+ Markdown hyperlink. Check that ordinary code/path streaming no longer blanks the screen.
64
+ 2. Hover a real hyperlink, then scroll it away without moving the pointer. Repeat with a
65
+ terminal-detected URL and file-like text inside code. Try both short and wrapped links,
66
+ duplicate targets, blank rows replacing links, and a smaller terminal.
67
+ 3. Move off a hovered link, select linked text, wheel/auto-scroll during selection, release,
68
+ and copy. Check exact copied text, normal link colors/activation, and no leftover solid
69
+ underlines on unrelated text, padding, or controls.
70
+ 4. Paste a URL chip into the editor and delete it. Open and close a covering overlay, and resize
71
+ while a link is visible. Check that obsolete targets/underlines are removed and restored
72
+ links have their correct targets.
73
+ 5. Verify that the dock stays intact and terminal mouse/cursor behavior is restored on exit.
74
+
75
+ Use the same geometry for the independent comparison profile:
76
+
77
+ ```sh
78
+ cd D:/Git/a1/.worktrees/finish-bounded-link-cleanup && npm run build && ./scripts/dev pi
79
+ ```
80
+
81
+ Record terminal/version, geometry, synchronized-update support, explicit versus auto-detected
82
+ link case, commit, and pass/fail. Test both before and after any pointer report: lack of a report
83
+ must not be interpreted as evidence of an absent pointer.
84
+
85
+ **Known gaps:** native Windows Terminal hover rasterization cannot be certified by headless cell
86
+ replay. Visual acceptance and merge authorization are pending. The broader selection/wheel
87
+ scheduling and collapsed-tool preparation optimizations have not been implemented in this PR.
88
+ Do not merge on automated results alone; a ghost-underline or flicker regression blocks acceptance.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timurproko/a1",
3
- "version": "0.1.8-dev.322",
3
+ "version": "0.1.8-dev.332",
4
4
  "description": "Standalone terminal workspace for supervised native and managed agents",
5
5
  "type": "module",
6
6
  "privateLaunchContract": "neutral-launch-v1",