Skip to content

feat(agentic-circuit): require explicit Table state - #144

Merged
zhoubot merged 1 commit into
PTO-ISA:mainfrom
hmljy2020:feat/explicit-table-state
Sep 16, 2026
Merged

zhoubot merged 1 commit into
PTO-ISA:mainfrom
hmljy2020:feat/explicit-table-state

Conversation

@hmljy2020

@hmljy2020 hmljy2020 commented Sep 15, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • require indexed persistent state to be declared explicitly with ac.table
  • replace the public ac.find(...) marker with receiver-owned table.find(...) and table.view(row).find(...)
  • preserve Table snapshot, transaction, wide-mask, row-selection, arbitration, reset, and backend-parity semantics
  • migrate framework examples and fixtures, add Decision 0263, and update the English/Chinese specifications and frontend guidance

Dependency

Depends on #142. Do not merge this PR before #142.

This PR is intentionally based on feat/ac-slot-rule-transactions at #142 head commit 84146e9b. After #142 merges, this branch will be rebased onto the latest origin/main and the PR base will be changed to main. The temporary upstream base ref exists only to keep this stacked PR's review diff limited to issue #136.

后继 PR

#145 直接依赖本 PR;合并顺序为 #142 → 本 PR → #145

#145 使用本 PR 的精确 head cd3d3e16 作为临时 upstream base,以保持 issue #129 的 review diff 独立。本 PR 合并并完成 rebase 后,#145 应 rebase 到最新 main 并将 base 改回 main#143 的前端切片已由 #145 取代,不应单独合并。

pyc6 Decision / Contract Impact

  • Decision IDs: 0172, 0174, 0197, 0221, 0241, 0248, 0262, 0263
  • Indexed persistent state now requires ac.table[shape, Entry](init=...); ordinary Python lists remain static elaboration values.
  • where is required and keyword-only; key is optional and keyword-only. First/min selection retains stable flattened-index tie breaking and lazy .value reads.
  • System Tables emit ac.table.get/propose/match/choose; module-local Tables may remain shaped ac.var until storage selection.
  • Former persistent-list declarations fail with ACPY-VAR-002; former ac.find calls fail with ACPY-RULE-009 and an executable migration direction.

Validation

  • Agentic Python frontend: 395 passed, 2 skipped
  • Queue frontend/codegen E2E: 32 passed, 3 skipped
  • focused lexical-priority and module-struct state MLIR regressions: 2 passed
  • focused array-update GFSim/PYC C++/Verilog parity: passed
  • focused same-owner atomic transaction/backpressure: passed
  • AC G2 closure: passed, including direct/native GFSim, PYC C++, Verilog, Table arbitration, field/replace ordering, round-robin selection, reset, and bounded Table admission
  • changed-file pre-commit, API hygiene, diagnostic catalog, IR coverage, strict decision status, MkDocs, and whitespace checks: passed

Evidence:

  • docs/gates/logs/20260915-issue136-explicit-table-state/summary.md
  • docs/gates/logs/20260915-issue136-explicit-table-state/agentic_circuit_summary.json
  • docs/gates/logs/20260915-issue136-explicit-table-state/decision_status_report.json

Known repository baseline boundaries

The full G0/G1 wrapper was attempted. Existing checkout-wide failures remain in the deprecated top-level designs/ layout, process-state func.call fixtures, exact ACIR operation-registry counts, and local aarch64 SDK CLI/build-layout cases. None of those failing implementation/test files is changed here. The complete applicable issue #136 frontend, MLIR, GFSim, PYC C++, and Verilog evidence is green and the baseline boundaries are recorded in the evidence summary.

Compatibility

This is an intentional hard break in the public Agentic Python source contract. Scalar persistent-state inference, ac.array, static Python lists/list comprehensions, Queue collections, Decision 0248 flattened row indices, and the bounded PYC Table profile are unchanged.

Closes #136

@hmljy2020

Copy link
Copy Markdown
Collaborator Author

Dependency tracking: this PR depends on #142 and must not merge first.

Current stack:

main#142 (feat/ac-slot-rule-transactions@84146e9b) → #144 (feat/explicit-table-state@9936f5b0)

After #142 merges, rebase this branch onto the latest origin/main, force-update the fork branch with lease, retarget this PR to main, and remove the temporary upstream base ref once no longer needed.

@zhoubot

zhoubot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Review disposition: the #144-only delta is architecturally clear and its explicit-Table hard break is documented and covered. It is not mergeable yet because the stack inherits the #142 Slot activation blocker. After #142 is repaired and merged, rebase/retarget this PR to main, rerun required checks, and obtain a fresh approval before merging.

@zhoubot
zhoubot force-pushed the feat/explicit-table-state branch from cd3d3e1 to 780bf5e Compare September 16, 2026 03:53
@zhoubot
zhoubot changed the base branch from feat/ac-slot-rule-transactions to main September 16, 2026 03:53

@zhoubot zhoubot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewed after selective rebase onto repaired main. The #144-only explicit Table state delta is preserved, duplicate symbol fixes are inherited from #142, local focused validation passes, and both required G0 checks are green.

@zhoubot
zhoubot merged commit f056d8b into PTO-ISA:main Sep 16, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Frontend] 移除持久化 list,统一使用显式 ac.table 声明索引状态

2 participants