dsh-super-code 0.3.7 → 0.3.9

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 (87) hide show
  1. package/README.en.md +144 -0
  2. package/README.md +89 -180
  3. package/client/index.js +1022 -181
  4. package/cordis.patch.yml +1 -1
  5. package/docs/Acknowledgements.md +38 -67
  6. package/docs/Changelog.md +160 -79
  7. package/docs/Compatibility.md +98 -248
  8. package/docs/EvaluationResults.md +165 -155
  9. package/docs/UsageGuide.md +210 -172
  10. package/docs/en/Acknowledgements.md +76 -0
  11. package/docs/en/Changelog.md +160 -0
  12. package/docs/en/Compatibility.md +146 -0
  13. package/docs/en/EvaluationResults.md +224 -0
  14. package/docs/en/UsageGuide.md +304 -0
  15. package/docs/images/agent-tree-preview.png +0 -0
  16. package/docs/images/agent-tree.png +0 -0
  17. package/docs/images/install-tgz-preview.png +0 -0
  18. package/docs/images/install-tgz.png +0 -0
  19. package/docs/images/preset-settings-preview.png +0 -0
  20. package/docs/images/preset-settings.png +0 -0
  21. package/docs/images/task-status-preview.png +0 -0
  22. package/docs/images/task-status.png +0 -0
  23. package/lib/connection/approvals.d.ts +21 -0
  24. package/lib/connection/approvals.d.ts.map +1 -0
  25. package/lib/connection/approvals.js +83 -0
  26. package/lib/connection/approvals.js.map +1 -0
  27. package/lib/connection/client.d.ts +8 -0
  28. package/lib/connection/client.d.ts.map +1 -0
  29. package/lib/connection/client.js +34 -0
  30. package/lib/connection/client.js.map +1 -0
  31. package/lib/connection/directories.d.ts +30 -0
  32. package/lib/connection/directories.d.ts.map +1 -0
  33. package/lib/connection/directories.js +82 -0
  34. package/lib/connection/directories.js.map +1 -0
  35. package/lib/connection/git.d.ts +5 -0
  36. package/lib/connection/git.d.ts.map +1 -0
  37. package/lib/connection/git.js +86 -0
  38. package/lib/connection/git.js.map +1 -0
  39. package/lib/connection/guidance.d.ts +10 -0
  40. package/lib/connection/guidance.d.ts.map +1 -0
  41. package/lib/connection/guidance.js +27 -0
  42. package/lib/connection/guidance.js.map +1 -0
  43. package/lib/connection/http.d.ts +38 -0
  44. package/lib/connection/http.d.ts.map +1 -0
  45. package/lib/connection/http.js +342 -0
  46. package/lib/connection/http.js.map +1 -0
  47. package/lib/connection/service.d.ts +59 -0
  48. package/lib/connection/service.d.ts.map +1 -0
  49. package/lib/connection/service.js +176 -0
  50. package/lib/connection/service.js.map +1 -0
  51. package/lib/connection/store.d.ts +21 -0
  52. package/lib/connection/store.d.ts.map +1 -0
  53. package/lib/connection/store.js +141 -0
  54. package/lib/connection/store.js.map +1 -0
  55. package/lib/connection/tasks.d.ts +124 -0
  56. package/lib/connection/tasks.d.ts.map +1 -0
  57. package/lib/connection/tasks.js +393 -0
  58. package/lib/connection/tasks.js.map +1 -0
  59. package/lib/connection/types.d.ts +159 -0
  60. package/lib/connection/types.d.ts.map +1 -0
  61. package/lib/connection/types.js +23 -0
  62. package/lib/connection/types.js.map +1 -0
  63. package/lib/connection-cli.d.ts +3 -0
  64. package/lib/connection-cli.d.ts.map +1 -0
  65. package/lib/connection-cli.js +40 -0
  66. package/lib/connection-cli.js.map +1 -0
  67. package/lib/dsh/connection-approval.d.ts +5 -0
  68. package/lib/dsh/connection-approval.d.ts.map +1 -0
  69. package/lib/dsh/connection-approval.js +72 -0
  70. package/lib/dsh/connection-approval.js.map +1 -0
  71. package/lib/dsh/connection-history.d.ts +6 -0
  72. package/lib/dsh/connection-history.d.ts.map +1 -0
  73. package/lib/dsh/connection-history.js +52 -0
  74. package/lib/dsh/connection-history.js.map +1 -0
  75. package/lib/dsh/connection-host.d.ts +114 -0
  76. package/lib/dsh/connection-host.d.ts.map +1 -0
  77. package/lib/dsh/connection-host.js +208 -0
  78. package/lib/dsh/connection-host.js.map +1 -0
  79. package/lib/dsh/connection.d.ts +72 -0
  80. package/lib/dsh/connection.d.ts.map +1 -0
  81. package/lib/dsh/connection.js +186 -0
  82. package/lib/dsh/connection.js.map +1 -0
  83. package/lib/dsh/index.d.ts.map +1 -1
  84. package/lib/dsh/index.js +2 -0
  85. package/lib/dsh/index.js.map +1 -1
  86. package/package.json +14 -6
  87. package/presets/super-code/agent.cordis.yml +1 -1
@@ -0,0 +1,160 @@
1
+ # Changelog
2
+
3
+ [中文](../Changelog.md) · English
4
+
5
+ Versions are `major.performance.maintenance`. The second number changes when coding results or efficiency improve; the third covers fixes, UI, and compatibility. See [Compatibility](Compatibility.md) for what each release was tested on.
6
+
7
+ ## 0.3.9 · 2026-10-28
8
+
9
+ **UI**
10
+
11
+ - Refined Home, preset, budget, deletion-protection, and connection settings. Budgets autosave; invalid input and failed saves retain drafts with retry and reset controls.
12
+ - A compact task sidebar summarizes tool successes, failures, and running state, and shows workspace-relative file paths. Long lists remain virtualized.
13
+ - At most one of Tasks, Collaborative execution, and Memory opens at a time. Tasks opens by default; clicking the current heading collapses all. Circular nodes, running animations, top tooltips, and legacy memory CRUD are kept.
14
+ - Refined bilingual installation, usage, and evaluation docs; refreshed README screenshots; included the existing main-branch grading reconciliation while preserving original verdicts and correction evidence.
15
+
16
+ **MCP** (service still off by default)
17
+
18
+ - Added **Allow MCP to create conversations**, on by default; when off, explicit reuse is required. New conversations join an existing workspace, or register the directory under its own name, and use `[MCP]` titles.
19
+ - Query and select model/effort IDs, retaining the conversation's current/default choice when omitted. Selected choices persist in the conversation.
20
+ - Added `dsh_status`, `dsh_models`, `dsh_read`, and `dsh_approve` for capacity diagnosis, paged public history, and explicit failure/recovery guidance. Old failed child tasks no longer fail later continuations.
21
+ - Added **Allow caller approval**, off by default: decisions apply to one exact operation and fall back to DSH when unhandled. New directory access still requires user consent in DSH.
22
+ - Fixed MCP approval routing for child tools inside `run_code`: when caller approval is enabled, match the live Agent, call ID, and tool name to the actual arguments. Grants apply only to that call; rejection and cancellation clear the request. With the switch off, DSH still handles confirmation.
23
+ - Improved busy, retry, and disconnect handling; clarified stable request IDs, waiting for capacity, and releasing sessions with DELETE. Added the `super-code-mcp` CLI.
24
+
25
+ Only legacy memory is included, without experimental memory, type switching, or migration. Normal conversation prompts and model behavior are unchanged. No new 100-task evaluation was run; historical grading reconciliation is not a claim of better 0.3.9 results. See [Compatibility](Compatibility.md) for test scope.
26
+
27
+ ## 0.3.8 · 2026-10-26
28
+
29
+ **MCP connection** (off by default). [Guide](UsageGuide.md#mcp-connection)
30
+
31
+ - Streamable HTTP MCP service on `127.0.0.1`, token-authenticated.
32
+ - Six tools: `dsh_sessions`, `dsh_run`, `dsh_wait`, `dsh_send`, `dsh_cancel`, `dsh_request_directory`. External clients can delegate DSH conversations, check progress, follow up, and cancel.
33
+ - Uses the host's model, preset, and permissions. Normal conversation prompts are unchanged and no permission is auto-approved.
34
+ - Call `dsh_sessions` first to see recent conversations and connection capacity per directory; the caller then explicitly picks reuse or new. The latest conversation is never reused automatically.
35
+ - Max connections and task concurrency are kept in sync, both defaulting to 3. Saved user values are kept.
36
+ - Working directories are a checkbox list refreshed on open. External requests for a new directory need your approval in a DSH dialog; revoked access can't be bypassed by reuse.
37
+ - Idempotent requests; interrupted tasks are marked, not replayed, after restart; bounded output; Git workspace observations.
38
+
39
+ **Settings**
40
+
41
+ - New Home tab: preset status and versions, deletion protection level, MCP switch, connected/past conversation counts.
42
+ - Client and linked-session details live in Connection; deletion protection has its own tab; preset configuration shows directly.
43
+ - Connection settings save automatically; the token is shown expanded.
44
+
45
+ **Fix**: workspace paths were read incorrectly, so valid directories showed as unavailable and the connection couldn't be enabled.
46
+
47
+ ## 0.3.7 · 2026-10-24
48
+
49
+ **Deletion protection**: Off / Relaxed / Strict, Relaxed by default. [Guide](UsageGuide.md#deletion-protection)
50
+
51
+ - Relaxed: Agents are told to use recoverable `trash` by default, including in scripts; `rm` is fine when you explicitly ask.
52
+ - Strict: recognized permanent-deletion commands need your approval every time.
53
+ - Official presets have a separate switch, off by default. Legacy boolean settings and v4 logs are supported.
54
+
55
+ **Task status**: a read-only section in the sidebar, open by default. [Guide](UsageGuide.md#tasks)
56
+
57
+ - Shows recorded goals, step progress, actions, and successful file operations. Agent names appear only at task roots.
58
+ - Everything is expanded in a variable-height virtual list, with reading position, keyboard navigation, and running indicators.
59
+ - The Agent tree and memory library stay; the three sections switch exclusively.
60
+ - No change to prompts, model requests, tool definitions, or execution. File records aren't a full Git diff; missing or truncated data is labeled.
61
+
62
+ ## 0.3.6 · 2026-10-20
63
+
64
+ Newer Harness versions cut budgets and results got worse. The plugin adds budget settings and restores the legacy budgets that did better in earlier Pro tests, with no manual setup. [Guide](UsageGuide.md#runtime-budgets)
65
+
66
+ - Defaults: full context window basis, compress at 80%, keep the last 16% verbatim, 8,192-token summary cap, one extra compaction attempt and one overflow retry; on hosts with the newer PTC, 600-second default and maximum deadlines.
67
+ - User values win; running Agents keep their config; unsupported deadline fields are disabled on old hosts; host ceilings always apply.
68
+ - Official presets still need opt-in.
69
+ - Settings split into Preset status / Context settings, with save, reset, and concurrent-edit conflict checks.
70
+ - Fix: language changes were lost when the page reloaded before the preference was saved.
71
+ - No historical scores were added or changed.
72
+
73
+ ## 0.3.5 · 2026-10-18
74
+
75
+ - Supports Harness `0.2.1-rc.2`; minimum is still `0.1.5-alpha.1`.
76
+ - Fix: old task records disappeared after v4 log migration.
77
+ - Clearer official desktop install steps.
78
+
79
+ ## 0.3.4 · 2026-10-15
80
+
81
+ - Adds official preset results on the same 100 tasks, plus how usage and time are counted.
82
+ - Adds the acknowledgements table and [detailed acknowledgements](Acknowledgements.md), included in the npm package.
83
+
84
+ ## 0.3.3 · 2026-10-14
85
+
86
+ - Agent tree and memory library merged into one Super Code sidebar. Sections are exclusive; switching keeps state, filters, search, reading position, and drafts.
87
+ - Memory library supports add, edit, cancel, save, and confirmed delete. Manual entries are labeled and keep only current content; failed saves keep your input; concurrent overwrites are blocked.
88
+ - Clearer running animation; fixed overlapping halos, labels, and connectors.
89
+ - Bundled on-demand frontend Skill (alignment, comfortable controls, responsive layout, interaction states, browser checks). Existing presets need confirmed reinstall to get it.
90
+ - Cleaner bilingual install notes, evaluation purpose, and version rules.
91
+
92
+ ## 0.3.2 · 2026-10-11
93
+
94
+ - Unified look for preset settings, Agent tree, and memory library; circular nodes kept. Toolbar shows "Collapsed" / "Organize" labels; button tooltips sit above; time/sort use keyboard-accessible dropdowns.
95
+ - Agent details show user messages, replies, and expandable tool calls, for both old and new logs.
96
+ - Memory library adds topic navigation, filtering, and related entries.
97
+ - Fixes: dropdown options unclickable when newer sidebars took focus; startup now waits for the host language, so presets don't resync and reload repeatedly.
98
+
99
+ ## 0.3.1 · 2026-10-10
100
+
101
+ - Settings always expanded; plugin and preset versions shown separately, with a notice when they differ or aren't recorded.
102
+ - Declarative hosts get install, confirmed reinstall, rename, backup restore, and default-name language sync.
103
+ - Fixes: desktop management API resolved from the wrong place; Esc closed Settings after removing a row in the confirm dialog.
104
+ - Tested on 15 Harness versions (`0.1.5-alpha.1` – `0.2.1-alpha.2`) and 4 macOS arm64 desktop builds.
105
+
106
+ ## 0.3.0 · 2026-10-09
107
+
108
+ - Harness-native PTC for combined tool calls and parallel independent reads (Batch.3).
109
+ - Memory activity now recorded for calls inside batches.
110
+ - Refreshed full 100-task results and usage guide.
111
+
112
+ ## 0.2.1 · 2026-10-08
113
+
114
+ - Adapts to the new plugin metadata reader in Harness `0.2.0-rc.2` / `0.2.1-alpha.1`, with Chinese/English display resources.
115
+ - Native desktop for `0.2.1-alpha.1` not verified.
116
+
117
+ ## 0.2.0 · 2026-09-30
118
+
119
+ - Layered task memory; new memory library and per-Agent memory activity.
120
+ - UI follows the Chinese/English setting.
121
+ - Adapted to Harness `0.1.5-alpha.1` – `0.2.0-rc.2`; official desktop checked.
122
+
123
+ ## 0.1.4
124
+
125
+ - Supports both preset mechanisms: directory install on older hosts, bundle declaration on newer ones; Settings adapts to the host. The declarative path doesn't yet support rename, reinstall, or name language sync.
126
+ - Wider Harness dependency range; bilingual docs.
127
+ - Isolated smoke tests on 7 versions (`0.1.5-rc.3` – `0.1.7-rc.2`); no native desktop, external models, or new scores.
128
+
129
+ ## 0.1.3
130
+
131
+ - Default names and descriptions follow the UI language; upgrades only touch fields you haven't changed.
132
+ - Install names support Chinese and spaces; confirmed reinstall with a new name and identifier keeps the old directory as backup.
133
+
134
+ ## 0.1.2
135
+
136
+ Better on-demand guidance, failure diagnosis, and state recovery; minimum Harness `0.1.5-alpha.1`.
137
+
138
+ ## 0.1.1
139
+
140
+ Fixes presets missing after install on some hosts; adds a collapsible status panel and custom-name install; supports Harness `0.1.5-rc.1`.
141
+
142
+ ## 0.1.0
143
+
144
+ First unified Super Code coding preset, with multi-Agent tree, task memory, and usage display.
145
+
146
+ ## 0.0.9
147
+
148
+ Package renamed to `dsh-super-code`; switches to Harness-native task memory and on-demand specialist guidance.
149
+
150
+ ## Earlier (`dsh-super-agent`)
151
+
152
+ These belong to the predecessor `dsh-super-agent`; `dsh-super-code` never shipped these versions. There is no 0.0.8.
153
+
154
+ - **0.0.7**: unified Super Code preset, Agent graph, compact task context.
155
+ - **0.0.6**: first unified preset; better planning and model selection; Harness packages as peer deps.
156
+ - **0.0.5**: Harness Web support, host UI integration, model-pool routing; simple tasks plan only when needed.
157
+ - **0.0.4**: bounded multi-turn task context, repair hints on failed checks, evaluation aggregation.
158
+ - **0.0.3**: docs cleanup, Apache-2.0 license.
159
+ - **0.0.2**: typed task and metric protocols, first evaluation tool.
160
+ - **0.0.1**: scenario presets and installable plugin package.
@@ -0,0 +1,146 @@
1
+ # Compatibility
2
+
3
+ [中文](../Compatibility.md) · English
4
+
5
+ Web is verified from Harness `0.1.5-alpha.1` through `0.2.1-rc.4`, with incremental rc.4 coverage detailed below. Official Desktop is verified through `0.2.1-rc.4` (x64 archive under Rosetta), and NEXT at `2.0.19-next` (bundled `0.2.1-rc.2`).
6
+
7
+ ## Verified hosts
8
+
9
+ The 26 targets below were each checked as a full set for 0.3.6, 0.3.7, and 0.3.8.
10
+
11
+ | Host | Versions | Preset mechanism |
12
+ |---|---|---|
13
+ | Official Web | `0.1.5-alpha.1`, `alpha.2`, `rc.1`, `rc.2`, `rc.3` | Directory |
14
+ | Official Web | `0.1.6-alpha.1`, `alpha.2` | Directory |
15
+ | Official Web | `0.1.7-alpha.1`, `alpha.2`, `rc.1`, `rc.2` | Declarative |
16
+ | Official Web | `0.2.0-rc.1`, `rc.2` | Declarative |
17
+ | Official Web | `0.2.1-alpha.1` – `alpha.5`, `rc.1`, `rc.2` | Declarative |
18
+ | Official Desktop (macOS arm64) | `0.1.7-rc.1`, `0.1.7-rc.2`, `0.2.0-rc.1`, `0.2.0-rc.2`, `0.2.1-rc.2` | Declarative |
19
+ | DSH NEXT | `2.0.17-next` (bundled Harness `0.2.0-rc.2`) | Declarative |
20
+
21
+ The 0.3.8 incremental features were also checked on NEXT `2.0.19-next` (bundled Harness `0.2.1-rc.2`).
22
+
23
+ ## How it was tested
24
+
25
+ - Each host runs in an isolated profile with pinned, audited host dependencies. Daily apps and configuration are untouched.
26
+ - A local deterministic program supplies model responses through the real host Agents and tools. **No external model is called**; these are not effectiveness evaluations.
27
+ - Web uses Chromium; native tests run on macOS arm64, with the official rc.4 x64 archive additionally tested under Rosetta, not Intel hardware.
28
+ - Every release also runs the full unit tests, type checking, build, and client syntax checks.
29
+
30
+ ## Not covered
31
+
32
+ - Native Windows/Linux clients, Intel hardware, Safari-specific behavior
33
+ - Live model services, full upgrade and custom-configuration regression, every tool combination
34
+ - Narrow windows: at 440px the host sidebar leaves only 156px for the plugin, which is not counted as usable (the settings page without the plugin has the same problem)
35
+ - Confirm/cancel in the native directory picker (OS accessibility API timed out)
36
+ - Whether MCP clients can configure themselves from the Connection Prompt
37
+ - Cold-download installs for every version (tests reused cached host dependencies)
38
+
39
+ Declared dependency ranges are not test results. Unlisted versions need their own checks.
40
+
41
+ ## Installation troubleshooting
42
+
43
+ Caret ranges on prerelease versions can resolve to other alpha/rc versions and mix host components. For example:
44
+
45
+ - Installing `0.1.6-alpha.1` pulled in alpha.2 and failed on a missing `watchUserPatches` export before the plugin loaded.
46
+ - Installing `0.1.7-alpha.1` pulled in rc.1.
47
+
48
+ The test environments use exact overrides, but that does not fix the upstream declarations. If you see similar errors, check the actually installed host component versions first.
49
+
50
+ Under npm rules, a range like `>=0.1.5-alpha.1 <0.3.0` excludes prereleases such as `0.1.6-alpha.1` and `0.2.0-rc.2`, so peer dependencies have to list each series separately.
51
+
52
+ `zod`, `js-yaml`, and `@modelcontextprotocol/sdk` are runtime dependencies and are not bundled. The published package contains only the plugin, public docs, and screenshots.
53
+
54
+ ## 0.3.9 · 2026-10-27–28
55
+
56
+ These records distinguish the initial UI acceptance from the approval fix checked before npm publication. They do not mean all 26 full hosts above were rerun.
57
+
58
+ - **Initial UI acceptance**: the integrated candidate was labeled 0.3.8; the initial 0.3.9 runtime matched it byte for byte, with 284 passing tests. Official React, themes, and controls plus local fixture services passed 390 interaction groups across 30 frontend targets (Web `0.1.5-alpha.1`–`0.2.1-rc.4`, six official Desktop frontends, two NEXT frontends). Coverage includes languages, themes, autosave and failures, preset states, custom dropdowns, narrow layouts, running circles, and long lists. **Frontend checks are not full-host acceptance.**
59
+ - **Real UI and persistence**: official Desktop `0.2.1-rc.3`, NEXT `2.0.19-next`, and the full Web `0.2.1-rc.4` and official Desktop `0.2.1-rc.4` x64/Rosetta hosts added on October 28 passed Settings, real MCP SDK connections, workspace refresh and grant revocation, legacy memory CRUD/cancel, task projections/virtualization, and cold restart. No page script errors. The rc.4 host pins and audits 274 official components.
60
+ - **Fix regression**: fixed caller approval routing for child tools inside `run_code`. All 289 tests, type checking, build, and client syntax checks pass. Each of the 20 existing Web engine versions (minimum `0.1.5-alpha.1` through `0.2.1-rc.2`) plus `0.2.1-rc.4` passes 28 approval/deletion-protection checks.
61
+ - **Real approval paths**: the fixed package passes serial `run_code → bash` checks on Web `0.1.5-alpha.1`, Web `0.2.1-rc.4`, official Desktop `0.2.1-rc.3` / `0.2.1-rc.4` (x64/Rosetta), and NEXT `2.0.19-next`: exact arguments, approve/reject/cancel, cross-task isolation, stale-decision rejection, host confirmation with caller approval off, and capacity recovery. Approval deletes only a task-owned temporary file; rejection and cancellation preserve it.
62
+ - **rc.4 MCP flow**: both official Web and official Desktop x64/Rosetta additionally rechecked preset rename/reinstall with backup, legacy budget defaults and invalid/stale-write rejection, actual model/effort selection, explicit reuse and follow-ups, paged public history, directory consent/rejection, three-connection and three-task limits, cancellation recovery, child Agent history, and reconnect.
63
+ - All real hosts use local deterministic model responses; **no external model is called**. At most one sidebar section opens, Tasks by default, and all can collapse. Only legacy memory is included; no experimental memory, type switching, or migration.
64
+ - rc.4 Desktop uses the official mac-x64 nightly ZIP, with SHA-512 matching its feed and the original app signature verified, on macOS arm64/Rosetta. This is neither a relabeled rc.3 app nor a source-built substitute. The mac-arm64 feed still lists rc.3 and its rc.4 ZIP returns 404; **the native arm64 rc.4 archive is untested**. Native directory picking was not rerun.
65
+
66
+ ## Per-release records
67
+
68
+ ### 0.3.8 · 2026-10-26
69
+
70
+ - **Baseline**: all 26 targets pass MCP connection checks: settings persistence, real MCP SDK client authentication, native Super Code sessions, duplicate-request coalescing, follow-ups, and live cancellation.
71
+ - **Settings and directory consent**: minimum Web `0.1.5-alpha.1`, latest Web `0.2.1-rc.2`, Desktop `0.2.1-rc.2`, and NEXT `2.0.19-next`, one at a time: Home tab, directory checkboxes, autosave, token display, global directory consent with Settings closed (approval enables work in the new directory, rejection grants nothing), session list and disconnect in Connection. No page script errors.
72
+ - **Workspace directory fix**: Workspace path getters were not read, so valid directories showed as "unavailable" and MCP could not be enabled. Rechecked on the four hosts above with real workspaces whose names contain Chinese characters and spaces.
73
+ - **Session list and explicit reuse**: 253 tests pass. Only an incremental check on NEXT `2.0.19-next` (handshake finds six tools, six past tasks across four directories, the user's saved limit of 10 is kept); the 26 targets were not rerun.
74
+ - **Restart**: a cold restart keeps the switch, token, and task IDs. Unfinished tasks are not replayed or reported as succeeded.
75
+ - A conversation's online connection count only shows its currently linked connection (0 or 1). It is not a multi-client lease or a session lock.
76
+
77
+ ### 0.3.7 · 2026-10-24
78
+
79
+ - 229 tests pass.
80
+ - Each of the 26 targets passes 25 deletion-protection and task-status engine checks (legacy settings, official-preset isolation, per-call approval, old/new journals, nested PTC, file attribution, and task status leaving model requests unchanged).
81
+ - Minimum/latest Web, Desktop `0.2.1-rc.2`, and NEXT `2.0.17-next` also pass 7 task-status page checks (including scrolling and keyboard access across 373/374-row lists) and 6 deletion-settings checks.
82
+ - Strict-mode approvals were answered by the test driver through the host approval service, not by manually clicking native dialogs.
83
+
84
+ ### 0.3.6 · 2026-10-20
85
+
86
+ - Each of the 26 targets passes 6 UI/real-Agent checks and 1 cold-restart check; 195 tests pass.
87
+ - Older hosts without `ptcRuntime` receive no unsupported deadline fields.
88
+ - The tested candidate was labeled `0.3.5`; the released `0.3.6` only changes the package version and preset version markers. All other runtime files were compared one by one.
89
+
90
+ ### Runtime budgets · 2026-10-19
91
+
92
+ - Each of the 26 targets passes 11 UI checks, 6 real-conversation checks, and 3 cold-start checks; 192 tests pass.
93
+ - All 20 Web versions pass control-boundary, scrolling, and hit-target checks at an 800px window.
94
+ - 15 Web versions and NEXT verify the default and an explicit shorter deadline with real Node PTC. The five `0.1.5` versions lack `ptcRuntime`, and their deadline fields are correctly disabled.
95
+ - Fixed the plugin reloading before the language preference was saved, which reverted the language.
96
+
97
+ ### 0.3.5 · 2026-10-18
98
+
99
+ - Added `0.2.1-alpha.3`, `alpha.4`, `alpha.5`, `rc.1`, `rc.2`; all five pass Web/browser and native Skill loading checks.
100
+ - Desktop `0.2.1-rc.2` was downloaded from the official URL, SHA-512 verified, installed through the native plugin page, and passed the full UI checks.
101
+ - Fixed old task records disappearing after v4 log migration: v4 changes the source from `{kind: "plugin", plugin: "…"}` to `{kind: "plugin:…"}`, which the old reader skipped. Both forms are now recognized, and the task projection version goes from 1 to 2 so old caches replay. Verified with the official migrator and real v3 sessions.
102
+ - 173 tests pass.
103
+
104
+ ### 0.3.4 · 2026-10-15
105
+
106
+ Docs and evaluation snapshot only. After building, all 112 runtime files are byte-identical to 0.3.3, so the 0.3.3 checks still apply. 171 tests pass.
107
+
108
+ ### 0.3.3 · 2026-10-14
109
+
110
+ - Web `0.1.5-alpha.1`, `0.2.0-rc.2`, `0.2.1-alpha.2` pass installation, main/child Agents, memory, restart, and browser checks (unified sidebar, memory maintenance, animation, 320/400/560px widths and zoom).
111
+ - The frontend Skill passes six native loading paths on these three versions.
112
+ - Desktop `0.2.0-rc.2` upgraded from 0.3.2 to 0.3.3: the old preset kept its version with a mismatch notice, and updated after confirmed reinstall.
113
+ - 171 tests pass.
114
+
115
+ ### 0.3.2 · 2026-10-11
116
+
117
+ - The same three Web versions and Desktop `0.2.0-rc.2` pass the UI refresh checks.
118
+ - The startup language-wait fix was rechecked only on the three Web versions and in unit tests; a native window screenshot was not obtained because the control API timed out.
119
+ - 158 tests pass.
120
+
121
+ ### 0.3.1 · 2026-10-10
122
+
123
+ - All 15 Web versions (`0.1.5-alpha.1` – `0.2.1-alpha.2`) pass.
124
+ - Desktop `0.1.7-rc.1`, `rc.2`, `0.2.0-rc.1`, `rc.2` and NEXT `2.0.17-next` pass native-backend preset install, rename/reinstall, language, and version checks.
125
+ - Native PTC on `0.1.5-alpha.1`, `0.2.0-rc.2`, `0.2.1-alpha.2` verifies parallel reads, ordered writes, permission denial, and partial failure.
126
+ - The two `0.1.7` alpha versions lack the preset document reader, so ownership requires a unique, enabled Loader declaration.
127
+ - Desktop installers for earlier versions and `0.2.1-alpha.1/alpha.2` returned 404; their native windows are not verified.
128
+
129
+ ### 0.3.0 · 2026-10-09
130
+
131
+ `0.1.5-alpha.1`, `0.2.0-rc.2`, `0.2.1-alpha.1` pass native PTC, main/child Agent memory, restart reads, and Playwright web checks. Intermediate versions were not rerun.
132
+
133
+ ### 0.2.1 · 2026-10-08
134
+
135
+ - `0.2.0-rc.2` and `0.2.1-alpha.1` pass, including Safari checks and plugin disable/re-enable.
136
+ - From `0.2.1-alpha.1`, the host reads plugin names and descriptions from `<plugin>/locale/*.json`, and subpaths no longer read their own `package.json`. The plugin exports Chinese/English resources for the root, `/dsh`, and `/super-code`.
137
+ - The host split composer `stats` and removed the `invariant` export. The plugin uses neither, so no change was needed.
138
+ - `0.2.1-alpha.1` has no Desktop installer; native is not verified.
139
+
140
+ ### 0.2.0 · 2026-09-30
141
+
142
+ Ten versions from `0.1.5-alpha.1` to `0.2.0-rc.2` pass Web/CLI and browser checks. Desktop `0.2.0-rc.2` passes native window checks, including Chinese/English switching and recovery after restart.
143
+
144
+ ### 0.1.4
145
+
146
+ `0.1.5-rc.3`, `0.1.6-alpha.1`, `alpha.2`, `0.1.7-alpha.1`, `alpha.2`, `rc.1`, `rc.2` pass Web/CLI smoke checks.
@@ -0,0 +1,224 @@
1
+ # Evaluation Results
2
+
3
+ [中文](../EvaluationResults.md) · English
4
+
5
+ ## Evaluation design
6
+
7
+ ### Task set
8
+
9
+ SWE-bench Pro hard-100 (frozen ID `swebench-pro-hard-100-ddd22492f1c38839`), graded with the official grader.
10
+
11
+ - "hard-100" is this project's selection of 100 tasks by an existing difficulty method, not an official hardest-100 list.
12
+ - Tuning uses only 33 valid hard tasks selected from the SWE-bench dev split. hard-100 is used only to evaluate frozen candidates and investigate issues, **never for tuning**, to avoid overfitting to the evaluation tasks.
13
+ - All scores include later reviews (see [Grading corrections](#grading-corrections)); every run has 100 valid scores.
14
+
15
+ ### Baseline
16
+
17
+ The baseline is the official Standard preset rather than Minimal. On the old host, Standard + high passed 51 tasks and Minimal + high passed 46, with Standard using 23.5% fewer tokens per task. Comparing against the stronger baseline gives a stricter conclusion.
18
+
19
+ ### Controlled variables
20
+
21
+ Within each comparison, host, model, reasoning effort, and budgets are held constant; only the Agent preset differs. Where the host or model changes, this is stated explicitly.
22
+
23
+ ### Process
24
+
25
+ 1. **Old-host baseline**: official presets and plugin versions were evaluated on DSH `0.1.5-rc.2` with `deepseek-v4.1-flash`. The Super Code `0.3.0` candidate passed 56 tasks, above the best official result (Standard + high, 51).
26
+ 2. **Regression after the host upgrade**: on DSH `0.2.1-rc.2` with `deepseek-v4.1-flash-1017`, under default budgets Standard fell to 46 and Super Code `0.3.4` to 41, below Standard.
27
+ 3. **Root-cause analysis**: a host probe showed that the new host tightened context budgets (see [Contents of the legacy budgets](#contents-of-the-legacy-budgets)), identifying budgets as one cause of the regression.
28
+ 4. **Retest with legacy budgets**: both sides switched to legacy budgets. Standard stayed at 46; Super Code `0.3.5` rose to 49. Based on this, the plugin uses legacy budgets by default from `0.3.6`.
29
+ 5. **Cross-model check**: compared with native ZCode on `glm-5.3-flash` to test whether the approach depends on a specific model.
30
+
31
+ ## Summary
32
+
33
+ | Comparison | Result |
34
+ |---|---|
35
+ | New host, both on legacy budgets: Super Code `0.3.5` vs Standard + high | 49 vs 46; net time -21.3%, tokens -34.6%, model calls -25.5% |
36
+ | New host, default → legacy budgets | Super Code 41 → 49; Standard 46 → 46 |
37
+ | Old host: Super Code `0.3.0` candidate vs best official (Standard + high) | 56 vs 51 |
38
+ | Old host: Super Code `0.3.0` candidate vs Minimal + high | 56 vs 46; time -47.6%, tokens -44.9% |
39
+ | GLM-5.3-flash: Super Code `0.3.4` vs native ZCode | 45 vs 29; time -37.1%, tokens +52.4% |
40
+
41
+ ## New DSH and budgets
42
+
43
+ DSH `0.2.1-rc.2` · model `deepseek-v4.1-flash-1017` (API ID `deepseek/deepseek-flash`) · high.
44
+
45
+ | Metric (per-task mean) | Standard · default | Super Code 0.3.4 · default | Standard · legacy | Super Code 0.3.5 · legacy |
46
+ |---|---:|---:|---:|---:|
47
+ | Passed | 46/100 | 41/100 | 46/100 | **49/100** |
48
+ | Net minutes | 17.875 | 20.364 | 20.870 | 16.416 |
49
+ | Model calls | 85.050 | 68.810 | 91.980 | 68.540 |
50
+ | Total tokens | 6,832,805.820 | 5,088,673.550 | 7,806,295.960 | 5,108,386.410 |
51
+ | Cached input tokens | 6,710,566.400 | 4,972,166.400 | 7,679,298.560 | 4,993,935.320 |
52
+ | Uncached input tokens | 59,268.620 | 55,138.870 | 59,291.340 | 52,906.560 |
53
+ | Output tokens | 62,970.800 | 61,368.280 | 67,706.060 | 61,544.530 |
54
+ | Requests without usage | 0 | 0 | 0 | 1 |
55
+
56
+ - **Standard**: legacy budgets left the pass count unchanged and used 14.2% more tokens. Per task: 7 gains, 7 regressions.
57
+ - **Super Code**: legacy budgets passed 8 more tasks with only 0.4% more tokens and 19.4% less net time. Per task: 12 gains, 4 regressions.
58
+ - The two plugin runs used different versions (0.3.4 → 0.3.5), so not all of the gain can be attributed to budgets.
59
+ - The legacy-budget plugin run is `0.3.5` with explicit overrides. These budgets are the default from `0.3.6`, but there is **no** separate 100-task run of 0.3.6–0.3.8.
60
+ - The Standard legacy-budget run only overrides host budgets; Super Code is not loaded.
61
+
62
+ ### Contents of the legacy budgets
63
+
64
+ They restore the `0.1.5-rc.2` context policy: measure against the full window, compress at 80%, keep the latest 16% verbatim, cap summaries at 8,192 tokens, one extra compression attempt and one overflow retry. On newer hosts, the default and maximum PTC deadlines are 600 seconds. Several settings were restored together; this is not a single-parameter experiment. [How to configure](UsageGuide.md#runtime-budgets)
65
+
66
+ A [host probe](../../eval/results/swebench-pro-final-100/HostBudgetDiagnostics.json) with a fixed 1,000,000-token window and 384,000 reserved output tokens measured:
67
+
68
+ | | Old | New |
69
+ |---|---:|---:|
70
+ | Compression threshold | 800,000 | 550,464 |
71
+ | Verbatim retention | 160,000 | 98,560 |
72
+ | Summary request cap | 8,192 | 65,536 |
73
+
74
+ Summary instructions are identical in both. The probe used deterministic summaries, so it does not measure summary quality or show that every task triggered these changes.
75
+
76
+ ### Regression of the newer combination
77
+
78
+ Compared with the old host and model, Standard fell from 51 to 46 and Super Code from 56 (0.3.0 candidate) to 41 (0.3.4). Host, model, and plugin changed together. Budgets are one identified cause, but this does not prove they explain the whole regression.
79
+
80
+ The same task has passed in one run and failed in another. Because configurations also changed between runs, these data cannot estimate random variation under a fixed setup.
81
+
82
+ [Per-task data for all four runs](../../eval/results/swebench-pro-final-100/HarnessRc2Results.json)
83
+
84
+ ## Official presets
85
+
86
+ DSH `0.1.5-rc.2` · `deepseek-v4.1-flash`.
87
+
88
+ | Metric (per-task mean) | Minimal + high | Minimal + max | Standard + high | Standard + max | PTC + high | Create + high |
89
+ |---|---:|---:|---:|---:|---:|---:|
90
+ | Passed | 46/100 | 50/100 | **51/100** | 50/100 | 47/100 | 49/100 |
91
+ | Raw minutes | 25.685 | 32.529 | 20.683 | 20.389 | 17.302 | 19.856 |
92
+ | Net minutes | 25.122 | 32.009 | 18.826 | 19.507 | 15.122 | 18.714 |
93
+ | Median net minutes | 25.598 | 32.167 | 16.639 | 16.878 | 13.455 | 16.452 |
94
+ | P90 net minutes | 41.658 | 45.179 | 36.681 | 33.834 | 25.031 | 30.104 |
95
+ | Model calls | 124.660 | 138.920 | 92.370 | 101.260 | 71.160 | 93.600 |
96
+ | Top-level tool calls | 127.360 | 150.070 | 110.480 | 124.940 | 70.990 | 113.780 |
97
+ | Total input tokens | 11,477,169.950 | 14,849,497.540 | 8,771,693.040 | 11,434,388.180 | 6,160,934.650 | 9,205,287.290 |
98
+ | Total tokens | 11,578,046.900 | 14,966,097.260 | 8,854,513.910 | 11,543,772.990 | 6,238,434.510 | 9,292,949.400 |
99
+ | Cached input tokens | 11,404,101.120 | 14,770,140.160 | 8,713,578.230 | 11,366,136.320 | 6,099,266.510 | 9,145,025.240 |
100
+ | Uncached input tokens | 73,068.830 | 79,357.380 | 58,114.810 | 68,251.860 | 61,668.140 | 60,262.050 |
101
+ | Output tokens | 100,876.950 | 116,599.720 | 82,820.870 | 109,384.810 | 77,499.860 | 87,662.110 |
102
+ | Input cache hit rate | 99.363% | 99.466% | 99.337% | 99.403% | 98.999% | 99.345% |
103
+ | Retry minutes excluded (total) | 56.323 | 51.936 | 185.717 | 88.220 | 217.996 | 114.226 |
104
+ | Requests without usage | 3 | 11 | 4 | 0 | 5 | 2 |
105
+
106
+ - Create keeps the official tools, but evaluation isolation blocks `cordis_run` from running dynamic code on the host; read-only inspection still works.
107
+ - Minimal + high reuses a historical baseline on a different Harness revision, so differences cannot be attributed entirely to reasoning effort.
108
+
109
+ [Per-task data](../../eval/results/swebench-pro-final-100/OfficialPresetResults.json)
110
+
111
+ ## Historical versions
112
+
113
+ DSH `0.1.5-rc.2` · `deepseek-v4.1-flash` · high. Times use the historical raw convention (see [Methodology](#methodology)); don't compare them with the net times above.
114
+
115
+ | Metric (per-task mean) | Minimal + high | 0.0.9 | 0.1.2 | 0.2.0 layered memory | 0.3.0 Batch.3 |
116
+ |---|---:|---:|---:|---:|---:|
117
+ | Passed | 46 | 50 | 53 | 54 | **56** |
118
+ | Raw minutes | 25.685 | 16.458 | 16.011 | 15.148 | 13.461 |
119
+ | Median minutes | 26.138 | 14.398 | 13.736 | 13.510 | 12.197 |
120
+ | P90 minutes | 43.696 | 28.816 | 29.360 | 24.145 | 21.381 |
121
+ | Model calls | 124.660 | 92.780 | 99.780 | 93.830 | 69.290 |
122
+ | Top-level tool calls | 127.360 | 116.550 | 123.340 | 119.160 | 69.730 |
123
+ | Total input tokens | 11,477,169.950 | 9,525,315.530 | 9,840,382.730 | 9,202,574.270 | 6,290,407.000 |
124
+ | Cached input tokens | 11,404,101.120 | 9,461,981.440 | 9,775,799.040 | 9,142,005.760 | 6,231,823.360 |
125
+ | Uncached input tokens | 73,068.830 | 63,334.090 | 64,583.690 | 60,568.510 | 58,583.640 |
126
+ | Output tokens | 100,876.950 | 97,900.990 | 97,793.480 | 96,519.570 | 91,561.850 |
127
+ | Total tokens | 11,578,046.900 | 9,623,216.520 | 9,938,176.210 | 9,299,093.840 | 6,381,968.850 |
128
+ | Input cache hit rate | 99.363% | 99.335% | 99.344% | 99.342% | 99.069% |
129
+ | Requests without usage | 3 | 8 | 1 | 1 | 0 |
130
+
131
+ Relative to Minimal:
132
+
133
+ | Version | Pass rate | Mean time | Total tokens | Gains | Regressions |
134
+ |---|---:|---:|---:|---:|---:|
135
+ | 0.0.9 | +4 pp | -35.9% | -16.9% | 7 | 3 |
136
+ | 0.1.2 | +7 pp | -37.7% | -14.2% | 10 | 3 |
137
+ | 0.2.0 | +8 pp | -41.0% | -19.7% | 11 | 3 (37, 396, 503) |
138
+ | 0.3.0 Batch.3 | +10 pp | -47.6% | -44.9% | 13 | 3 |
139
+
140
+ - 0.3.0 vs 0.2.0: time -11.1%, tokens -31.4%, model calls -26.2%, passes 54 → 56 (8 gains, 6 regressions). One run; a net gain of two is not a stable improvement.
141
+ - 0.2.0 vs 0.1.2: time -5.4%, tokens -6.4%, passes 53 → 54 (7 gains, 6 regressions). Better overall does not mean every earlier pass held.
142
+ - One PTC call can run several operations, so top-level tool calls don't measure how many files were read or commands run.
143
+
144
+ Candidate identity:
145
+
146
+ - **0.2.0** is the frozen layered-memory candidate. Its package still carried version 0.1.3, SHA-256 `164cc1b505c05288f01b6f12c0756af049dbde8f1a49bdb11f9a320a19c925f5`.
147
+ - **0.3.0** is the installed candidate with internal version `0.3.0-batch.3`. The release package was checked file by file against the frozen runtime modules and passed unit tests and real-host regression; the 100 tasks were not rerun.
148
+ - Both share Harness commit `649bfcddf0e3532510a38380b9620570d8b13818`, but prompt changes and tool presentation still can't be separated. Memory tools were triggered only occasionally, so differences can't be attributed to memory alone.
149
+
150
+ [Four-version per-task data](../../eval/results/swebench-pro-final-100/CorrectedFourVersions.json) · [Batch.3 per-task data](../../eval/results/swebench-pro-final-100/Batch3Results.json)
151
+
152
+ ## Cross-model
153
+
154
+ `glm-5.3-flash` · max. Super Code `0.3.4` on DSH `0.1.5-rc.2`, versus the complete native ZCode Desktop `3.14.4` / CLI `0.16.9` (not an extracted Agent).
155
+
156
+ | Metric (per-task mean) | DSH + Super Code 0.3.4 | Native ZCode |
157
+ |---|---:|---:|
158
+ | Passed | **45/100** | 29/100 |
159
+ | Net minutes | 32.896 | 52.320 |
160
+ | Model calls | 66.890 | 64.310 |
161
+ | Total tokens | 5,499,154.470 | 3,609,511.930 |
162
+ | Cached input tokens | 5,302,796.160 | 3,356,862.720 |
163
+ | Uncached input tokens | 126,050.640 | 144,405.020 |
164
+ | Output tokens | 70,307.670 | 108,244.190 |
165
+ | Requests without usage | 29 | 120 |
166
+
167
+ This shows the approach also works on GLM. It compares two complete systems, so it doesn't isolate the plugin's contribution or generalize to all models.
168
+
169
+ [Per-task data](../../eval/results/swebench-pro-final-100/GLMComparison.json) · [Execution scripts](../../eval/glm/README.md)
170
+
171
+ ## Grading corrections
172
+
173
+ Every correction regrades an **original answer** or restores an omitted export row. No model was asked to answer again. Original verdicts, patch hashes, usage, and timing are kept.
174
+
175
+ ### 2026-10-21 to 23
176
+
177
+ | Run | Before | After | Date |
178
+ |---|---:|---:|---|
179
+ | Super Code 0.3.4 · default | 40/99 | 41/100 | 10-21 |
180
+ | Super Code 0.3.5 · legacy | 48/99 | 49/100 | 10-21 |
181
+ | Standard high · default | 45/100 | 46/100 | 10-22 |
182
+ | Standard high · legacy | 46/100 | 46/100 | 10-22 |
183
+ | GLM Super Code 0.3.4 | 44/100 | 45/100 | 10-22 |
184
+ | GLM native ZCode | 28/100 | 29/100 | 10-22 |
185
+ | Standard max · DSH 0.1.5-rc.2 | 49/99 | 50/100 | 10-23 |
186
+
187
+ - The first six are the same NodeBB task. After fixing offline dependency setup (base fails, reference passes), each run's original patch was graded twice; only complete, matching results count. Only four exact quote/space test-name differences are accepted; assertions, timeouts, and statuses are unchanged, and grading runs offline. Standard with legacy budgets still has a real failure, so it's unchanged.
188
+ - Standard max restores Teleport task 610: its original grade was a pass but was missing from the export.
189
+
190
+ [Correction evidence and original hashes](../../eval/results/swebench-pro-final-100/GradingReconciliation.json)
191
+
192
+ ### Earlier reviews
193
+
194
+ | Version | Original passes | Corrected | Environment regrades |
195
+ |---|---:|---:|---:|
196
+ | Minimal | 41 | 46 | 4 |
197
+ | 0.0.9 | 46 | 50 | 3 |
198
+ | 0.1.2 | 49 | 53 | 4 |
199
+ | 0.2.0 | 48 | 54 | 5 |
200
+
201
+ - **Environment failures**: 16 records hit issues such as a ConfigFileTest 500 ms timeout or a SIGKILLed Jest worker. Each was regraded with its original patch and needed two matching, clean results — **not** retried until it passed. 12 recovered, 4 still failed.
202
+ - **Dependency downloads**: 12 Node build-dependency download failures in the official-preset runs, same rule: 11 recovered, 1 still failed.
203
+ - **Test-name mismatches**: 31 records differed only in test names (16 dynamic-year cases in OpenLibrary, 15 trailing quote/space cases in NodeBB). All raw tests passed and every missing required name mapped exactly. Only these two mappings are accepted; no fuzzy matching, no borrowing results from other versions.
204
+ - **Older experiments**: 7 newly found environment failures were regraded: 3 recovered, 4 still failed. Three other old records (early Minimal task 4, old Graph task 623, and old Graph task 99, which had copied task 378's metadata) were found and reviewed. None are in the published scores, which are unchanged.
205
+
206
+ ### Review coverage
207
+
208
+ - All 3,296 Pro / Dev primary records had their raw logs reparsed (this counts retained duplicates, not unique tasks). All 1,212 Dev verdicts agree. All 400 published four-version records bind exactly to their original summaries and grading logs.
209
+ - For 3,224 records, request ledgers match summaries (calls, tokens, missing usage) with no duplicate request IDs; 72 have no saved ledger.
210
+ - This is not a full audit of every raw session or provider bill.
211
+
212
+ [Per-record review](../../eval/results/swebench-pro-final-100/GradingReviewResults.json)
213
+
214
+ ## Methodology
215
+
216
+ - **Net time**: excludes failed requests and retry waits in the final valid answer; excludes grading.
217
+ - **Raw time** (historical table): Web RPC time of the final valid answer, excluding grading, image downloads, and regrading, but without subtracting internal failed requests or retries. The median averages the 50th and 51st values; P90 is the 90th. An older 0.0.9 document said 16.27 minutes; the unified convention gives 16.458.
218
+ - **Call counts**: exclude logged failed requests.
219
+ - **Tokens**: total = cached input + uncached input + output (including reasoning). Cache hit rate = all cached input / all input, not a per-task average. Summed per task, then averaged over valid tasks.
220
+ - **Missing usage is not estimated**, so tokens are not a full bill and exclude earlier abandoned attempts.
221
+ - **Execution**: DSH via native Web RPC; ZCode via its complete native CLI.
222
+ - **Privacy**: public data keeps only fields needed for auditing — no private provider addresses, credentials, environment configuration, local paths, or verbatim user messages. Per-task result files stay in the repository, not the npm package.
223
+
224
+ [All result tables](../../eval/results/swebench-pro-final-100/ResultsTables.md) · [Result files](../../eval/results/swebench-pro-final-100/README.md)