Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
e999d18
refactor(gui): centralize backend workspace read models
KoEkko Aug 30, 2026
b80b691
fix(gui): keep backend flow and QoR projections live
KoEkko Aug 31, 2026
8816791
fix(gui): preserve workspace QoR reader context
KoEkko Aug 31, 2026
489841c
refactor(backend): establish runtime adapter architecture
KoEkko Sep 1, 2026
0388a6e
fix(runtime): retain PDK bindings across reconnects
KoEkko Sep 1, 2026
e0649d8
fix(runtime): restore STA state after sidecar reconnect
KoEkko Sep 1, 2026
3a9ad62
fix(qor): project workspace metrics from snapshots
KoEkko Sep 1, 2026
f5bfb85
refactor(gui): remove legacy backend paths
KoEkko Sep 2, 2026
af1c0e1
fix(gui): preserve workspace flow and QoR state
KoEkko Sep 2, 2026
7e45377
docs: add backend architecture behavior specs
KoEkko Sep 2, 2026
d723d2f
test(gui): freeze project comparison behavior
KoEkko Sep 2, 2026
e26338a
refactor(gui): canonicalize project manifests in shared
KoEkko Sep 2, 2026
60fdfd5
refactor(gui): consume typed backend runtime events
KoEkko Sep 2, 2026
0cc8e5d
feat(gui): expand engineering snapshot facts
KoEkko Sep 2, 2026
f98668d
refactor(gui): load committed project snapshots
KoEkko Sep 2, 2026
8706a33
feat(gui): refresh project comparison from snapshots
KoEkko Sep 2, 2026
430bafe
feat(gui): overlay active project operations
KoEkko Sep 2, 2026
4cbecb0
fix(runtime): commit rerun preparation revision
KoEkko Sep 2, 2026
1dc1885
refactor(gui): compare snapshot metrics directly
KoEkko Sep 2, 2026
6bf5d6b
feat(gui): lazy-load verified step findings
KoEkko Sep 2, 2026
6cbb2b6
refactor(gui): consume project comparison dto directly
KoEkko Sep 2, 2026
f0f35a2
refactor(gui): read signoff review from snapshot
KoEkko Sep 2, 2026
2465e56
refactor(gui): remove superseded file transport surfaces
KoEkko Sep 2, 2026
4ed019b
refactor(runtime): remove backend management RPCs
KoEkko Sep 2, 2026
700d60f
refactor(gui): migrate core desktop bridge consumers
KoEkko Sep 2, 2026
28f9598
refactor(gui): migrate remaining desktop bridge consumers
KoEkko Sep 2, 2026
79692f5
refactor(gui): contract desktop bridge access
KoEkko Sep 2, 2026
461232a
docs(gui): validate slimming migration
KoEkko Sep 2, 2026
9c7887b
fix(gui): keep active operation overlays current
KoEkko Sep 2, 2026
b8e10df
fix(gui): enforce validated snapshot sections
KoEkko Sep 2, 2026
7e20bcd
refactor(gui): extract project comparison projection
KoEkko Sep 2, 2026
3e0350f
docs(gui): record completed architecture decisions
KoEkko Sep 2, 2026
154277c
refactor(gui): load backend facts from snapshots
KoEkko Sep 3, 2026
632afb8
fix(gui): make workspace switching and creation non-blocking
KoEkko Sep 3, 2026
847c134
feat(gui): add background operations and safe shutdown
KoEkko Sep 4, 2026
ddad06c
fix(gui): refresh rotated workspace context
KoEkko Sep 4, 2026
3e19da6
fix(gui): refresh completed flow control state
KoEkko Sep 4, 2026
97808f4
feat(gui): improve notification and task controls
KoEkko Sep 4, 2026
8273f7e
fix(gui): stop step config context refresh loop
KoEkko Sep 4, 2026
03e71df
fix(gui): refresh replaced workspace state
KoEkko Sep 4, 2026
fd36714
fix(gui): separate shutdown status from background tasks
KoEkko Sep 4, 2026
e7708a6
fix(gui): preserve workspace opening across route normalization
KoEkko Sep 4, 2026
039bd66
refactor(gui): name workspace spec requests by role
KoEkko Sep 4, 2026
a07e435
docs: specify shared project workspace contracts
KoEkko Sep 4, 2026
ef78880
refactor: unify ECC and Studio workspace contracts
KoEkko Sep 4, 2026
c36cf8a
feat(backend): integrate revision-aware workspace updates
KoEkko Sep 4, 2026
a231bae
feat(gui): isolate Step Configuration reads
KoEkko Sep 5, 2026
cb3660e
feat(backend): preserve stale results across workspace revisions
KoEkko Sep 6, 2026
98a683a
docs: capture backend revision architecture
KoEkko Sep 6, 2026
d1616f0
fix(gui): reuse project design defaults for workspaces
KoEkko Sep 6, 2026
eaff80c
docs: specify ECC CLI workspace descriptor integration
KoEkko Sep 8, 2026
32162f4
feat(backend): consume ECC CLI workspace contracts
KoEkko Sep 8, 2026
ff80d7c
chore(ecc): update parameter step filters
KoEkko Sep 8, 2026
2fceb83
fix(backend): read canonical workspace configuration
KoEkko Sep 8, 2026
5e6370b
fix(gui): canonicalize workspace flow step names
KoEkko Sep 8, 2026
62ae3c6
feat(gui): improve step configuration workspace view
KoEkko Sep 8, 2026
7f3a986
fix(gui): restore workspace root after blocked replacement
KoEkko Sep 8, 2026
0b1e67b
docs: add workspace configuration surface spec
KoEkko Sep 8, 2026
ef30af2
fix(backend): harden workspace configuration lifecycle
KoEkko Sep 8, 2026
30c732a
fix(runtime-adapter): own transport dependency boundary
KoEkko Sep 8, 2026
b9d1b77
docs(integration): record main baseline and backend contracts
KoEkko Sep 8, 2026
8dff8b9
test(runtime-adapter): cover malformed signoff paths
KoEkko Sep 8, 2026
a20ec4f
feat(gui): cache Step Configuration reads during Flow
KoEkko Sep 9, 2026
4d6c0fe
fix(gui): accept Step Configuration parameters on Product Command
KoEkko Sep 9, 2026
e637b9d
fix(gui): surface parameter save validation errors in place
KoEkko Sep 9, 2026
9d62d44
fix(gui): bind existing workspaces by PDK family
KoEkko Sep 9, 2026
d52f4db
fix(gui): forget gone Project History roots
KoEkko Sep 9, 2026
b46b317
fix(gui): pin Project Management Show all control
KoEkko Sep 9, 2026
4500cd8
docs: confirm Top Module at Workspace create
KoEkko Sep 9, 2026
b9df645
feat(gui): confirm Top Module from discovered HDL at create
KoEkko Sep 9, 2026
20acf99
fix(gui): keep Top Module dropdown exclusive of free-text
KoEkko Sep 9, 2026
5bdd65e
fix(gui): keep Project Management labels from overlapping
KoEkko Sep 9, 2026
e121021
feat(gui): open a Workspace from Background Tasks
KoEkko Sep 9, 2026
4ff20e6
fix(gui): keep Home Agent and filelist create exclusive
KoEkko Sep 10, 2026
b0c5a8e
docs: record shared ECC QoR scoring ownership
KoEkko Sep 10, 2026
0df8bbf
fix(gui): ignore EIO when logging to a dead terminal
KoEkko Sep 11, 2026
adbb2c3
chore(ecc): point gitlink at the Studio engine contract
KoEkko Sep 11, 2026
8a5217d
refactor(backend): align workspace execution projections
KoEkko Sep 11, 2026
fb8bb98
docs: align Studio with ECC runtime consolidation
KoEkko Sep 12, 2026
68c957f
docs: add ECC runtime consolidation spec
KoEkko Sep 12, 2026
09e5836
refactor(runtime): use ECC executable for Studio
KoEkko Sep 12, 2026
00a0a62
chore(runtime): update ECC no-ack execution
KoEkko Sep 12, 2026
c617af9
chore(runtime): expose workspace snapshot context
KoEkko Sep 12, 2026
1f692b0
fix(runtime): restore adapter snapshot consistency
KoEkko Sep 12, 2026
03cfc4c
fix(gui): show staged floorplan steps separately
KoEkko Sep 13, 2026
c75847a
chore(ecc): update floorplan override handling
KoEkko Sep 13, 2026
14746f0
chore(ecc): update cancellation handling
KoEkko Sep 14, 2026
5d8832b
fix(gui): preserve committed workspace snapshot facts
KoEkko Sep 14, 2026
1143ec3
fix(gui): map floorplan config to staged flow
KoEkko Sep 14, 2026
ad420b7
Merge remote-tracking branch 'origin/main' into ekko/refactor-ecc-run…
KoEkko Sep 14, 2026
ba3606c
docs: centralize ECC runtime specifications
KoEkko Sep 14, 2026
8769eaf
feat(gui): improve Codex discovery and Agent panel
KoEkko Sep 14, 2026
3c14b32
chore(ecc): update runtime consolidation and QoR v3
KoEkko Sep 14, 2026
c635b9f
feat(gui): project QoR snapshot extension projection
KoEkko Sep 14, 2026
e63a6ce
fix(gui): preserve QoR extension in project comparison
KoEkko Sep 14, 2026
c2a433b
fix(gui): keep QoR extension on canonical snapshot section
KoEkko Sep 14, 2026
c15263c
fix(gui): preserve bounded QoR facts across stale snapshots
KoEkko Sep 14, 2026
cdc486b
fix(gui): drop stale QoR extension from workspace facts
KoEkko Sep 14, 2026
2bc3c30
fix(gui): show QoR evidence completeness
KoEkko Sep 14, 2026
3dc5353
feat(gui): project QoR snapshot facts from ECC CLI runs
KoEkko Sep 14, 2026
2559392
fix(gui): size QoR chart on mount and hide project-management sidebar
KoEkko Sep 14, 2026
1b438b7
Merge remote-tracking branch 'origin/main' into ekko/refactor-ecc-run…
KoEkko Sep 14, 2026
ebc6635
refactor(gui): remove obsolete project analysis paths
KoEkko Sep 15, 2026
b9d1519
fix(ecc): preserve CLI workspace identity for step config
KoEkko Sep 15, 2026
0c7fc0e
fix(ecc): resolve runtime consolidation merge conflicts
KoEkko Sep 15, 2026
ca3065b
fix(gui): allow selecting extensionless filelists in the workspace wi…
Yell-walkalone Sep 15, 2026
f2d1994
fix(gui): prevent STA report rows from overlapping
KoEkko Sep 15, 2026
7905a58
docs: keep only product guides in ecos/docs
KoEkko Sep 15, 2026
e844f21
fix(gui): preserve step configuration numeric precision
KoEkko Sep 15, 2026
eaabb08
chore(ecc): update ECC submodule
KoEkko Sep 15, 2026
c451082
revert(build): restore main binary build script
KoEkko Sep 15, 2026
bc88647
docs: stop tracking local context and architecture notes
KoEkko Sep 15, 2026
0a97923
docs: remove thin PRODUCT.md placeholder
KoEkko Sep 15, 2026
a0e3fa5
fix(gui): restore workspace creation loading prompt
KoEkko Sep 15, 2026
27681e8
fix(gui): show design identity in background tasks
KoEkko Sep 15, 2026
1d9382f
style(gui): format background task design owner lookup
KoEkko Sep 15, 2026
fee67ea
fix(gui): restore workspace agent panel layout
KoEkko Sep 15, 2026
40160c2
chore(ecc): point gitlink at latest main
KoEkko Sep 15, 2026
287f45e
fix(gui): align workspace panel test with formatter
KoEkko Sep 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 0 additions & 12 deletions CONTEXT-MAP.md

This file was deleted.

33 changes: 0 additions & 33 deletions PRODUCT.md

This file was deleted.

2 changes: 1 addition & 1 deletion ecc
Submodule ecc updated 137 files
46 changes: 19 additions & 27 deletions ecos/agent/PERMISSION_MODEL.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,45 +155,41 @@ Agent 的参数更新路径写完 `home/parameters.json` 后**直接上报成功
| `project.json`、workspace 目录结构 | 不可改动既有结构 | 同上 |
| 已完成阶段产物 | 永不可写 | 同上,保证可追溯性 |
| 新建 workspace / project | 可创建 | 走既有合同确认链路 |
| `home/parameters.json` 全局参数 | 可写 | typed patch + 值域校验 + 合同确认 |
| step config 参数 | 可写 | 同上,经 ECC `sync_config` |
| Workspace Parameter | 可写 | typed patch + 合同确认 + ECC `workspace.updateConfiguration` |
| Step Option | 可写 | Step identity + 合同确认 + ECC `workspace.updateStepConfiguration` |
| flow 起止阶段 | 可写 | 同上 |
| 隔离 rerun workspace 内部 | 可写 | 目标为新建目录,不覆盖 source |

关于「工程的建立」:**新建允许**(当前操作 1 与操作 5 的行为,保留),**改动既有结构不允许**——不重命名、不删除、不覆盖 `project.json`、不调整目录布局。

## 5. 参数写入面统一设计
## 5. 参数领域命令设计

### 5.1 两个参数面
### 5.1 单一写入所有者

ECOS 存在两套参数存储
ECOS Workspace 中仍可观察到两类派生配置

- `home/parameters.json`:全局设计参数,ICS55 扁平模板。字段如 `Clock`、`Frequency max [MHz]`、`Max fanout`、`Core.Utilitization`、`Core.Margin`、`Die.Size`、`Target density`、`Target overflow`、`Cell padding x`、`Routability opt flag`、`Bottom layer`、`Top layer`。
- `config/*.json`:每步工具配置,如 `dreamplace_ecc.json`、`cts_ecc.json`、`route_ecc.json`。

ECC 提供双向同步:

- `refresh_config`:parameters → step config(`data_api.refresh_workspace_config`)
- `sync_config`:step config → parameters,若 parameters 发生变化则再执行一次 refresh(`data_api.sync_workspace_config_to_parameters`)

部分字段在两个面同时存在(`Target density`、`Target overflow`、`Cell padding x`、`Routability opt flag`)。
这些路径只用于 Agent 读取当前值,不出现在跨进程合同中。Workspace Descriptor 是唯一权威配置;ECC 负责更新 Descriptor、生成派生配置、提升 Revision 并失效旧结果。Studio 和 Agent 不直接写这些文件。

### 5.2 写入规则

1. 补丁只描述逻辑 knob,不描述文件路径。
2. 由**单一映射表**决定每个 knob 落在哪个面、哪个 key。该映射表必须是唯一事实来源,Python 与 TypeScript 侧共用同一份定义,不允许两侧各自硬编码。
3. 落在 `home/parameters.json` 的改动,写入后**必须调用 `refreshConfig`**。
4. 落在 `config/*.json` 的改动,写入后**必须调用 `syncConfig`**。
5. 未知 knob 必须**报错**,不得静默跳过。
6. 写入格式与 GUI 保持一致(4 空格缩进),避免无意义 diff。
7. 合同展示的「旧值」必须从该 knob 的**实际写入面**读取。
1. 提案只描述逻辑 knob,不描述文件路径。
2. Agent 将提案解析为 canonical Workspace Parameters 和带 Step identity 的 Step Options。
3. Studio 在用户确认后只调用对应 Product Command,不解释 JSON path。
4. ECC 校验参数/选项、原子提交、生成派生配置、提升 Revision 并计算 stale 范围。
5. 未知 knob、Workspace Parameter、Step identity 或 Step Option 必须报错,不得静默跳过。
6. 合同展示的「旧值」来自只读采集面;执行载荷必须展示逻辑参数身份。

### 5.3 knob 命名空间扩展

现有前缀 `place.` / `cts.` / `legalization.` / `route.` 保留。新增用于全局参数的前缀:

- `design.clock`、`design.frequency_max`、`design.max_fanout`、`design.top_module`
- `floorplan.utilitization`、`floorplan.margin`、`floorplan.die_width`、`floorplan.die_height`、`floorplan.aspect_ratio`、`floorplan.die_area_mode`
- `design.frequency_max`
- `floorplan.utilitization`、`floorplan.die_width`、`floorplan.die_height`、`floorplan.aspect_ratio`

`design.clock`、`design.top_module` 和 Flow/PDK 变化属于结构性 Workspace Update,不作为普通参数建议。

命名需满足 `knob_id` 正则(至少一个点分隔)。

Expand Down Expand Up @@ -294,9 +290,7 @@ codex app-server -c mcp_servers={} -c tools.web_search=<true|false>

`codex_rpc.py` 的 `_readonly_activity` 仅匹配 `commandexecution` 类型的 item,web search 相关事件将完全静默,用户会看到 Agent 无响应而不知其在执行什么。

需增加 `webSearch` 分支,在 Tool 卡中展示查询内容与访问域名。

依据:`PRODUCT.md` —— Make the current state and next valid action immediately visible。
需增加 `webSearch` 分支,在 Tool 卡中展示查询内容与访问域名,让当前状态和下一步有效操作立刻可见。

### 8.2 审计

Expand Down Expand Up @@ -351,10 +345,8 @@ codex app-server -c mcp_servers={} -c tools.web_search=<true|false>
已解决:

- ✅ 未知协议字段在 0.146.0 下被静默接受(实测 `__bogus_probe_field` 返回成功)
- ✅ 新增 `design.` / `floorplan.` knob 的写入面为 `home/parameters.json`,路径已在
`knob_registry.py` 中登记
- ✅ `refresh_config` 从 `parameters.json` 重新展开 step config,因此 step-config 类
knob 必须先 `sync_config` 再 `refresh_config`——实现已按此顺序,并有测试锁定
- ✅ `design.` / `floorplan.` knob 解析为 canonical Workspace Parameter,文件路径不进入合同
- ✅ Step Option 解析为 Step identity + option object,并由 ECC 统一提交和刷新派生配置

仍待验证(需要真实 workspace 与真实 Codex 会话):

Expand Down
2 changes: 1 addition & 1 deletion ecos/agent/knowledge/cts/manifest.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"entity_count": 47, "files": {"catalog.json": "5339ada465d1966d4e0ff2e4d1ddb3ff4819da66f34ac61ce1cf9db92ed1f83e", "knowledge/algorithms.md": "a5af2adf9a4a1fe27232f320cb43034cb5db5af244be4c2b7c5f0ea62e0ef83a", "knowledge/artifacts.md": "fd4c3af58185fb0ad112f5492c3aff0de996bb35fe1c28f3893a37eaae79cab8", "knowledge/failures.md": "f7fd18e1ec479fe971e7d56204a3a3bc3409c208259ea0dc3a52acda94399de0", "knowledge/metrics.md": "8cf1a8070a0eb09f5f18fce7bec1e5bbbb306ec6eb2a4db624a740db24a985d0", "knowledge/parameters.md": "e860c02239e8f0adf76ff7f13d3947bb93bbe86e76ffb9020db6ed2bd625142f", "regression/cts_questions.jsonl": "13b1655b4c30e5b1e8ce95a90f68006f98bf51fb9fbb07d5aebae73a356c39c6", "sources.json": "dd8b2bd1e9cefdf2300dc47d9ad41f60084a56e1b55accc1be1bf0620886e55a"}, "schema_version": "ecos-step-manifest.v1"}
{"entity_count": 47, "files": {"catalog.json": "5339ada465d1966d4e0ff2e4d1ddb3ff4819da66f34ac61ce1cf9db92ed1f83e", "knowledge/algorithms.md": "a5af2adf9a4a1fe27232f320cb43034cb5db5af244be4c2b7c5f0ea62e0ef83a", "knowledge/artifacts.md": "fd4c3af58185fb0ad112f5492c3aff0de996bb35fe1c28f3893a37eaae79cab8", "knowledge/failures.md": "f7fd18e1ec479fe971e7d56204a3a3bc3409c208259ea0dc3a52acda94399de0", "knowledge/metrics.md": "8cf1a8070a0eb09f5f18fce7bec1e5bbbb306ec6eb2a4db624a740db24a985d0", "knowledge/parameters.md": "e860c02239e8f0adf76ff7f13d3947bb93bbe86e76ffb9020db6ed2bd625142f", "regression/cts_questions.jsonl": "13b1655b4c30e5b1e8ce95a90f68006f98bf51fb9fbb07d5aebae73a356c39c6", "sources.json": "61e9e8427ba3831c7b09eb69e25fc4353ba74b001439454a839b73ec7c82a4b8"}, "schema_version": "ecos-step-manifest.v1"}
Loading
Loading