abelien-harness 0.20.0 → 0.22.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/package.json +1 -1
- package/skills/abelien-appearance/references/points.md +7 -3
- package/skills/abelien-appearance/schemas/points-reading-reply.v1.json +2 -2
- package/skills/abelien-appearance/scripts/points.mjs +46 -4
- package/skills/abelien-appearance/scripts/spatial-images.mjs +16 -0
- package/skills/abelien-hardware/domain.json +33 -1
- package/skills/abelien-hardware/references/selection-service-contract.md +2 -0
- package/skills/abelien-harness/runtime/README.md +3 -0
- package/skills/abelien-harness/runtime/actions.mjs +8 -2
- package/skills/abelien-harness/runtime/engine.mjs +52 -8
- package/skills/abelien-harness/runtime/graph.mjs +4 -2
- package/skills/abelien-harness/runtime/index.mjs +2 -0
- package/skills/abelien-harness/runtime/model-actions.md +17 -0
- package/skills/abelien-harness/runtime/task-view/README.md +7 -2
- package/skills/abelien-harness/runtime/task-view/index.mjs +10 -4
- package/skills/abelien-harness/runtime/task-view/retention.mjs +39 -0
- package/skills/abelien-harness/scripts/ab.mjs +1 -1
- package/skills/abelien-structure/domain.json +1 -0
- package/skills/abelien-structure/flows/user-journey-cad.json +34 -2
- package/skills/abelien-structure/references/skeleton.md +1 -0
- package/skills/abelien-structure/scripts/cad.mjs +5 -4
- package/skills/abelien-workspace/actions/image.generate.json +2 -2
- package/skills/abelien-workspace/actions/step.tool-result.json +1 -1
- package/skills/abelien-workspace/assets/journey-stage-plan.json +465 -4
- package/skills/abelien-workspace/assets/lane-plan.json +2 -2
- package/skills/abelien-workspace/contract/host-tools.generated.json +463 -16
- package/skills/abelien-workspace/flows/creation.create.json +855 -152
- package/skills/abelien-workspace/flows/creation.modify.json +855 -152
- package/skills/abelien-workspace/flows/creation.remix.json +189 -2
- package/skills/abelien-workspace/flows/creation.restore.json +443 -6
- package/skills/abelien-workspace/references/actions/image.generate.generated.md +41 -2
- package/skills/abelien-workspace/references/actions/step.tool-result.generated.md +23 -3
- package/skills/abelien-workspace/references/actions.generated.md +1 -1
- package/skills/abelien-workspace/references/journey-stage-plan.md +35 -2
- package/skills/abelien-workspace/schemas/appearance-views.v1.json +208 -0
- package/skills/abelien-workspace/schemas/host-tools.v1.json +131 -5
- package/skills/abelien-workspace/schemas/image-task.v1.json +92 -0
- package/skills/abelien-workspace/schemas/plan-common.v1.json +3 -1
- package/skills/abelien-workspace/scripts/appearance-views.mjs +49 -0
- package/skills/abelien-workspace/scripts/creation-tasks.mjs +20 -10
- package/skills/abelien-workspace/scripts/flow-compile.mjs +3 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "abelien.runtime-flow.v2",
|
|
3
3
|
"flow_id": "creation.create",
|
|
4
|
-
"version": "2026-10-20.
|
|
4
|
+
"version": "2026-10-20.3",
|
|
5
5
|
"policy": "product",
|
|
6
6
|
"intent": "create",
|
|
7
7
|
"plans": {
|
|
8
|
-
"journey": "2026-10-20.
|
|
8
|
+
"journey": "2026-10-20.3",
|
|
9
9
|
"lanes": "2026-10-18.3"
|
|
10
10
|
},
|
|
11
11
|
"input_schema": {
|
|
@@ -92,6 +92,12 @@
|
|
|
92
92
|
"producers": [
|
|
93
93
|
"questions"
|
|
94
94
|
]
|
|
95
|
+
},
|
|
96
|
+
"appearance_views": {
|
|
97
|
+
"producers": [
|
|
98
|
+
"appearance_views",
|
|
99
|
+
"views_fallback"
|
|
100
|
+
]
|
|
95
101
|
}
|
|
96
102
|
},
|
|
97
103
|
"nodes": [
|
|
@@ -127,6 +133,37 @@
|
|
|
127
133
|
"reference.finalize"
|
|
128
134
|
],
|
|
129
135
|
"task": {
|
|
136
|
+
"context_retention": {
|
|
137
|
+
"schema": "abelien.node-context-retention.v1",
|
|
138
|
+
"required": [
|
|
139
|
+
"schema",
|
|
140
|
+
"reply_to",
|
|
141
|
+
"flow",
|
|
142
|
+
"target_revision_ref",
|
|
143
|
+
"attempt",
|
|
144
|
+
"goal",
|
|
145
|
+
"instruction",
|
|
146
|
+
"refs",
|
|
147
|
+
"skills",
|
|
148
|
+
"actions",
|
|
149
|
+
"output",
|
|
150
|
+
"work",
|
|
151
|
+
"reply_without_model",
|
|
152
|
+
"correction",
|
|
153
|
+
"attempts",
|
|
154
|
+
"budget"
|
|
155
|
+
],
|
|
156
|
+
"history": {
|
|
157
|
+
"reasoning": "summarize",
|
|
158
|
+
"assistant_text": "exact",
|
|
159
|
+
"tool_results": {
|
|
160
|
+
"default": "exact",
|
|
161
|
+
"by_action": {
|
|
162
|
+
"reference.page": "reference"
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
},
|
|
130
167
|
"output": {
|
|
131
168
|
"package": "abelien-workspace",
|
|
132
169
|
"schema": "schemas/reference-final-reply.v1.json",
|
|
@@ -233,6 +270,35 @@
|
|
|
233
270
|
"image.generate"
|
|
234
271
|
],
|
|
235
272
|
"task": {
|
|
273
|
+
"context_retention": {
|
|
274
|
+
"schema": "abelien.node-context-retention.v1",
|
|
275
|
+
"required": [
|
|
276
|
+
"schema",
|
|
277
|
+
"reply_to",
|
|
278
|
+
"flow",
|
|
279
|
+
"target_revision_ref",
|
|
280
|
+
"attempt",
|
|
281
|
+
"goal",
|
|
282
|
+
"instruction",
|
|
283
|
+
"refs",
|
|
284
|
+
"skills",
|
|
285
|
+
"actions",
|
|
286
|
+
"output",
|
|
287
|
+
"work",
|
|
288
|
+
"reply_without_model",
|
|
289
|
+
"correction",
|
|
290
|
+
"attempts",
|
|
291
|
+
"budget"
|
|
292
|
+
],
|
|
293
|
+
"history": {
|
|
294
|
+
"reasoning": "summarize",
|
|
295
|
+
"assistant_text": "exact",
|
|
296
|
+
"tool_results": {
|
|
297
|
+
"default": "exact",
|
|
298
|
+
"by_action": {}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
},
|
|
236
302
|
"output": {
|
|
237
303
|
"package": "abelien-workspace",
|
|
238
304
|
"schema": "schemas/host-success-reply.v1.json",
|
|
@@ -247,6 +313,19 @@
|
|
|
247
313
|
"view": "conceptView",
|
|
248
314
|
"finalize": "conceptFinalize"
|
|
249
315
|
},
|
|
316
|
+
"bound_params": {
|
|
317
|
+
"image.generate": {
|
|
318
|
+
"fixed_input": [
|
|
319
|
+
"schema",
|
|
320
|
+
"purpose",
|
|
321
|
+
"requirements_ref",
|
|
322
|
+
"source_images",
|
|
323
|
+
"confirmation_ref",
|
|
324
|
+
"output_role",
|
|
325
|
+
"view_specs"
|
|
326
|
+
]
|
|
327
|
+
}
|
|
328
|
+
},
|
|
250
329
|
"goal": "生成第一张概念图",
|
|
251
330
|
"refs": {
|
|
252
331
|
"requirements": "input.requirements",
|
|
@@ -296,7 +375,9 @@
|
|
|
296
375
|
},
|
|
297
376
|
"option_semantics_version": 1,
|
|
298
377
|
"consumers": [
|
|
299
|
-
"
|
|
378
|
+
"appearance_views",
|
|
379
|
+
"real_image",
|
|
380
|
+
"views_fallback"
|
|
300
381
|
]
|
|
301
382
|
}
|
|
302
383
|
},
|
|
@@ -384,6 +465,311 @@
|
|
|
384
465
|
]
|
|
385
466
|
}
|
|
386
467
|
},
|
|
468
|
+
{
|
|
469
|
+
"id": "algorithm_research",
|
|
470
|
+
"kind": "model",
|
|
471
|
+
"stage": "hardware",
|
|
472
|
+
"lane": "algorithm",
|
|
473
|
+
"required": false,
|
|
474
|
+
"target": [
|
|
475
|
+
"requirements"
|
|
476
|
+
],
|
|
477
|
+
"needs": [],
|
|
478
|
+
"waits_for": [],
|
|
479
|
+
"after": [],
|
|
480
|
+
"quality": "ready",
|
|
481
|
+
"produces": "algorithm_proposed",
|
|
482
|
+
"instruction": {
|
|
483
|
+
"rules": "lane:algorithm.research",
|
|
484
|
+
"goal": "需求明确后立即检索每个 reaction 可用的实现,与硬件选型同时进行",
|
|
485
|
+
"directives": [
|
|
486
|
+
"只凭本次需求的 reaction、limits 和落点检索,不等硬件,也不猜硬件型号;离线、隐私、延迟、费用等硬约束从一开始就用来筛选。",
|
|
487
|
+
"先看宿主给出的库内已适配算法,能满足 reaction 的优先;库外再联网,顺序是实现官方资料(模型卡、SDK、发布记录)→ Hugging Face → 成熟云服务官方文档;博客、论坛与聚合文章只用来发现线索。",
|
|
488
|
+
"每个 reaction 用 1–2 条英文查询调用 algorithm.research(purpose=implementation,查询带 reaction_id;一次最多 8 条,reaction 多时分几次调用),读正文后再判断,不凭检索摘要下结论。",
|
|
489
|
+
"用 algorithm.candidates(research_ids 列出本节点做过的 implementation 研究)为每个 reaction 提交 1–3 个候选,格式按 abelien-algorithm 的 algorithm-candidates.v1 schema:implementation_ref 是简短名称(不带网址和说明,说明写 summary),implementation_version 只写来源写明的确定版本,没写就填 null;quotes 写 research_id、page_id 和逐字取自那一页正文的原文,同一份资料可以同时支撑几个 reaction;needs 的每个值都要原样出现在该候选的某条 quotes 里,不换算、不推算,原文没写的填 null。需求里 hard 限制带 network(离线或不上云)时只提交 edge 候选。违反硬约束的不提交,确实找不到的写进 unresolved 并说明原因。",
|
|
490
|
+
"算法结果不反向约束硬件选型,也不阻塞首版 CAD;只记录资源需求,供硬件登记后绑定。",
|
|
491
|
+
"最后只回 {\"id\": …}:本次 algorithm.candidates 成功结果的 id,不要抄写结果本身;运行时按这个 id 取存下的那份结果。"
|
|
492
|
+
]
|
|
493
|
+
},
|
|
494
|
+
"allowed_actions": [
|
|
495
|
+
"algorithm.research",
|
|
496
|
+
"algorithm.candidates"
|
|
497
|
+
],
|
|
498
|
+
"task": {
|
|
499
|
+
"context_retention": {
|
|
500
|
+
"schema": "abelien.node-context-retention.v1",
|
|
501
|
+
"required": [
|
|
502
|
+
"schema",
|
|
503
|
+
"reply_to",
|
|
504
|
+
"flow",
|
|
505
|
+
"target_revision_ref",
|
|
506
|
+
"attempt",
|
|
507
|
+
"goal",
|
|
508
|
+
"instruction",
|
|
509
|
+
"refs",
|
|
510
|
+
"skills",
|
|
511
|
+
"actions",
|
|
512
|
+
"output",
|
|
513
|
+
"work",
|
|
514
|
+
"reply_without_model",
|
|
515
|
+
"correction",
|
|
516
|
+
"attempts",
|
|
517
|
+
"budget"
|
|
518
|
+
],
|
|
519
|
+
"history": {
|
|
520
|
+
"reasoning": "summarize",
|
|
521
|
+
"assistant_text": "exact",
|
|
522
|
+
"tool_results": {
|
|
523
|
+
"default": "exact",
|
|
524
|
+
"by_action": {}
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
},
|
|
528
|
+
"output": {
|
|
529
|
+
"package": "abelien-algorithm",
|
|
530
|
+
"schema": "schemas/candidates-result.v1.json",
|
|
531
|
+
"reply": {
|
|
532
|
+
"package": "abelien-workspace",
|
|
533
|
+
"schema": "schemas/stored-result-reply.v1.json"
|
|
534
|
+
}
|
|
535
|
+
},
|
|
536
|
+
"skills": [
|
|
537
|
+
{
|
|
538
|
+
"package": "abelien-algorithm",
|
|
539
|
+
"path": "SKILL.md"
|
|
540
|
+
}
|
|
541
|
+
],
|
|
542
|
+
"builder": {
|
|
543
|
+
"package": "abelien-workspace",
|
|
544
|
+
"module": "scripts/creation-tasks.mjs",
|
|
545
|
+
"finalize": "algorithmProposedFinalize"
|
|
546
|
+
},
|
|
547
|
+
"goal": "需求明确后立即检索每个 reaction 可用的实现,与硬件选型同时进行",
|
|
548
|
+
"refs": {
|
|
549
|
+
"requirements": "input.requirements"
|
|
550
|
+
},
|
|
551
|
+
"actions": [
|
|
552
|
+
"algorithm.research",
|
|
553
|
+
"algorithm.candidates"
|
|
554
|
+
]
|
|
555
|
+
}
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
"id": "algorithm_bind",
|
|
559
|
+
"kind": "model",
|
|
560
|
+
"stage": "hardware",
|
|
561
|
+
"lane": "algorithm",
|
|
562
|
+
"required": false,
|
|
563
|
+
"target": [
|
|
564
|
+
"requirements"
|
|
565
|
+
],
|
|
566
|
+
"needs": [
|
|
567
|
+
{
|
|
568
|
+
"artifact": "algorithm_proposed",
|
|
569
|
+
"accept_quality": [
|
|
570
|
+
"ready"
|
|
571
|
+
]
|
|
572
|
+
},
|
|
573
|
+
{
|
|
574
|
+
"artifact": "hardware",
|
|
575
|
+
"accept_quality": [
|
|
576
|
+
"ready"
|
|
577
|
+
]
|
|
578
|
+
}
|
|
579
|
+
],
|
|
580
|
+
"waits_for": [],
|
|
581
|
+
"after": [],
|
|
582
|
+
"quality": "ready",
|
|
583
|
+
"produces": "algorithm_selection",
|
|
584
|
+
"instruction": {
|
|
585
|
+
"rules": "lane:algorithm.bind",
|
|
586
|
+
"goal": "硬件登记后,把每个 reaction 绑定到已选型号上的一个实现并复核兼容",
|
|
587
|
+
"directives": [
|
|
588
|
+
"硬件只认本运行冻结的选型修订:algorithm.research(purpose=hardware)与 algorithm.finalize 都原样传 work.fixed_input.hardware_revision_ref,可绑定的型号见 work.components;修订尚未落定(门未开或有未决事项)也照常绑定,结果会保持待确认。",
|
|
589
|
+
"先为主控等相关型号检索厂商官方资料:algorithm.research(purpose=hardware,查询带 work.components 里的 component_id),看 SDK、runtime、算子支持、内存与外设接口。",
|
|
590
|
+
"每个 reaction 恰好选一个已提议的候选(implementation_ref 照抄),绑定到具体 component_id;逐项核对 io、runtime、dependencies、network、license、resources 和每条硬约束,各写 pass/conflict/unknown、理由与来源。格式按 algorithm-bindings.v1 schema:sources 只写 research_id 与 page_id 指向的正文页(search_snippet 不算),url、访问时间与哈希由 Harness 回填;source_type 按发布方选(所选型号厂商 hardware_vendor、实现官方 implementation_official、模型卡 huggingface、云服务官方 cloud_vendor),分销商、博客不是一手来源。",
|
|
591
|
+
"带数量的检查不写 status,写 formula:候选 needs 写了数量时的 compatibility.resources,以及原文带数量的硬限制(不带 envelope 的)。formula 是比较式(unit 写 bool),操作数用 quote(source_id 写本检查 source_ids 里的来源 id,或 limit:<限制 id> 引用户原话;text 逐字引含该量的原文,引文里有几个量时给 index)或 choice(你的假设,写依据,例如 KB 按 1000 还是 1024);pass 或 conflict 由代码算。要先算清楚可以调 calc.evaluate,不要心算。与本绑定无关的硬限制写 not_applicable 并说明理由;带 envelope 的尺寸限制由硬件与结构检查,这里不写。",
|
|
592
|
+
"用 algorithm.finalize(operation=bind,proposed_id 为 work.fixed_input.proposed_id,requirements 原样传本运行的需求)提交;证据不足就如实写 unknowns/blocking_unknowns,结果保持 needs_confirmation,不编造通过。",
|
|
593
|
+
"只有换硬件(算力或接口变化)才重新绑定;需求的 reaction 或 limits 变化才重新研究。",
|
|
594
|
+
"最后只回 {\"id\": …}:本次 algorithm.finalize 成功结果的 id,不要抄写结果本身;运行时按这个 id 取存下的那份结果。"
|
|
595
|
+
]
|
|
596
|
+
},
|
|
597
|
+
"allowed_actions": [
|
|
598
|
+
"algorithm.research",
|
|
599
|
+
"algorithm.finalize",
|
|
600
|
+
"calc.evaluate"
|
|
601
|
+
],
|
|
602
|
+
"task": {
|
|
603
|
+
"context_retention": {
|
|
604
|
+
"schema": "abelien.node-context-retention.v1",
|
|
605
|
+
"required": [
|
|
606
|
+
"schema",
|
|
607
|
+
"reply_to",
|
|
608
|
+
"flow",
|
|
609
|
+
"target_revision_ref",
|
|
610
|
+
"attempt",
|
|
611
|
+
"goal",
|
|
612
|
+
"instruction",
|
|
613
|
+
"refs",
|
|
614
|
+
"skills",
|
|
615
|
+
"actions",
|
|
616
|
+
"output",
|
|
617
|
+
"work",
|
|
618
|
+
"reply_without_model",
|
|
619
|
+
"correction",
|
|
620
|
+
"attempts",
|
|
621
|
+
"budget"
|
|
622
|
+
],
|
|
623
|
+
"history": {
|
|
624
|
+
"reasoning": "summarize",
|
|
625
|
+
"assistant_text": "exact",
|
|
626
|
+
"tool_results": {
|
|
627
|
+
"default": "exact",
|
|
628
|
+
"by_action": {}
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
},
|
|
632
|
+
"output": {
|
|
633
|
+
"package": "abelien-algorithm",
|
|
634
|
+
"schema": "schemas/finalize-result.v1.json",
|
|
635
|
+
"reply": {
|
|
636
|
+
"package": "abelien-workspace",
|
|
637
|
+
"schema": "schemas/stored-result-reply.v1.json"
|
|
638
|
+
}
|
|
639
|
+
},
|
|
640
|
+
"skills": [
|
|
641
|
+
{
|
|
642
|
+
"package": "abelien-algorithm",
|
|
643
|
+
"path": "SKILL.md"
|
|
644
|
+
}
|
|
645
|
+
],
|
|
646
|
+
"builder": {
|
|
647
|
+
"package": "abelien-workspace",
|
|
648
|
+
"module": "scripts/creation-tasks.mjs",
|
|
649
|
+
"view": "algorithmBindView",
|
|
650
|
+
"finalize": "algorithmBoundFinalize"
|
|
651
|
+
},
|
|
652
|
+
"goal": "硬件登记后,把每个 reaction 绑定到已选型号上的一个实现并复核兼容",
|
|
653
|
+
"refs": {
|
|
654
|
+
"requirements": "input.requirements",
|
|
655
|
+
"algorithm_proposed": "needs.algorithm_proposed.data",
|
|
656
|
+
"hardware": {
|
|
657
|
+
"from": "needs.hardware.data",
|
|
658
|
+
"omit": [
|
|
659
|
+
"selectionRevisionData.candidates"
|
|
660
|
+
]
|
|
661
|
+
}
|
|
662
|
+
},
|
|
663
|
+
"actions": [
|
|
664
|
+
"algorithm.research",
|
|
665
|
+
"algorithm.finalize",
|
|
666
|
+
"calc.evaluate"
|
|
667
|
+
]
|
|
668
|
+
}
|
|
669
|
+
},
|
|
670
|
+
{
|
|
671
|
+
"id": "appearance_views",
|
|
672
|
+
"kind": "model",
|
|
673
|
+
"stage": "appearance_views",
|
|
674
|
+
"lane": "main",
|
|
675
|
+
"required": true,
|
|
676
|
+
"target": [
|
|
677
|
+
"requirements"
|
|
678
|
+
],
|
|
679
|
+
"needs": [
|
|
680
|
+
{
|
|
681
|
+
"artifact": "concept_image",
|
|
682
|
+
"accept_quality": [
|
|
683
|
+
"ready"
|
|
684
|
+
]
|
|
685
|
+
}
|
|
686
|
+
],
|
|
687
|
+
"waits_for": [
|
|
688
|
+
"concept_gate"
|
|
689
|
+
],
|
|
690
|
+
"after": [],
|
|
691
|
+
"quality": "ready",
|
|
692
|
+
"produces": "appearance_views",
|
|
693
|
+
"produces_schema": "appearance.views.v1",
|
|
694
|
+
"instruction": {
|
|
695
|
+
"rules": "stage:appearance_views",
|
|
696
|
+
"goal": "Generate internal spatial views of the confirmed concept",
|
|
697
|
+
"directives": [
|
|
698
|
+
"Use image.generate with spatial_views purpose. Choose complementary orientations to explain spatial and structural relationships. No additional user image or review gate."
|
|
699
|
+
]
|
|
700
|
+
},
|
|
701
|
+
"allowed_actions": [
|
|
702
|
+
"image.generate"
|
|
703
|
+
],
|
|
704
|
+
"task": {
|
|
705
|
+
"context_retention": {
|
|
706
|
+
"schema": "abelien.node-context-retention.v1",
|
|
707
|
+
"required": [
|
|
708
|
+
"schema",
|
|
709
|
+
"reply_to",
|
|
710
|
+
"flow",
|
|
711
|
+
"target_revision_ref",
|
|
712
|
+
"attempt",
|
|
713
|
+
"goal",
|
|
714
|
+
"instruction",
|
|
715
|
+
"refs",
|
|
716
|
+
"skills",
|
|
717
|
+
"actions",
|
|
718
|
+
"output",
|
|
719
|
+
"work",
|
|
720
|
+
"reply_without_model",
|
|
721
|
+
"correction",
|
|
722
|
+
"attempts",
|
|
723
|
+
"budget"
|
|
724
|
+
],
|
|
725
|
+
"history": {
|
|
726
|
+
"reasoning": "summarize",
|
|
727
|
+
"assistant_text": "exact",
|
|
728
|
+
"tool_results": {
|
|
729
|
+
"default": "exact",
|
|
730
|
+
"by_action": {}
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
},
|
|
734
|
+
"output": {
|
|
735
|
+
"package": "abelien-workspace",
|
|
736
|
+
"schema": "schemas/appearance-views.v1.json",
|
|
737
|
+
"reply": {
|
|
738
|
+
"package": "abelien-workspace",
|
|
739
|
+
"schema": "schemas/host-ack-reply.v1.json"
|
|
740
|
+
}
|
|
741
|
+
},
|
|
742
|
+
"builder": {
|
|
743
|
+
"package": "abelien-workspace",
|
|
744
|
+
"module": "scripts/appearance-views.mjs",
|
|
745
|
+
"view": "spatialViewsView",
|
|
746
|
+
"finalize": "spatialViewsFinalize"
|
|
747
|
+
},
|
|
748
|
+
"bound_params": {
|
|
749
|
+
"image.generate": {
|
|
750
|
+
"fixed_input": [
|
|
751
|
+
"schema",
|
|
752
|
+
"purpose",
|
|
753
|
+
"requirements_ref",
|
|
754
|
+
"source_images",
|
|
755
|
+
"confirmation_ref",
|
|
756
|
+
"output_role"
|
|
757
|
+
]
|
|
758
|
+
}
|
|
759
|
+
},
|
|
760
|
+
"budget": {
|
|
761
|
+
"attempts": 3
|
|
762
|
+
},
|
|
763
|
+
"goal": "Generate internal spatial views of the confirmed concept",
|
|
764
|
+
"refs": {
|
|
765
|
+
"requirements": "input.requirements",
|
|
766
|
+
"concept_image": "needs.concept_image.data"
|
|
767
|
+
},
|
|
768
|
+
"actions": [
|
|
769
|
+
"image.generate"
|
|
770
|
+
]
|
|
771
|
+
}
|
|
772
|
+
},
|
|
387
773
|
{
|
|
388
774
|
"id": "points_read",
|
|
389
775
|
"kind": "model",
|
|
@@ -399,6 +785,13 @@
|
|
|
399
785
|
"accept_quality": [
|
|
400
786
|
"ready"
|
|
401
787
|
]
|
|
788
|
+
},
|
|
789
|
+
{
|
|
790
|
+
"artifact": "appearance_views",
|
|
791
|
+
"accept_quality": [
|
|
792
|
+
"ready",
|
|
793
|
+
"degraded"
|
|
794
|
+
]
|
|
402
795
|
}
|
|
403
796
|
],
|
|
404
797
|
"waits_for": [],
|
|
@@ -412,12 +805,41 @@
|
|
|
412
805
|
"directives": [
|
|
413
806
|
"按 abelien-appearance/references/points.md 第一步读图(还原读识别出的产品图,其余读当前概念图):只报看得见的面,每个特征一个点位,读图输出不填槽位。",
|
|
414
807
|
"提交时与槽位无关的校验(摘要、可见面、坐标范围、reaction_id、point_id 不重复)就在本节点做;被拒按原因修正后在本节点重新提交,读图通过后冻结,配对节点不再改它。",
|
|
415
|
-
"看不清产品外观时 outcome 写 unreadable 并说明原因,不给点位、不猜坐标;image_digest
|
|
416
|
-
"
|
|
808
|
+
"看不清产品外观时 outcome 写 unreadable 并说明原因,不给点位、不猜坐标;image_digest 只用 primary 原图引用的摘要;所有像素只报原图,spatial_reference 仅辅助理解空间和结构。",
|
|
809
|
+
"读图消费 primary 原图、可用的内部 spatial_reference 和需求 reaction;create/modify 等同图确认与内部视图结果,不等硬件选型,也不反向约束选型。宿主有实测 primary_image_px 时省略 image_px,由宿主注入。纠错保留有效面四角和因面归属被拒点的像素范围,不拉大面或缩小点求通过;重新归面或撤回并以 point_id 写入 unknowns。"
|
|
417
810
|
]
|
|
418
811
|
},
|
|
419
812
|
"allowed_actions": [],
|
|
420
813
|
"task": {
|
|
814
|
+
"context_retention": {
|
|
815
|
+
"schema": "abelien.node-context-retention.v1",
|
|
816
|
+
"required": [
|
|
817
|
+
"schema",
|
|
818
|
+
"reply_to",
|
|
819
|
+
"flow",
|
|
820
|
+
"target_revision_ref",
|
|
821
|
+
"attempt",
|
|
822
|
+
"goal",
|
|
823
|
+
"instruction",
|
|
824
|
+
"refs",
|
|
825
|
+
"skills",
|
|
826
|
+
"actions",
|
|
827
|
+
"output",
|
|
828
|
+
"work",
|
|
829
|
+
"reply_without_model",
|
|
830
|
+
"correction",
|
|
831
|
+
"attempts",
|
|
832
|
+
"budget"
|
|
833
|
+
],
|
|
834
|
+
"history": {
|
|
835
|
+
"reasoning": "summarize",
|
|
836
|
+
"assistant_text": "exact",
|
|
837
|
+
"tool_results": {
|
|
838
|
+
"default": "exact",
|
|
839
|
+
"by_action": {}
|
|
840
|
+
}
|
|
841
|
+
}
|
|
842
|
+
},
|
|
421
843
|
"output": {
|
|
422
844
|
"package": "abelien-appearance",
|
|
423
845
|
"schema": "schemas/points-reading.v1.json",
|
|
@@ -441,7 +863,8 @@
|
|
|
441
863
|
"goal": "外观图定版后读图出点位,与硬件选型同时进行",
|
|
442
864
|
"refs": {
|
|
443
865
|
"requirements": "input.requirements",
|
|
444
|
-
"concept_image": "needs.concept_image.data"
|
|
866
|
+
"concept_image": "needs.concept_image.data",
|
|
867
|
+
"appearance_views": "needs.appearance_views.data"
|
|
445
868
|
},
|
|
446
869
|
"actions": []
|
|
447
870
|
}
|
|
@@ -493,6 +916,35 @@
|
|
|
493
916
|
"appearance.points"
|
|
494
917
|
],
|
|
495
918
|
"task": {
|
|
919
|
+
"context_retention": {
|
|
920
|
+
"schema": "abelien.node-context-retention.v1",
|
|
921
|
+
"required": [
|
|
922
|
+
"schema",
|
|
923
|
+
"reply_to",
|
|
924
|
+
"flow",
|
|
925
|
+
"target_revision_ref",
|
|
926
|
+
"attempt",
|
|
927
|
+
"goal",
|
|
928
|
+
"instruction",
|
|
929
|
+
"refs",
|
|
930
|
+
"skills",
|
|
931
|
+
"actions",
|
|
932
|
+
"output",
|
|
933
|
+
"work",
|
|
934
|
+
"reply_without_model",
|
|
935
|
+
"correction",
|
|
936
|
+
"attempts",
|
|
937
|
+
"budget"
|
|
938
|
+
],
|
|
939
|
+
"history": {
|
|
940
|
+
"reasoning": "summarize",
|
|
941
|
+
"assistant_text": "exact",
|
|
942
|
+
"tool_results": {
|
|
943
|
+
"default": "exact",
|
|
944
|
+
"by_action": {}
|
|
945
|
+
}
|
|
946
|
+
}
|
|
947
|
+
},
|
|
496
948
|
"output": {
|
|
497
949
|
"package": "abelien-workspace",
|
|
498
950
|
"schema": "schemas/appearance-points-reply.v1.json"
|
|
@@ -565,6 +1017,35 @@
|
|
|
565
1017
|
"appearance.points-fallback"
|
|
566
1018
|
],
|
|
567
1019
|
"task": {
|
|
1020
|
+
"context_retention": {
|
|
1021
|
+
"schema": "abelien.node-context-retention.v1",
|
|
1022
|
+
"required": [
|
|
1023
|
+
"schema",
|
|
1024
|
+
"reply_to",
|
|
1025
|
+
"flow",
|
|
1026
|
+
"target_revision_ref",
|
|
1027
|
+
"attempt",
|
|
1028
|
+
"goal",
|
|
1029
|
+
"instruction",
|
|
1030
|
+
"refs",
|
|
1031
|
+
"skills",
|
|
1032
|
+
"actions",
|
|
1033
|
+
"output",
|
|
1034
|
+
"work",
|
|
1035
|
+
"reply_without_model",
|
|
1036
|
+
"correction",
|
|
1037
|
+
"attempts",
|
|
1038
|
+
"budget"
|
|
1039
|
+
],
|
|
1040
|
+
"history": {
|
|
1041
|
+
"reasoning": "summarize",
|
|
1042
|
+
"assistant_text": "exact",
|
|
1043
|
+
"tool_results": {
|
|
1044
|
+
"default": "exact",
|
|
1045
|
+
"by_action": {}
|
|
1046
|
+
}
|
|
1047
|
+
}
|
|
1048
|
+
},
|
|
568
1049
|
"output": {
|
|
569
1050
|
"package": "abelien-workspace",
|
|
570
1051
|
"schema": "schemas/appearance-points-reply.v1.json"
|
|
@@ -626,6 +1107,35 @@
|
|
|
626
1107
|
"appearance.points-fallback"
|
|
627
1108
|
],
|
|
628
1109
|
"task": {
|
|
1110
|
+
"context_retention": {
|
|
1111
|
+
"schema": "abelien.node-context-retention.v1",
|
|
1112
|
+
"required": [
|
|
1113
|
+
"schema",
|
|
1114
|
+
"reply_to",
|
|
1115
|
+
"flow",
|
|
1116
|
+
"target_revision_ref",
|
|
1117
|
+
"attempt",
|
|
1118
|
+
"goal",
|
|
1119
|
+
"instruction",
|
|
1120
|
+
"refs",
|
|
1121
|
+
"skills",
|
|
1122
|
+
"actions",
|
|
1123
|
+
"output",
|
|
1124
|
+
"work",
|
|
1125
|
+
"reply_without_model",
|
|
1126
|
+
"correction",
|
|
1127
|
+
"attempts",
|
|
1128
|
+
"budget"
|
|
1129
|
+
],
|
|
1130
|
+
"history": {
|
|
1131
|
+
"reasoning": "summarize",
|
|
1132
|
+
"assistant_text": "exact",
|
|
1133
|
+
"tool_results": {
|
|
1134
|
+
"default": "exact",
|
|
1135
|
+
"by_action": {}
|
|
1136
|
+
}
|
|
1137
|
+
}
|
|
1138
|
+
},
|
|
629
1139
|
"output": {
|
|
630
1140
|
"package": "abelien-workspace",
|
|
631
1141
|
"schema": "schemas/appearance-points-reply.v1.json"
|
|
@@ -652,150 +1162,6 @@
|
|
|
652
1162
|
]
|
|
653
1163
|
}
|
|
654
1164
|
},
|
|
655
|
-
{
|
|
656
|
-
"id": "algorithm_research",
|
|
657
|
-
"kind": "model",
|
|
658
|
-
"stage": "hardware",
|
|
659
|
-
"lane": "algorithm",
|
|
660
|
-
"required": false,
|
|
661
|
-
"target": [
|
|
662
|
-
"requirements"
|
|
663
|
-
],
|
|
664
|
-
"needs": [],
|
|
665
|
-
"waits_for": [],
|
|
666
|
-
"after": [],
|
|
667
|
-
"quality": "ready",
|
|
668
|
-
"produces": "algorithm_proposed",
|
|
669
|
-
"instruction": {
|
|
670
|
-
"rules": "lane:algorithm.research",
|
|
671
|
-
"goal": "需求明确后立即检索每个 reaction 可用的实现,与硬件选型同时进行",
|
|
672
|
-
"directives": [
|
|
673
|
-
"只凭本次需求的 reaction、limits 和落点检索,不等硬件,也不猜硬件型号;离线、隐私、延迟、费用等硬约束从一开始就用来筛选。",
|
|
674
|
-
"先看宿主给出的库内已适配算法,能满足 reaction 的优先;库外再联网,顺序是实现官方资料(模型卡、SDK、发布记录)→ Hugging Face → 成熟云服务官方文档;博客、论坛与聚合文章只用来发现线索。",
|
|
675
|
-
"每个 reaction 用 1–2 条英文查询调用 algorithm.research(purpose=implementation,查询带 reaction_id;一次最多 8 条,reaction 多时分几次调用),读正文后再判断,不凭检索摘要下结论。",
|
|
676
|
-
"用 algorithm.candidates(research_ids 列出本节点做过的 implementation 研究)为每个 reaction 提交 1–3 个候选,格式按 abelien-algorithm 的 algorithm-candidates.v1 schema:implementation_ref 是简短名称(不带网址和说明,说明写 summary),implementation_version 只写来源写明的确定版本,没写就填 null;quotes 写 research_id、page_id 和逐字取自那一页正文的原文,同一份资料可以同时支撑几个 reaction;needs 的每个值都要原样出现在该候选的某条 quotes 里,不换算、不推算,原文没写的填 null。需求里 hard 限制带 network(离线或不上云)时只提交 edge 候选。违反硬约束的不提交,确实找不到的写进 unresolved 并说明原因。",
|
|
677
|
-
"算法结果不反向约束硬件选型,也不阻塞首版 CAD;只记录资源需求,供硬件登记后绑定。",
|
|
678
|
-
"最后只回 {\"id\": …}:本次 algorithm.candidates 成功结果的 id,不要抄写结果本身;运行时按这个 id 取存下的那份结果。"
|
|
679
|
-
]
|
|
680
|
-
},
|
|
681
|
-
"allowed_actions": [
|
|
682
|
-
"algorithm.research",
|
|
683
|
-
"algorithm.candidates"
|
|
684
|
-
],
|
|
685
|
-
"task": {
|
|
686
|
-
"output": {
|
|
687
|
-
"package": "abelien-algorithm",
|
|
688
|
-
"schema": "schemas/candidates-result.v1.json",
|
|
689
|
-
"reply": {
|
|
690
|
-
"package": "abelien-workspace",
|
|
691
|
-
"schema": "schemas/stored-result-reply.v1.json"
|
|
692
|
-
}
|
|
693
|
-
},
|
|
694
|
-
"skills": [
|
|
695
|
-
{
|
|
696
|
-
"package": "abelien-algorithm",
|
|
697
|
-
"path": "SKILL.md"
|
|
698
|
-
}
|
|
699
|
-
],
|
|
700
|
-
"builder": {
|
|
701
|
-
"package": "abelien-workspace",
|
|
702
|
-
"module": "scripts/creation-tasks.mjs",
|
|
703
|
-
"finalize": "algorithmProposedFinalize"
|
|
704
|
-
},
|
|
705
|
-
"goal": "需求明确后立即检索每个 reaction 可用的实现,与硬件选型同时进行",
|
|
706
|
-
"refs": {
|
|
707
|
-
"requirements": "input.requirements"
|
|
708
|
-
},
|
|
709
|
-
"actions": [
|
|
710
|
-
"algorithm.research",
|
|
711
|
-
"algorithm.candidates"
|
|
712
|
-
]
|
|
713
|
-
}
|
|
714
|
-
},
|
|
715
|
-
{
|
|
716
|
-
"id": "algorithm_bind",
|
|
717
|
-
"kind": "model",
|
|
718
|
-
"stage": "hardware",
|
|
719
|
-
"lane": "algorithm",
|
|
720
|
-
"required": false,
|
|
721
|
-
"target": [
|
|
722
|
-
"requirements"
|
|
723
|
-
],
|
|
724
|
-
"needs": [
|
|
725
|
-
{
|
|
726
|
-
"artifact": "algorithm_proposed",
|
|
727
|
-
"accept_quality": [
|
|
728
|
-
"ready"
|
|
729
|
-
]
|
|
730
|
-
},
|
|
731
|
-
{
|
|
732
|
-
"artifact": "hardware",
|
|
733
|
-
"accept_quality": [
|
|
734
|
-
"ready"
|
|
735
|
-
]
|
|
736
|
-
}
|
|
737
|
-
],
|
|
738
|
-
"waits_for": [],
|
|
739
|
-
"after": [],
|
|
740
|
-
"quality": "ready",
|
|
741
|
-
"produces": "algorithm_selection",
|
|
742
|
-
"instruction": {
|
|
743
|
-
"rules": "lane:algorithm.bind",
|
|
744
|
-
"goal": "硬件登记后,把每个 reaction 绑定到已选型号上的一个实现并复核兼容",
|
|
745
|
-
"directives": [
|
|
746
|
-
"硬件只认本运行冻结的选型修订:algorithm.research(purpose=hardware)与 algorithm.finalize 都原样传 work.fixed_input.hardware_revision_ref,可绑定的型号见 work.components;修订尚未落定(门未开或有未决事项)也照常绑定,结果会保持待确认。",
|
|
747
|
-
"先为主控等相关型号检索厂商官方资料:algorithm.research(purpose=hardware,查询带 work.components 里的 component_id),看 SDK、runtime、算子支持、内存与外设接口。",
|
|
748
|
-
"每个 reaction 恰好选一个已提议的候选(implementation_ref 照抄),绑定到具体 component_id;逐项核对 io、runtime、dependencies、network、license、resources 和每条硬约束,各写 pass/conflict/unknown、理由与来源。格式按 algorithm-bindings.v1 schema:sources 只写 research_id 与 page_id 指向的正文页(search_snippet 不算),url、访问时间与哈希由 Harness 回填;source_type 按发布方选(所选型号厂商 hardware_vendor、实现官方 implementation_official、模型卡 huggingface、云服务官方 cloud_vendor),分销商、博客不是一手来源。",
|
|
749
|
-
"带数量的检查不写 status,写 formula:候选 needs 写了数量时的 compatibility.resources,以及原文带数量的硬限制(不带 envelope 的)。formula 是比较式(unit 写 bool),操作数用 quote(source_id 写本检查 source_ids 里的来源 id,或 limit:<限制 id> 引用户原话;text 逐字引含该量的原文,引文里有几个量时给 index)或 choice(你的假设,写依据,例如 KB 按 1000 还是 1024);pass 或 conflict 由代码算。要先算清楚可以调 calc.evaluate,不要心算。与本绑定无关的硬限制写 not_applicable 并说明理由;带 envelope 的尺寸限制由硬件与结构检查,这里不写。",
|
|
750
|
-
"用 algorithm.finalize(operation=bind,proposed_id 为 work.fixed_input.proposed_id,requirements 原样传本运行的需求)提交;证据不足就如实写 unknowns/blocking_unknowns,结果保持 needs_confirmation,不编造通过。",
|
|
751
|
-
"只有换硬件(算力或接口变化)才重新绑定;需求的 reaction 或 limits 变化才重新研究。",
|
|
752
|
-
"最后只回 {\"id\": …}:本次 algorithm.finalize 成功结果的 id,不要抄写结果本身;运行时按这个 id 取存下的那份结果。"
|
|
753
|
-
]
|
|
754
|
-
},
|
|
755
|
-
"allowed_actions": [
|
|
756
|
-
"algorithm.research",
|
|
757
|
-
"algorithm.finalize",
|
|
758
|
-
"calc.evaluate"
|
|
759
|
-
],
|
|
760
|
-
"task": {
|
|
761
|
-
"output": {
|
|
762
|
-
"package": "abelien-algorithm",
|
|
763
|
-
"schema": "schemas/finalize-result.v1.json",
|
|
764
|
-
"reply": {
|
|
765
|
-
"package": "abelien-workspace",
|
|
766
|
-
"schema": "schemas/stored-result-reply.v1.json"
|
|
767
|
-
}
|
|
768
|
-
},
|
|
769
|
-
"skills": [
|
|
770
|
-
{
|
|
771
|
-
"package": "abelien-algorithm",
|
|
772
|
-
"path": "SKILL.md"
|
|
773
|
-
}
|
|
774
|
-
],
|
|
775
|
-
"builder": {
|
|
776
|
-
"package": "abelien-workspace",
|
|
777
|
-
"module": "scripts/creation-tasks.mjs",
|
|
778
|
-
"view": "algorithmBindView",
|
|
779
|
-
"finalize": "algorithmBoundFinalize"
|
|
780
|
-
},
|
|
781
|
-
"goal": "硬件登记后,把每个 reaction 绑定到已选型号上的一个实现并复核兼容",
|
|
782
|
-
"refs": {
|
|
783
|
-
"requirements": "input.requirements",
|
|
784
|
-
"algorithm_proposed": "needs.algorithm_proposed.data",
|
|
785
|
-
"hardware": {
|
|
786
|
-
"from": "needs.hardware.data",
|
|
787
|
-
"omit": [
|
|
788
|
-
"selectionRevisionData.candidates"
|
|
789
|
-
]
|
|
790
|
-
}
|
|
791
|
-
},
|
|
792
|
-
"actions": [
|
|
793
|
-
"algorithm.research",
|
|
794
|
-
"algorithm.finalize",
|
|
795
|
-
"calc.evaluate"
|
|
796
|
-
]
|
|
797
|
-
}
|
|
798
|
-
},
|
|
799
1165
|
{
|
|
800
1166
|
"id": "skeleton",
|
|
801
1167
|
"kind": "model",
|
|
@@ -825,6 +1191,13 @@
|
|
|
825
1191
|
"accept_quality": [
|
|
826
1192
|
"ready"
|
|
827
1193
|
]
|
|
1194
|
+
},
|
|
1195
|
+
{
|
|
1196
|
+
"artifact": "appearance_views",
|
|
1197
|
+
"accept_quality": [
|
|
1198
|
+
"ready",
|
|
1199
|
+
"degraded"
|
|
1200
|
+
]
|
|
828
1201
|
}
|
|
829
1202
|
],
|
|
830
1203
|
"waits_for": [],
|
|
@@ -860,6 +1233,35 @@
|
|
|
860
1233
|
"calc.evaluate"
|
|
861
1234
|
],
|
|
862
1235
|
"task": {
|
|
1236
|
+
"context_retention": {
|
|
1237
|
+
"schema": "abelien.node-context-retention.v1",
|
|
1238
|
+
"required": [
|
|
1239
|
+
"schema",
|
|
1240
|
+
"reply_to",
|
|
1241
|
+
"flow",
|
|
1242
|
+
"target_revision_ref",
|
|
1243
|
+
"attempt",
|
|
1244
|
+
"goal",
|
|
1245
|
+
"instruction",
|
|
1246
|
+
"refs",
|
|
1247
|
+
"skills",
|
|
1248
|
+
"actions",
|
|
1249
|
+
"output",
|
|
1250
|
+
"work",
|
|
1251
|
+
"reply_without_model",
|
|
1252
|
+
"correction",
|
|
1253
|
+
"attempts",
|
|
1254
|
+
"budget"
|
|
1255
|
+
],
|
|
1256
|
+
"history": {
|
|
1257
|
+
"reasoning": "summarize",
|
|
1258
|
+
"assistant_text": "exact",
|
|
1259
|
+
"tool_results": {
|
|
1260
|
+
"default": "exact",
|
|
1261
|
+
"by_action": {}
|
|
1262
|
+
}
|
|
1263
|
+
}
|
|
1264
|
+
},
|
|
863
1265
|
"output": {
|
|
864
1266
|
"package": "abelien-workspace",
|
|
865
1267
|
"schema": "schemas/skeleton-reply.v1.json",
|
|
@@ -917,7 +1319,8 @@
|
|
|
917
1319
|
]
|
|
918
1320
|
},
|
|
919
1321
|
"appearance_points": "needs.appearance_points.data",
|
|
920
|
-
"concept_image": "needs.concept_image.data"
|
|
1322
|
+
"concept_image": "needs.concept_image.data",
|
|
1323
|
+
"appearance_views": "needs.appearance_views.data"
|
|
921
1324
|
},
|
|
922
1325
|
"actions": [
|
|
923
1326
|
"structure.layout-request",
|
|
@@ -1049,6 +1452,35 @@
|
|
|
1049
1452
|
"question.card"
|
|
1050
1453
|
],
|
|
1051
1454
|
"task": {
|
|
1455
|
+
"context_retention": {
|
|
1456
|
+
"schema": "abelien.node-context-retention.v1",
|
|
1457
|
+
"required": [
|
|
1458
|
+
"schema",
|
|
1459
|
+
"reply_to",
|
|
1460
|
+
"flow",
|
|
1461
|
+
"target_revision_ref",
|
|
1462
|
+
"attempt",
|
|
1463
|
+
"goal",
|
|
1464
|
+
"instruction",
|
|
1465
|
+
"refs",
|
|
1466
|
+
"skills",
|
|
1467
|
+
"actions",
|
|
1468
|
+
"output",
|
|
1469
|
+
"work",
|
|
1470
|
+
"reply_without_model",
|
|
1471
|
+
"correction",
|
|
1472
|
+
"attempts",
|
|
1473
|
+
"budget"
|
|
1474
|
+
],
|
|
1475
|
+
"history": {
|
|
1476
|
+
"reasoning": "summarize",
|
|
1477
|
+
"assistant_text": "exact",
|
|
1478
|
+
"tool_results": {
|
|
1479
|
+
"default": "exact",
|
|
1480
|
+
"by_action": {}
|
|
1481
|
+
}
|
|
1482
|
+
}
|
|
1483
|
+
},
|
|
1052
1484
|
"output": {
|
|
1053
1485
|
"package": "abelien-workspace",
|
|
1054
1486
|
"schema": "schemas/host-success-reply.v1.json",
|
|
@@ -1151,6 +1583,35 @@
|
|
|
1151
1583
|
"calc.evaluate"
|
|
1152
1584
|
],
|
|
1153
1585
|
"task": {
|
|
1586
|
+
"context_retention": {
|
|
1587
|
+
"schema": "abelien.node-context-retention.v1",
|
|
1588
|
+
"required": [
|
|
1589
|
+
"schema",
|
|
1590
|
+
"reply_to",
|
|
1591
|
+
"flow",
|
|
1592
|
+
"target_revision_ref",
|
|
1593
|
+
"attempt",
|
|
1594
|
+
"goal",
|
|
1595
|
+
"instruction",
|
|
1596
|
+
"refs",
|
|
1597
|
+
"skills",
|
|
1598
|
+
"actions",
|
|
1599
|
+
"output",
|
|
1600
|
+
"work",
|
|
1601
|
+
"reply_without_model",
|
|
1602
|
+
"correction",
|
|
1603
|
+
"attempts",
|
|
1604
|
+
"budget"
|
|
1605
|
+
],
|
|
1606
|
+
"history": {
|
|
1607
|
+
"reasoning": "summarize",
|
|
1608
|
+
"assistant_text": "exact",
|
|
1609
|
+
"tool_results": {
|
|
1610
|
+
"default": "exact",
|
|
1611
|
+
"by_action": {}
|
|
1612
|
+
}
|
|
1613
|
+
}
|
|
1614
|
+
},
|
|
1154
1615
|
"output": {
|
|
1155
1616
|
"package": "abelien-workspace",
|
|
1156
1617
|
"schema": "schemas/skeleton-reply.v1.json",
|
|
@@ -1274,6 +1735,35 @@
|
|
|
1274
1735
|
"question.card"
|
|
1275
1736
|
],
|
|
1276
1737
|
"task": {
|
|
1738
|
+
"context_retention": {
|
|
1739
|
+
"schema": "abelien.node-context-retention.v1",
|
|
1740
|
+
"required": [
|
|
1741
|
+
"schema",
|
|
1742
|
+
"reply_to",
|
|
1743
|
+
"flow",
|
|
1744
|
+
"target_revision_ref",
|
|
1745
|
+
"attempt",
|
|
1746
|
+
"goal",
|
|
1747
|
+
"instruction",
|
|
1748
|
+
"refs",
|
|
1749
|
+
"skills",
|
|
1750
|
+
"actions",
|
|
1751
|
+
"output",
|
|
1752
|
+
"work",
|
|
1753
|
+
"reply_without_model",
|
|
1754
|
+
"correction",
|
|
1755
|
+
"attempts",
|
|
1756
|
+
"budget"
|
|
1757
|
+
],
|
|
1758
|
+
"history": {
|
|
1759
|
+
"reasoning": "summarize",
|
|
1760
|
+
"assistant_text": "exact",
|
|
1761
|
+
"tool_results": {
|
|
1762
|
+
"default": "exact",
|
|
1763
|
+
"by_action": {}
|
|
1764
|
+
}
|
|
1765
|
+
}
|
|
1766
|
+
},
|
|
1277
1767
|
"output": {
|
|
1278
1768
|
"package": "abelien-workspace",
|
|
1279
1769
|
"schema": "schemas/host-success-reply.v1.json",
|
|
@@ -1332,6 +1822,13 @@
|
|
|
1332
1822
|
"ready",
|
|
1333
1823
|
"degraded"
|
|
1334
1824
|
]
|
|
1825
|
+
},
|
|
1826
|
+
{
|
|
1827
|
+
"artifact": "appearance_views",
|
|
1828
|
+
"accept_quality": [
|
|
1829
|
+
"ready",
|
|
1830
|
+
"degraded"
|
|
1831
|
+
]
|
|
1335
1832
|
}
|
|
1336
1833
|
],
|
|
1337
1834
|
"waits_for": [
|
|
@@ -1355,6 +1852,35 @@
|
|
|
1355
1852
|
"studio.prepare"
|
|
1356
1853
|
],
|
|
1357
1854
|
"task": {
|
|
1855
|
+
"context_retention": {
|
|
1856
|
+
"schema": "abelien.node-context-retention.v1",
|
|
1857
|
+
"required": [
|
|
1858
|
+
"schema",
|
|
1859
|
+
"reply_to",
|
|
1860
|
+
"flow",
|
|
1861
|
+
"target_revision_ref",
|
|
1862
|
+
"attempt",
|
|
1863
|
+
"goal",
|
|
1864
|
+
"instruction",
|
|
1865
|
+
"refs",
|
|
1866
|
+
"skills",
|
|
1867
|
+
"actions",
|
|
1868
|
+
"output",
|
|
1869
|
+
"work",
|
|
1870
|
+
"reply_without_model",
|
|
1871
|
+
"correction",
|
|
1872
|
+
"attempts",
|
|
1873
|
+
"budget"
|
|
1874
|
+
],
|
|
1875
|
+
"history": {
|
|
1876
|
+
"reasoning": "summarize",
|
|
1877
|
+
"assistant_text": "exact",
|
|
1878
|
+
"tool_results": {
|
|
1879
|
+
"default": "exact",
|
|
1880
|
+
"by_action": {}
|
|
1881
|
+
}
|
|
1882
|
+
}
|
|
1883
|
+
},
|
|
1358
1884
|
"output": {
|
|
1359
1885
|
"package": "abelien-workspace",
|
|
1360
1886
|
"schema": "schemas/host-success-reply.v1.json",
|
|
@@ -1379,7 +1905,8 @@
|
|
|
1379
1905
|
"selectionRevisionData.candidates"
|
|
1380
1906
|
]
|
|
1381
1907
|
},
|
|
1382
|
-
"skeleton": "needs.skeleton.data"
|
|
1908
|
+
"skeleton": "needs.skeleton.data",
|
|
1909
|
+
"appearance_views": "needs.appearance_views.data"
|
|
1383
1910
|
},
|
|
1384
1911
|
"actions": [
|
|
1385
1912
|
"studio.prepare"
|
|
@@ -1503,6 +2030,13 @@
|
|
|
1503
2030
|
"ready",
|
|
1504
2031
|
"degraded"
|
|
1505
2032
|
]
|
|
2033
|
+
},
|
|
2034
|
+
{
|
|
2035
|
+
"artifact": "appearance_views",
|
|
2036
|
+
"accept_quality": [
|
|
2037
|
+
"ready",
|
|
2038
|
+
"degraded"
|
|
2039
|
+
]
|
|
1506
2040
|
}
|
|
1507
2041
|
],
|
|
1508
2042
|
"waits_for": [],
|
|
@@ -1547,6 +2081,35 @@
|
|
|
1547
2081
|
"calc.evaluate"
|
|
1548
2082
|
],
|
|
1549
2083
|
"task": {
|
|
2084
|
+
"context_retention": {
|
|
2085
|
+
"schema": "abelien.node-context-retention.v1",
|
|
2086
|
+
"required": [
|
|
2087
|
+
"schema",
|
|
2088
|
+
"reply_to",
|
|
2089
|
+
"flow",
|
|
2090
|
+
"target_revision_ref",
|
|
2091
|
+
"attempt",
|
|
2092
|
+
"goal",
|
|
2093
|
+
"instruction",
|
|
2094
|
+
"refs",
|
|
2095
|
+
"skills",
|
|
2096
|
+
"actions",
|
|
2097
|
+
"output",
|
|
2098
|
+
"work",
|
|
2099
|
+
"reply_without_model",
|
|
2100
|
+
"correction",
|
|
2101
|
+
"attempts",
|
|
2102
|
+
"budget"
|
|
2103
|
+
],
|
|
2104
|
+
"history": {
|
|
2105
|
+
"reasoning": "summarize",
|
|
2106
|
+
"assistant_text": "exact",
|
|
2107
|
+
"tool_results": {
|
|
2108
|
+
"default": "exact",
|
|
2109
|
+
"by_action": {}
|
|
2110
|
+
}
|
|
2111
|
+
}
|
|
2112
|
+
},
|
|
1550
2113
|
"output": {
|
|
1551
2114
|
"package": "abelien-workspace",
|
|
1552
2115
|
"schema": "schemas/skeleton-reply.v1.json",
|
|
@@ -1614,6 +2177,7 @@
|
|
|
1614
2177
|
"shape_lock"
|
|
1615
2178
|
]
|
|
1616
2179
|
},
|
|
2180
|
+
"appearance_views": "needs.appearance_views.data",
|
|
1617
2181
|
"failure": "failure"
|
|
1618
2182
|
},
|
|
1619
2183
|
"actions": [
|
|
@@ -1719,6 +2283,35 @@
|
|
|
1719
2283
|
"visual.review"
|
|
1720
2284
|
],
|
|
1721
2285
|
"task": {
|
|
2286
|
+
"context_retention": {
|
|
2287
|
+
"schema": "abelien.node-context-retention.v1",
|
|
2288
|
+
"required": [
|
|
2289
|
+
"schema",
|
|
2290
|
+
"reply_to",
|
|
2291
|
+
"flow",
|
|
2292
|
+
"target_revision_ref",
|
|
2293
|
+
"attempt",
|
|
2294
|
+
"goal",
|
|
2295
|
+
"instruction",
|
|
2296
|
+
"refs",
|
|
2297
|
+
"skills",
|
|
2298
|
+
"actions",
|
|
2299
|
+
"output",
|
|
2300
|
+
"work",
|
|
2301
|
+
"reply_without_model",
|
|
2302
|
+
"correction",
|
|
2303
|
+
"attempts",
|
|
2304
|
+
"budget"
|
|
2305
|
+
],
|
|
2306
|
+
"history": {
|
|
2307
|
+
"reasoning": "summarize",
|
|
2308
|
+
"assistant_text": "exact",
|
|
2309
|
+
"tool_results": {
|
|
2310
|
+
"default": "exact",
|
|
2311
|
+
"by_action": {}
|
|
2312
|
+
}
|
|
2313
|
+
}
|
|
2314
|
+
},
|
|
1722
2315
|
"output": {
|
|
1723
2316
|
"package": "abelien-workspace",
|
|
1724
2317
|
"schema": "schemas/host-success-reply.v1.json",
|
|
@@ -1795,6 +2388,35 @@
|
|
|
1795
2388
|
},
|
|
1796
2389
|
"allowed_actions": [],
|
|
1797
2390
|
"task": {
|
|
2391
|
+
"context_retention": {
|
|
2392
|
+
"schema": "abelien.node-context-retention.v1",
|
|
2393
|
+
"required": [
|
|
2394
|
+
"schema",
|
|
2395
|
+
"reply_to",
|
|
2396
|
+
"flow",
|
|
2397
|
+
"target_revision_ref",
|
|
2398
|
+
"attempt",
|
|
2399
|
+
"goal",
|
|
2400
|
+
"instruction",
|
|
2401
|
+
"refs",
|
|
2402
|
+
"skills",
|
|
2403
|
+
"actions",
|
|
2404
|
+
"output",
|
|
2405
|
+
"work",
|
|
2406
|
+
"reply_without_model",
|
|
2407
|
+
"correction",
|
|
2408
|
+
"attempts",
|
|
2409
|
+
"budget"
|
|
2410
|
+
],
|
|
2411
|
+
"history": {
|
|
2412
|
+
"reasoning": "summarize",
|
|
2413
|
+
"assistant_text": "exact",
|
|
2414
|
+
"tool_results": {
|
|
2415
|
+
"default": "exact",
|
|
2416
|
+
"by_action": {}
|
|
2417
|
+
}
|
|
2418
|
+
}
|
|
2419
|
+
},
|
|
1798
2420
|
"output": {
|
|
1799
2421
|
"package": "abelien-workspace",
|
|
1800
2422
|
"schema": "schemas/version-questions.v1.json",
|
|
@@ -1857,6 +2479,87 @@
|
|
|
1857
2479
|
"allowed_actions": [
|
|
1858
2480
|
"question.card"
|
|
1859
2481
|
]
|
|
2482
|
+
},
|
|
2483
|
+
{
|
|
2484
|
+
"id": "views_fallback",
|
|
2485
|
+
"kind": "model",
|
|
2486
|
+
"stage": "views_fallback",
|
|
2487
|
+
"lane": "main",
|
|
2488
|
+
"required": true,
|
|
2489
|
+
"target": [
|
|
2490
|
+
"requirements"
|
|
2491
|
+
],
|
|
2492
|
+
"needs": [
|
|
2493
|
+
{
|
|
2494
|
+
"artifact": "concept_image",
|
|
2495
|
+
"accept_quality": [
|
|
2496
|
+
"ready"
|
|
2497
|
+
]
|
|
2498
|
+
}
|
|
2499
|
+
],
|
|
2500
|
+
"waits_for": [
|
|
2501
|
+
"concept_gate"
|
|
2502
|
+
],
|
|
2503
|
+
"after": [],
|
|
2504
|
+
"quality": "degraded",
|
|
2505
|
+
"produces": "appearance_views",
|
|
2506
|
+
"produces_schema": "appearance.views.v1",
|
|
2507
|
+
"fallback_for": "appearance_views",
|
|
2508
|
+
"instruction": {
|
|
2509
|
+
"rules": "stage:views_fallback",
|
|
2510
|
+
"goal": "Use the confirmed original after definite views failure",
|
|
2511
|
+
"directives": [
|
|
2512
|
+
"Deterministic fallback; no model or provider request."
|
|
2513
|
+
]
|
|
2514
|
+
},
|
|
2515
|
+
"allowed_actions": [],
|
|
2516
|
+
"task": {
|
|
2517
|
+
"context_retention": {
|
|
2518
|
+
"schema": "abelien.node-context-retention.v1",
|
|
2519
|
+
"required": [
|
|
2520
|
+
"schema",
|
|
2521
|
+
"reply_to",
|
|
2522
|
+
"flow",
|
|
2523
|
+
"target_revision_ref",
|
|
2524
|
+
"attempt",
|
|
2525
|
+
"goal",
|
|
2526
|
+
"instruction",
|
|
2527
|
+
"refs",
|
|
2528
|
+
"skills",
|
|
2529
|
+
"actions",
|
|
2530
|
+
"output",
|
|
2531
|
+
"work",
|
|
2532
|
+
"reply_without_model",
|
|
2533
|
+
"correction",
|
|
2534
|
+
"attempts",
|
|
2535
|
+
"budget"
|
|
2536
|
+
],
|
|
2537
|
+
"history": {
|
|
2538
|
+
"reasoning": "summarize",
|
|
2539
|
+
"assistant_text": "exact",
|
|
2540
|
+
"tool_results": {
|
|
2541
|
+
"default": "exact",
|
|
2542
|
+
"by_action": {}
|
|
2543
|
+
}
|
|
2544
|
+
}
|
|
2545
|
+
},
|
|
2546
|
+
"output": {
|
|
2547
|
+
"package": "abelien-workspace",
|
|
2548
|
+
"schema": "schemas/appearance-views.v1.json"
|
|
2549
|
+
},
|
|
2550
|
+
"builder": {
|
|
2551
|
+
"package": "abelien-workspace",
|
|
2552
|
+
"module": "scripts/appearance-views.mjs",
|
|
2553
|
+
"view": "spatialViewsFallbackView",
|
|
2554
|
+
"finalize": "spatialViewsFallbackFinalize"
|
|
2555
|
+
},
|
|
2556
|
+
"goal": "Use the confirmed original after definite views failure",
|
|
2557
|
+
"refs": {
|
|
2558
|
+
"requirements": "input.requirements",
|
|
2559
|
+
"concept_image": "needs.concept_image.data"
|
|
2560
|
+
},
|
|
2561
|
+
"actions": []
|
|
2562
|
+
}
|
|
1860
2563
|
}
|
|
1861
2564
|
],
|
|
1862
2565
|
"result": {
|