Commit Graph

722 Commits

Author SHA1 Message Date
ThearchyHelios f375101c5e 补齐剖析任务的测试(设计文档 §7 后端那一串),顺手改掉几处过时的说明
新增 tests/test_catalog_profile_jobs.py,用很小的 SQLite 夹具和假的查询层让超时、失败、停在哪一条都可控:
- 同源排队:起草在跑时剖析建成 queued、waiting_for = draft,起草结束后自动开始;剖析在跑时建起草任务不 409、排在后面(waiting_for = profile),同种任务照旧 409;停掉排队中的剖析任务(在队里等着的一起停掉,检查项不留「排队」);导入目录、同步起草在剖析时 409 profile_busy;同步起草、导入期间建的剖析任务排在它后面,导入期间再导入一次 409
- 停止:停在 visits 的码值上,做完的 4 项照常写进目录、没做的记 cancelled 且目录不动,后面的表 cancelled,正在等的那条查询留痕写明没等结果;已结束的再停 409 catalog_profile_finished
- 关停标中断、启动标中断不续跑(进行中那张表的检查项转成跳过);重试只带没做完的表、设置取当前的,没有可重试的 422,正忙 409
- 任务级止损:连续 3 条失败(error 带驱动报错第一行)、最近 10 条 7 条超时(停下、后面的表带同一句原因);提醒在好转后清掉,成功一条重置连续失败数
- 每张表开始前重读数据源:停用、关掉剖析就停;遮罩按最新的设置
- 范围:全部 / 需要剖析 / 指定(视图、表结构里没有、没有可剖析的项建成 skipped),有待核实关系的在前;profile_due 的 never / unfinished / new_relations;挑不出表 409 profile_nothing;超 500 张 422;空表一条查询记 skipped
- 留痕:IN 列表里抽到的键值(文字键)不出现在库里的 query_log;表清单、表详情带上次剖析
- 设置迁移:启动时删掉旧键,老页面带旧键保存只摘掉;保留:超过保留数删旧的,不删某张表最近一次剖析所在的任务,建任务时顺手清

剖析停在一张表中途时,那张表的 error 改说「已做完的 N 项照常写进了数据目录」;engine.py、catalog_transfer.py、catalog_jobs.py 里还写着查询次数上限、只看起草任务的几处说明跟上。
2026-10-15 18:40:19 +08:00
ThearchyHelios 6b3c737fb8 数据剖析改成逐表的后台任务:引擎改编排、剖析任务、接口、设置换新键
以前剖析是一次同步长请求,预算按整次算(max_queries 60、max_total_s 120),选 50 张表只做得完前两三张,其余整张记「查询次数用完」;不能停,关掉页面报告就没了,对业务库查了什么无从查。

- data/catalog_profile.py:检查逻辑和 _apply 并入规则原样保留,只换编排。公开的逐表入口 profile_table:先列全检查项(plan_checks,纯函数,范围的 profile_checks、建任务时列的检查项、执行用同一份;遮罩、多列、不在表结构里、指向视图的关系在这里就列成按规则跳过),第一条查询估行数(确知空表整张表跳过),逐项执行、进度回调,整张表结束写目录并和回调在同一次库操作里;停止时做完的项照常写、没做的记 cancelled 保留旧结论。_Runner 拆成整个任务一个的 SourceRunner(只读守卫、单条时限、任务级止损:连续 3 条失败、最近 10 条 7 条超时;最近 6 条 4 条超时提醒;每条查询留痕,SQL 经 normalize_sql 去掉字面量)和每张表一个的 TableBudget(用完只停这张表)。删掉同步的 profile_catalog、挑表前批量估行数(_skip_empty、PROFILE_DEFAULT_TABLES、PROFILE_PROBE_TABLES)和进程内 _RUNNING。设置换成 table_max_queries(1–200,缺省 40)、table_max_s(10–600,缺省 60),旧键 max_queries、max_total_s 启动时从库里删掉(migrate_settings,不折算:旧值按整次算,含义不同),保存时只摘掉不报错(without_legacy)。表助手的 run_query 和起草时核对有效记录条件改走单条查询入口 run_single_query,行为不变。
- data/catalog_profile_jobs.py:剖析任务的建(selected / needed / all 三种范围,排序同前:有待核实关系的在前、使用次数、表结构顺序;挑出 0 张 ProfileNothing)、排队(和同源起草按建立先后串行,waiting_for)、执行(每张表开始前重读数据源:停用或关掉剖析就停下;遮罩按最新设置)、停止、重试、启动标中断不续跑、保留最近 50 个结束的任务(某张表最近一次剖析所在的不删)、last_profile / profile_due 的查询、任务和逐表的接口形状。
- api/catalog.py:加 /profile-jobs(建、active、latest、{job_id}、tasks/{seq}、cancel、retry),登记在 /{table} 前面;删掉 POST /catalog/profile;清单每行加 last_profile、profile_due、profile_due_reason、profile_checks,顶层加 active_profile_job;单表加 last_profile;导入目录、同步起草遇到剖析任务 409 profile_busy。api/coded.py 加 profile_nothing、catalog_profile_finished;api/datasources.py 保存时摘掉旧键;main.py 启动时标中断加设置迁移,关停时停掉进行中的剖析。
- 测试:test_catalog_profile.py、test_catalog_profile_units.py、test_catalog_semantics.py 里打同步接口和旧设置键的改走任务和新键,检查逻辑的断言保留;同步接口的整次总量上限一条改成逐表次数、逐表时长两条。
2026-10-15 18:30:48 +08:00
ThearchyHelios 1e58862bf0 抽出数据目录后台任务的共用运行时,起草任务改用它:为剖析改成逐表的后台任务做准备
data/catalog_job_runtime.py 从 catalog_jobs.py 抽出进程内任务的执行与停止(JobManager:start / stop(grace) / wait / running / shutdown;JobRun 把进队、等轮到自己、执行、按停止原因收尾、出队写一次)、同一任务的库写入一条一条来并 shield(SerialWriter)、启动时标中断(interrupt_on_startup、close_job)、状态词常量,以及每个源一条先来先到的队(SourceLanes:任务阻塞地占,同步写操作不阻塞地试占)。剖析和起草是同一类问题(关页面就没了、不能停、不留痕),生命周期各写一份迟早一边修了另一边没修;共用的是生命周期代码,表各建各的。

起草的行为不变(test_catalog_draft_jobs.py 一条不改全过),只是:ensure_idle 拆成「同种任务互斥」(ensure_draft_free,建起草任务、重试用,剖析任务不挡起草,起草任务排在它后面)和「同步写操作要求源空闲」(ensure_idle,同步起草、导入用,剖析任务也算);同步起草、导入目录执行期间占着这个源的队,期间新建的任务排在后面;任务和清单顶上的进度带 waiting_for(起草排在剖析后面时为 profile);排队中被停止的任务连同在队里等着的后台执行一起停掉、出队。

db/models.py 加 CatalogProfileJob、CatalogProfileTask 两张表(create_all 建,同源排队或进行中的部分唯一索引照起草的写法);catalog_profile_jobs.py 先放剖析任务的忙碌判定,下一步补全。
2026-10-15 18:10:50 +08:00
ThearchyHelios 96934ce7ef 合入普通用户建应用:说需求 → 蓝图(白话卡片,每项带来源和状态,bp_* 操作逐卡白名单,授权和派活给谁只由人定)→ 场景模板填关节(周期看板、审批、异常处理、填报登记、核对写回五个模板加自由形,骨架锁住,助手只填取数 SQL 和指标式,各组并行)→ 用真数试运行(探索运行,草稿应用按这次运行预览,流程类的待办派给试运行的人自己)→ 搭建者一次确认的发布单(九步,预检只读,问题按你来定 / 助手可以修 / 要找管理员分栏,停下可接着做),使用者存成个人应用(只自己可见,遮罩、只读,可提交搭建者审核);平台托管的记录表(只追加,按高水位固定数据,行级可见,表单不兼容地改出新一版,跨版本汇总)与文件(按哈希存,两步上传,提交时绑定运行,按读权限下载);应用页面上直接改(改文字、隐藏、挪动、删除、加数据卡片,自动存草稿)。试用后的修正:「看哪些数」对到的数据源和表必须存在;平台能力的治理默认在没人治理过时一直生效;发布摘要分清挡不挡发布;按需求挑选放宽输出额度、照实分开截断和格式不对;卡片「确认全部」,「改」改成「修改」;取数 SQL 不把数据源名写成库名,最近一次试运行失败的蓝图不能发布;写回卡片加「结果不明时谁去核实」。验收:后端全量测试;蓝图、应用页浏览器检查 2026-10-15 17:36:44 +08:00
ThearchyHelios d2b398563b 写回卡片加「结果不明时谁去核实」:写回的目标能力没登记查询时,结果不明(请求发出去了、没拿到答复)平台查不了、也不自动重发,要有人去目标系统里核实;以前发布单报「写入结果不明时没人核实」「有一步还没指定谁来做」却在卡片上找不到地方改。
- 蓝图格式:写回卡片多一项 reconciler(一组人或组),旧蓝图没有这一项照旧可读;只收用户的操作(同「谁能看」),助手整张换写回卡片时留着用户选好的人
- 是否需要(templates/_common.needs_reconciler,和应用骨架加核实岗位同一个判断):模板用到写回卡片、选了目标能力、能力没登记查询;交给前端的蓝图带 reconciler_needed,界面不自己判
- 蓝图检查 bp.reconciler_unbound:试运行只提醒(待办派给试运行的人自己),发布挡住;发布单上应用检查说同一件事的 app.reconciler_unbound 和核实岗位的 app.slot_unbound 不再重复列
- 岗位绑定:选了的人绑到应用的核实岗位;能力补登了查询就不再要、也不再绑,卡片上留着的人照样摆出来、写明用不上
- 卡片:需要时摆这一项,标「缺」、写明为什么要人核实,选人控件只能选人或组;「缺」只挡发布;蓝图助手的提示词写明这一项由用户定
- 示例蓝图(核对写回)补上核实人,审批、核对写回的卡片说明写上这一项;测试和检查脚本跟上
2026-10-15 17:31:20 +08:00
ThearchyHelios 7fc3488b55 取数 SQL 不再把数据源名写成库名,试运行失败的蓝图不能发布:填关节的说明以前把表写成「数据源名.表名」,模型照抄进 SQL,数据库把数据源名当成库名(MySQL 报 Unknown database),应用每次出数都失败;说明改成只写数据源里的表名,并写明不要加数据源名。助手自查加 sql_source_prefix:表名前面写了数据源名就交回模型改(认列的检查找表时去掉前缀,拦不住它;数据源名恰好是库名、schema 的不报)。发布单遇到最近一次试运行失败改为挡住(plan.trial_failed,带出错的那一句),不再只是「还没有成功的试运行」的提醒 2026-10-15 17:31:20 +08:00
ThearchyHelios 1e707c43c5 蓝图卡片加「确认全部」:一张卡片上待确认、有值的项不止一项时,卡头摆「确认全部(N)」,一次修改带上这几项的状态(只改状态、来源不变,服务端整批落或整批不落),不用再一项一项点;只有一项的用它自己的「确认」。按钮「改」改成「修改」,页面编辑的「改文字」改成「修改文字」;检查脚本跟上 2026-10-15 15:03:43 +08:00
ThearchyHelios fcbf711941 按需求挑选不再总是「没挑出来,已把表目录交给助手」:挑选以为能关掉思考、只给 1024 的输出额度,可经 OpenAI 兼容接入的推理模型(DeepSeek、GLM、Kimi 这一类)收不到 thinking=off,想完就没额度写结果,回复是空的或 JSON 只写了一半,又被报成「不是约定的格式」。额度改成和证据裁判、核查同一档 16384,服务方嫌大时退回 4096(按接入和模型记在进程里、互相认),时限 20 秒放宽到 45 秒;结构化输出带原始回复,正文、工具调用参数里的 JSON 也认,<think> 里的草稿不算,正文里顺手写的 [1] 不算空结果;没成的原因照实分开说:被截断(带额度)、回复是空的、写了字却不是约定的格式,认不出的回复开头记进日志 2026-10-15 14:59:40 +08:00
ThearchyHelios f0b66c2551 发布单的问题照实分清挡不挡发布:平台能力的治理默认在没人治理过时一直生效(在默认写好之前登记的 records_append 会停在「不许无人值守、没有查询能力」,填报登记出发布单时报写入不经确认、结果不明没人核实、要找管理员登记查询能力;管理员改过的同步不动);发布摘要的三栏只列挡发布的问题,只是提醒的(视图要等第一次正式运行才有数之类)另列「提醒(不挡发布)」;确认按钮「每周一 09:00 自动出数」补上空格;检查脚本和测试跟上 2026-10-15 14:44:26 +08:00
ThearchyHelios be845bb823 蓝图「看哪些数」对到的数据源和表要真的存在:卡片上照实说是哪一项、怎么改(bp.data_source_unknown / bp.data_table_unknown,带白话),挡住试运行和发布单,助手自查也拿得到;填报登记里本应用的记录表写 @records、表名固定,提示词和模板说明写明这个约定;「对到的表」改成从已接入的数据源和表里选,填报登记多一项「本应用的记录表」,卡片上照白话显示(以前要到试运行才报「绑定的工具不存在」,用户找不到在哪改) 2026-10-15 14:32:25 +08:00
ThearchyHelios 7739340607 普通用户建应用集成收尾:
- 问数据和个人应用的图放行绑定只读查询等合规工具的调用工具节点,只读和遮罩在这条路径上生效;被治理成写入的工具在只读运行里直接拒;知识库范围在工具层固定(图级默认值、参数名纠错、Agent 都改不了)
- 个人应用的刷新和个人蓝图的试运行只有拥有者能读:运行、事件、证据、工件、文件、运行与审批列表、对比、可验证报告、质询、假设分析、提取工作流一并收紧;个人蓝图的试运行不论谁发起都按个人应用约束
- 共享蓝图只给拥有者、对应应用的管理者、管理员,看不到的一律 404;审核副本归审核人;管理员看别人的个人应用只有元数据、可以归档
- 记录表跨版本汇总(只读挂载旧版本、按当前列 UNION ALL、各版本各自固定高水位,缺的版本照实写进印章);停用前发起的运行可以继续写旧版本;更正沿用原提交人、更正人记审计
- 约定收口:待办种类 review、事件 file.extracted、表单错误 file、模板定义带示例与预置;前端类型一次补齐、去掉临时的局部类型;审核待办卡不再给打不开的链接;读附件事件有中文说法;检查脚本补断言
2026-10-15 13:55:19 +08:00
ThearchyHelios a702a5c14b 普通用户建应用(前端):新建应用的三个起点(说需求、场景模板、从已有的开始);蓝图页(对话加卡片、反问选项、关节逐组进度、试运行、发布摘要按你来定 / 助手可以修 / 要找管理员分栏、逐步打勾、接着做);问数据「做成应用」改走蓝图;问数据和画布的反问收尾;页面上直接改(选中、改字、隐藏、挪动、删除、加数据卡片、自动存草稿);文件控件;我的记录列表;个人应用的界面(我的应用、刷新与剩余次数、提交审核、审核待办卡);设置页的个人应用开关;四个新检查脚本并加进完整关口 2026-10-15 12:09:29 +08:00
ThearchyHelios 277982ead3 普通用户建应用(后端):
- 蓝图:bp_* 操作和逐卡白名单、蓝图检查、留痕、按蓝图判权限;五个场景模板加自由形(骨架、关节、应用骨架、定时任务),实例化与骨架比对;BlueprintApplier / TemplateApplier(只收模板声明过的关节)与自查;look 新类别口径卡;蓝图对话和填关节两个流式接口,不同组的关节并行填、出错的组串行重试;模板列表
- 试运行与发布单:四种起点(对话、模板、问数据的一轮、已发布版本);试运行是探索运行,草稿应用按这次运行解析、印章写试运行,流程类派给自己、不触发升级;发布单九步、预检只读、每步留痕、停下后接着做、核对卡片指纹和应用管理权、启动时整理中断的单;白话层覆盖全部问题编号
- 记录表与文件:平台托管只追加的记录表、按高水位固定数据、连接上的临时视图做行级可见、写入走动作(records_append)、表版本在发布时切换、草稿不影响线上、记录列表遮敏感列;文件按哈希存、两步上传、提交时绑定运行、下载按读权限、清理、file_text、按配方导入一期(table_import_period)
- 个人应用:存成个人应用(问数据的约束)、刷新(遮罩、只读、每日上限)、只有拥有者看得见、提交审核与共享副本、开关下发到认人接口;页面编辑的候选;隐藏组件不下发;三条新检查
2026-10-15 12:09:29 +08:00
ThearchyHelios 7088f4557e 普通用户建应用的契约骨架(docs/design/normal-user-apps.md 第五部分):蓝图、蓝图留痕、发布单、文件、记录表的模型和迁移,应用的 scope / owner / blueprint_id;运行来源加 trial、personal_app;应用描述的固定版本可以没有版本号(试运行派生的草稿)或改钉蓝图(个人应用),视图来源加 exploratory,组件加 hidden,表单加文件控件;agentlab.blueprint/1 与 bp_* 操作、agentlab.template/1 与关节类型的定义;实例化、试运行、发布单、个人应用、记录表、文件、白话层的接口签名;蓝图、模板、文件、个人应用、蓝图助手的路由桩(501);前端约定 typesBlueprint.ts、接口桩、新建应用与蓝图页的占位路由、termsBlueprint.ts 2026-10-15 09:49:45 +08:00
ThearchyHelios 69c5c74806 合入应用平台与助手按需查看:已发布工作流版本的使用面——应用(入口、视图、实例、待办、动作)钉住已发布且未退役的版本,可信组件目录 + 服务端解析(界面层不放逻辑、文字里的数要有出处),视图只读封存运行(最近封存、按需、本实例)并盖印章;流程 = 正式运行 + 待办(会签 any / all / quorum、时限与升级、永不自动批准、入站签名钩子);对外写入只经调用工具节点,生效记录带幂等键、按引用确认、结果未知自动核实不重发、探索运行走测试环境或演练;能力登记与端点(测试 / 生产、内网只给登记的端点、服务凭据 + 身份断言);身份 off / local / oidc,角色 admin ⊇ builder ⊇ user 与应用授权;确定性派生 + 助手润色;口径升版的被迫处置与按新口径补算;指标出具(纯指标看板按指标判档);助手按需查看(look:表、能力、工作流版本三类对象,点名查不到时按需求挑);修四个和不可回退决定冲突的旧缺陷(正式运行只认当前发布版、带图接着跑改写正式运行、口径升版把草稿算进去、删除工作流级联删版本)。验收:后端全量测试、check-all 33 项、check-auth、真实模型 V4、真浏览器端到端 V1–V3 与复测 2026-10-15 08:42:09 +08:00
ThearchyHelios e182c2d214 复测收尾:账号密码登录时应用检查和授权接口核对名录(没有的、已停用的报错或拒收,单点登录只提醒),名录口径收成 auth/directory 一处;受管发布版在页头、版本历史、选择器、发布前检查里按发布级别写,草稿和发布版内容相同时照实说;写入能力在工具库写「只演练」;印章的「截至」只写一次;走驳回出口到达的结局不用成功样式;停着等人时说在等哪一步,同页已有会签进度时待办状态不再画一遍,名单写显示名;应用编辑器可以归档(写清后果),已归档的应用拒收草稿修改和发布;受管发布成功的提示写明受管;权限测试按 id 取应用,不撞别的测试留下的同名应用 2026-10-15 08:35:28 +08:00
ThearchyHelios 77cd95901a 完整关口收尾:端点认证头重名只标后加的那一行(原有的那行本身没错);check-apps 实例状态只认状态标签本身(标签里嵌着带 data-status 的图标);check-app-editor 选人输入框挂了候选列表,角色是 combobox,按输入框定位 2026-10-15 07:27:57 +08:00
ThearchyHelios 941723b17c 端到端验收修复与指标出具:
- 身份与工具:登录页建第一个管理员(认人接口的 401 说明能不能建);搭建者有只读的人和组名录,选人给候选并核对名字;授权三行带标题;端点请求头名校验(空名、非法名存不进、发不出时说清原因);写入能力在工具页试运行一律演练、不发送,HTTP 状态照实说成败;写记忆不算只读、查询能力只能选同一端点上的只读能力;审批与遮罩的说法和实际规则一致;开登录时不要署名、导入和发布记登录的人;使用者不显示推演等只给搭建者的操作,403 按是否开登录说话;登录页只认一次人
- 流程与实例:图里用到的岗位(派给谁、超时升级给谁、发送确认派给谁)全部派生、没绑人的发布时报错;写外部系统的参数按能力声明的类型收拢后再算哈希和发送,收不成就不发;发起人的实例页只看这一步的状态,处理人才给待办卡;会签进度带登录核实和时间,升级后照实写规则;实例状态写流程的结论(已退回、未确认、等待核实写入结果),核实生效后不再挂失败原因;流程应用首页不派生最近封存运行的结果块,看板没数据时是安静的空态;样例⑩的金额带类型和下限、待办标题带金额,表单上下限前后端一起生效
- 看板与证据:定时任务模板加 ISO 周、上一 ISO 周、本月、上月;出处链穿过原样解析查询结果的整形节点,追不到原始数据的照实说停在哪里,样例⑨改用 cell();应用首页和版本历史都能做成应用;指标块单位不重复;版本列表带退役说明;定时任务页头跟着刷新;删视图要确认、新视图能起名;编辑器属性用中文名、术语带解释
- 指标出具(用户 2026-10-15 拍板):契约只写「指标来自」、上游没有报告撰写节点、成果里没有模型写的话时按指标出具——必需指标齐、指标输入追到原始数据、成果字段里的数回指得上才完整出具;受管级要求每个指标静态地追到原始数据(governed.metric_untraced);出具横幅和应用印章写明按指标
- 受管工作流降为已发布只给管理员(Q8 顺延,服务端同样拦);工作流接口带当前发布版的级别,画布上改过之后也认得出受管工作流
2026-10-15 07:15:37 +08:00
ThearchyHelios 5d42ffb62b check-auth:会话过期时认人接口也回 401(同服务端,不然登录页认得出人又送回原处、来回跳);过期后点页签只为触发取数,外壳心跳先收到 401 已经跳走时点不到不算错,核对的是跳到了登录页并带上原处 2026-10-15 00:07:51 +08:00
ThearchyHelios bb85fbc3ce 应用检查:静态文字里的数和固定版本里节点配置写着的数(审批金额线、时限、会签人数这类流程规则)对得上算有出处,对不上的列出是哪几个数、说明数据要绑定、规则要先写进工作流;应用润色助手的提示词同步:规则在固定的版本里没有就不照写,在说明里告诉用户(真实模型验收发现) 2026-10-14 23:58:12 +08:00
ThearchyHelios e2841cb027 助手按需查看:点名的一个都没认出来时(常见的是拿数据源说明里的中文词当表名),同一次查看按需求在那几个来源里挑,不让模型为拿真名再看一次,没认出来的照样写「没找到」;候选库一张表都没探查到时不再说「按需求没挑出来」,照实说尚未探查结构、不交空目录,查看算没完成;点名不在这一轮的数据源不补空目录(真实模型验收发现) 2026-10-14 23:58:12 +08:00
ThearchyHelios c6a29bfd7c 前端:审批卡按审批当场拼出待办(不再为一张卡取一次待办,收到中断就出卡;有 task_id 走待办接口,没有走老的审批接口);矮窗口导航两档高度不再叠加,480px 放得下九项;待办数随目录启动时就取、外壳订阅时当场记底,派给自己的新待办通知不再漏;头一回取目录的卡住从启动算起;外壳横向裁掉悬停提示的占位;证据抽屉同一指标在取时不另发请求;编辑器去掉第二个 main、检查一次只跑一遍;记录页对不上待办的审批照旧画审批卡,待办行写 runName 和节点名;检查脚本按新页面更新断言(沙箱没有待办时用合成的两条、未保存与已删除工作流分开认、生效记录页签、能力子页签) 2026-10-14 23:57:43 +08:00
ThearchyHelios 49f6f42df2 测试:设置被整体拒收的两条断言改为比较请求前后的主题,不再假定同一测试进程里别的测试没改过它(并行全量时按顺序偶发失败) 2026-10-14 22:17:00 +08:00
ThearchyHelios c86e58f464 README 与部署说明:应用(怎么生成、能做哪几类、视图与印章、流程与待办、写外部系统、入站钩子、按新口径补算、升级安全)、身份与权限(三种登录方式、会话、找回、角色与授权、使用者的问数据、遮罩的边界)、能力登记与端点、助手按需查看;默认不开登录的说法、核心能力表、数据目录与遮罩、节点类型、安全边界、检查项(33 项另加 check-auth)、从旧版本升级;部署配置模板加登录一节 2026-10-14 22:12:01 +08:00
ThearchyHelios bff3062a97 集成收尾:前端约定写入后端实际返回的形状(应用详情只对 manage 给草稿、补算计划与结果、按名字的钩子行、能力字段审阅),去掉多种字段名都认的兼容解析;钩子按(应用, 名字)、应用助手对话按(应用, 建立人)加唯一索引,迁移前去重,插入改在保存点里、撞上就改用已有的那一行;口径卡固定的版本也须已发布且未退役,记级别之前有正式运行凭据的老版本启动时补记为已发布;证据面板和应用视图按列名遮端点快照(同一个函数),不再整张表遮掉;待办计数带上最新一条的时间,新待办通知不再漏;非管理员的搭建者不出模型接入的改动按钮 2026-10-14 22:08:33 +08:00
ThearchyHelios 1dd4f93579 应用平台集成(前端):钩子按名字管理并只显示一次密钥、按新口径补算、应用助手对话历史、设置页按角色收起与身份设置补管理员用户名、按需视图每日上限、界面偏好按角色只存本地、使用者问数据用数据源名单并在运行流连不上时改轮询、能力字段待审阅、记录页按来源筛选与待办 id、编辑器的入口 / 表单 / 待办外观 JSON 分区、画布 ?publish=1、工具页绑定端点与 MCP 认证头掩码编辑、派给自己的新待办系统通知、样例与检查脚本改走待办接口(含统一复核后的修复) 2026-10-14 21:55:51 +08:00
ThearchyHelios d67349562a 应用平台集成(后端应用与流程):身份断言 sub 为发起人、确认人进 act;应用助手对话(取或建、带历史)与助手润色只能改呈现;按新口径补算(只对无副作用的视图、加锁、同一输入只补一次);钩子按名字关联、入站按发布版声明认;应用详情只对 manage 给草稿与岗位绑定;删工作流的阻挡算上已退役版本;待办恢复失败退回待处理;调用工具节点作证核对快照归属;子图固定版本须已发布且未退役(发起与发布检查都查);视图里端点快照按能力的遮罩字段遮(含统一复核后的修复) 2026-10-14 21:55:51 +08:00
ThearchyHelios acb9ae1774 应用平台集成(后端访问面):开登录后使用者的问数据只能是探索运行、节点与工具白名单、查询结果在工具边界遮罩且数据源强制只读、记忆与知识库范围不能自选,运行流按运行判读权限;对话按建立人隔离(应用助手对话要 manage);能力字段语义的审阅队列与批量审阅;按需视图每日上限登记为设置项;通用设置接口不再读写登录设置;运行带来源、按来源筛选,审批带待办 id(含统一复核后的修复) 2026-10-14 21:55:51 +08:00
ThearchyHelios 04ffce252a 集成:冻结文件按各包请求一次补齐——对话表加建立人(开登录后按人隔离对话)及迁移和索引,钩子回执、投递记录的状态注释;前端约定补待办的节点名与运行类别、生效记录的幂等键等字段、发布结果的级别与哈希、视图来源的种类、各组件数据形状的说明、钩子、助手的澄清问题与应用润色的请求和结束事件 2026-10-14 20:06:27 +08:00
ThearchyHelios e341beb1cb 应用平台 FE-6 搭建面:应用编辑器(固定版本、派生、页面树与属性面板、预览、检查、发布时选处置、岗位与授权、钩子、通知、助手面板),人工节点新字段与写入动作说明,发布弹窗与版本页的退役和使用情况,记录页的来源、待办与动作事件、生效记录,发起表单换成表单渲染器并带来源,问数据「做成应用」,look 的界面与 meta.looks,工具页的能力与端点,设置页的身份、通知、审计;检查脚本的更新与新增(含统一复核后的修复) 2026-10-14 20:05:23 +08:00
ThearchyHelios 22021e76c3 应用平台 FE-5 使用面:表单渲染器与子集校验、待办卡(会签进度、动作确认哈希卡、核实选项)、视图渲染与组件目录 v1 的渲染器(印章、指标点开出处、趋势与图表、表格、报告)、应用首页 / 应用页 / 发起 / 实例 / 待办 / 登录页、导航加「应用」与徽标按来源分开、按角色收起导航、401 跳登录与请求头;新检查脚本 check-apps、check-inbox、check-auth(含统一复核后的修复) 2026-10-14 20:05:23 +08:00
ThearchyHelios 0f32b8335e 应用平台 BE-4 助手:按需查看(默认只给数据源概览、look 行停下执行接着写、一次拿齐、每轮 3+1 次、系统代为查看、查看记录进历史),生成过程可插拔(Applier / Checker 注入、ask 结束本轮),查看对象按类型标记并实现表 / 能力 / 工作流版本三种(表详情与 db_schema__、/schema 共用并按遮罩规矩),应用润色接口 /copilot/app-stream,从运行提取模板记来源,演示模型走一次查看(含统一复核后的修复) 2026-10-14 20:05:23 +08:00
ThearchyHelios acdc9677a8 应用平台 BE-2 流程:待办服务(派给谁、any/all/quorum 汇总、条件 UPDATE 抢恢复、提醒升级超时驳回、审批接口改为垫片、存量补建),人工节点新配置与校验,写外部系统的动作流程(生效记录先写后发、确认卡哈希、结果未知挂起与核实、永不自动重发),重放豁免与升级安全测试,正式运行不许带图接着跑、接着跑不覆盖发起人(F2),运行来源,通知发送核心与渠道,入站签名钩子,process.* 检查,报销审批模板,假外部系统(含统一复核后的修复) 2026-10-14 20:05:23 +08:00
ThearchyHelios 00bd51b9a5 应用平台 BE-3 应用:「已发布且未退役」的唯一判定与版本退役,正式运行接受固定的已发布版本并核对 expect_hash(F1),口径升版只看已发布版本(F3),有应用固定或生效记录时拒绝删除工作流(F4);表达式的根名字与禁止算术参数,表单子集校验与输入节点字段转换,应用对象、发布、版本、授权、页面解析与视图模型(三种来源、缓存、印章、证据指针、遮罩)、入口发起实例、应用操作、app.* 检查、确定性派生、账本只读接口、指标证据链接口(含统一复核后的修复) 2026-10-14 20:05:23 +08:00
ThearchyHelios 5dba66c2b6 应用平台 BE-1 治理底座:身份三种模式(off 默认 / local / oidc)、会话与 CSRF、中间件写入身份、角色与组与审计、按权限矩阵挂路由级依赖、运行与工件的读权限和 user 角色遮罩、reset-admin 找回;能力登记(同步、治理与乐观锁、发起快照、发布版本、作证判定)、登记的端点与平台执行器(分环境、演练、幂等头、身份断言、端点快照作证)、密钥加密与掩码、MCP 的 SSRF 与认证头、写入能力只进调用工具节点、正式运行里只读免审批的能力直接执行、四条 action.* 发布检查(含统一复核后的修复) 2026-10-14 20:05:23 +08:00
ThearchyHelios c38c0043a4 契约骨架补充:运行路径上的能力登记函数给出和今天一致的默认实现(并行开发互不卡住),build_tools 加 allow_write 参数;前端补 ViewRenderer、PrincipalPicker 的接口桩和按草稿预览的参数 2026-10-14 17:56:54 +08:00
ThearchyHelios 8f64853bf6 契约骨架补充:launch_run 和 run_manager.start 接收运行来源(origin_kind、origin、app_id、app_version)和 expect_hash,来源记在运行上、run.origin 事件放进发起时的 notes(在封存范围内) 2026-10-14 17:54:58 +08:00
ThearchyHelios 220fd0e365 应用平台契约骨架:新表(身份、能力与端点、应用、待办与生效记录、通知)与迁移(补列、多列索引),运行来源与新事件类型,「人」的唯一入口 api/deps.py(关登录时行为不变),应用描述与表单的形状、受信组件目录 v1,各包跨包函数的签名桩,新路由登记,发布门禁的扩展钩子 EXTRA_LINTS;前端接口约定 typesApp.ts、各接口文件、SchemaForm / TaskCard 的 props 与最简实现、应用相关路由与占位页 2026-10-14 17:53:40 +08:00
ThearchyHelios fc002bd3b3 README:检查数改成 29 项并在分类里列上 catalog-loop;功能概览的数据目录一行补上表助手、审阅队列、导出导入;对话里纠正一行写明理由记为这一项的「确认时的依据」 2026-10-14 16:26:59 +08:00
ThearchyHelios 6dbe4ade17 合入数据目录闭环第一步:表助手(表详情页对话完善一张表,成批提出经校验的修改提案、拿不准的反过来问,只在开了数据剖析的源上经只读守卫跑查询、结果先遮,确认后一次保存并把依据另存为这一项的「确认时的依据」);审阅队列(按使用次数、风险、来源排序并写明理由,批量确认驳回逐表乐观锁,表被哪些运行用过,审阅进度);数据目录导出导入(先预览,确认和驳回的照带、冲突保留目标、推断只填空缺、对不上的跳过并写原因);起草时提议有效记录条件和去重规则(sqlglot 校验,开了剖析的源上核对排除比例);起草遗留:宽表逐段落进目录、停止和中断不丢、按比例止损、块进度、同步起草与任务双向互斥;剖析不改人确认过的外键关系的基数 2026-10-14 16:24:11 +08:00
ThearchyHelios a2342c1459 合入数据目录闭环第一步验收后的修正:保存修改提案时确认的依据另存成每一项的 reason(不再拼进备注,改值、确认、撤销审阅各有去留,导出导入照带,表助手背景标明是以前确认时的依据);表助手分清起草要求和使用者原话;起草逐段写入各取当时的时间;审阅队列列表头计数跟着审阅更新;导入完成只数真正写入的表;提案落在驳回项上时改前写出驳回的原值;剖析不改人确认过的外键关系的基数;导入时推断项的依据在校验前去掉 2026-10-14 16:11:04 +08:00
ThearchyHelios b149351960 导入目录:推断、有确证的项在校验之前去掉确认时的依据,手改过的文件里依据不合规也不再把整项跳过(照常只填空缺);已确认、已驳回的项依据不合规照旧跳过 2026-10-14 16:11:04 +08:00
ThearchyHelios a88fd93376 剖析不改人确认过的外键关系的基数:值不变、保存即确认的外键关系来源仍是 fk,以前 _patch_fk 不看状态,数据核实出的基数不同就直接改写,确认时的依据还挂着,前后矛盾;现在同 _patch_confirmed,不改人定的基数、也不标用数据核实过,测量的说法照常写进备注 2026-10-14 16:11:04 +08:00
ThearchyHelios 085fcb7e81 助手流「建议更新数据目录」那一行展开的明细,改前改用和卡片同一个写法(patchBeforeText):提案落在已驳回的项上时写「已驳回:可累加 → 存量」,不再写成像是当前值的「可累加 → 存量」、和同一轮下面卡片的「已驳回:可累加」对不上;check-decode 补一条 2026-10-14 15:38:22 +08:00
ThearchyHelios 49f00c589a 目录修改提案的依据改存成目录项单独的字段 reason(界面上叫「确认时的依据」,最多 500 字,超了截成 499 字加「…」),不再拼进备注:拼进 note 之后,带依据保存的关联关系再剖析时测量的说法换不了新、和覆盖率那一栏对不上;改了值的关联关系旧依据叠在新依据后面、越存越长;值不变、保存即确认的项撤销审阅回到推断后「依据:使用者说……」还挂着,看起来像使用者确认过一条推断项。去留:值改了(关联关系也一样)换成这次的依据,没写就去掉旧的;值不变的确认换成这次的,不叠;单项确认、驳回留着,撤销审阅去掉;整份提交改了值的、状态改回推断的、双盲复算改写的去掉;剖析刷新关联关系的测量只动备注。校验认 reason(文字、最多 500 字),起草、剖析的合并不碰人工确认的项,导出导入时已确认、已驳回的项连依据一起带,推断、有确证的项不带。表助手背景里已有的依据写成「以前确认时的依据:……」,系统提示词和 propose_changes 的说明写清那不是这次对话里使用者说的话、引用时写「以前确认时的依据写着:……」,遮罩列的项不给。表详情里依据和说明分开写:表级的项在值下面另起一行,列的一格、关联关系另一个悬停图标(读屏念「确认时的依据:……」),状态弹层里也写,驳回的项只在弹层里写;check-catalog-loop 的假服务端照服务端记下依据,补依据和说明分开、弹层、驳回项的检查;README 表助手一行写上依据另存 2026-10-14 15:38:15 +08:00
ThearchyHelios cdf5ed38ef 导入目录完成的提示只数真正写进去的表(有新增或更新的项、版本前进了),文件中的项这里都有了的表不算、逐表写「没有变化」;一张都没写进去时说清「没有需要写入的内容」,写入出错的表另外说明;导入之后只重新载入写进去的表;check-catalog-loop 补导入结果的检查 2026-10-14 14:07:15 +08:00
ThearchyHelios 6b94811bed 审阅队列成批审阅之后列表头的「N 项待确认」跟着变:总数减掉列表里已经不是推断的项(成批审阅、表详情里改过的),撤销审阅回到推断的、冲突的照算,和视图标签、按表筛选的计数同一个口径;载入下一页的偏移用同一个算法;check-catalog-loop 补纯函数和成批确认、撤销审阅、单项确认、刷新之后的计数检查 2026-10-14 14:07:15 +08:00
ThearchyHelios a78affa2f1 目录修改提案落在已驳回的项上时,改前写出被驳回的原值:plan_patch 交回的 before 带上驳回的值、before_status 写 rejected(只改给人看的信息,算改后、算状态照旧按没有这一项,保存时照旧换成人工确认的新值);助手流的提案卡片、表助手的提案卡片和待保存的修改写「已驳回:<原值>」,和导入预览「目标里这一项已经驳回」一致;check-catalog-loop、check-stream 补对应检查 2026-10-14 14:07:15 +08:00
ThearchyHelios eb8d73b6da 表助手不再把数据源的起草要求当成使用者的原话:交给模型的背景里起草要求标明「不是这次对话里使用者说的话」,系统提示词和 propose_changes 的说明写清 reason 里引用的原话只能是这次对话里使用者的消息,依据来自起草要求时写「起草要求写着:……」 2026-10-14 14:07:15 +08:00
ThearchyHelios 20bef14520 保存目录修改提案时依据随项保存:表助手、助手流里「建议更新数据目录」的提案经 /catalog/{table}/patch 保存,写了依据的项备注记成「依据:……」(超出目录文字项的上限 500 字截断),没写依据的照旧;值不变、保存即确认的项和沿用了测量备注的关联关系,依据写在原来的备注前面(关联关系的剖析备注再剖析时整段换掉,放在前面才留得住)。表详情里人工确认的项有备注时也看得到:表级的项写在值下面(同有效记录条件的说明),列的一格、关联关系悬停看;check-catalog-loop 的假服务端照服务端记下依据,补保存后看得到依据、人工确认项的说明两处检查 2026-10-14 14:07:14 +08:00