Skip to content

Comments

Phase 3: CCC Udt integration investigation#21

Merged
phroi merged 3 commits intomasterfrom
phase-03-ccc-udt-investigation
Feb 25, 2026
Merged

Phase 3: CCC Udt integration investigation#21
phroi merged 3 commits intomasterfrom
phase-03-ccc-udt-investigation

Conversation

@phroi
Copy link
Member

@phroi phroi commented Feb 25, 2026

Why

Phase 3 delivers the design investigation for integrating iCKB's multi-representation UDT value with CCC's Udt class. Also refreshes codebase docs that had gone stale after Phase 1 deletions.

Changes

  • Phase 3 investigation & decision docs: Feasibility assessment, CCC Udt internals trace, and formal decision — subclass udt.Udt as IckbUdt with infoFrom() override for xUDT + receipts + deposits
  • Research & earlier phase refinements: Backport Phase 3 findings (single infoFrom override point, fork-scripts paths) into research and phase-01/02 docs
  • Codebase docs refresh: Fix stale SmartTransaction/CapacityManager references, update fork-scripts paths, mark resolved concerns, update code examples to current APIs

Decision: subclass CCC Udt as IckbUdt, overriding infoFrom() for
multi-representation balance (xUDT + receipts + deposits). Header
access via client.getTransactionWithHeader(). Conservation law
enforced on-chain, not in infoFrom.
Update infoFrom override strategy (single override point, not
getInputsInfo/getOutputsInfo), correct fork-scripts paths in
phase-01 summaries, and incorporate CCC Udt investigation results
into research documents.
- Update all SmartTransaction/CapacityManager references to note
  deletion in Phase 1 (ARCHITECTURE, CONCERNS, CONVENTIONS)
- Update fork-scripts paths from ccc-fork/*.sh to fork-scripts/*.sh
  (PROJECT, CONCERNS, CONVENTIONS, STACK, STRUCTURE)
- Add fork-scripts/ directory tree and @generated markers (STRUCTURE)
- Mark resolved concerns as RESOLVED (CONCERNS)
- Update code examples to current APIs: findUdts, isUdt, collect
  (CONVENTIONS)
- Update 64-output DAO limit references to CCC core (CONCERNS)
@gemini-code-assist
Copy link

Summary of Changes

Hello @phroi, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request marks the successful completion of Phase 3, which focused on the critical integration of iCKB's unique multi-representation UDT value with the CCC framework. Through extensive investigation, a clear strategy has been established to subclass CCC's Udt class, leveraging its infoFrom() method to accurately account for xUDT, receipt, and deposit cells. This decision ensures strong alignment with CCC while preserving iCKB's distinct value model. Concurrently, all relevant documentation has been meticulously updated to reflect these architectural decisions and maintain consistency across the project's planning and codebase descriptions.

Highlights

  • Phase 3 Completion: Completed Phase 3 of the project roadmap, which involved a detailed investigation into integrating iCKB's multi-representation UDT value with CCC's Udt class, culminating in a formal decision document.
  • UDT Integration Strategy: Decided to subclass CCC's udt.Udt as IckbUdt and override its infoFrom() method to handle xUDT, receipt, and deposit cells, confirming feasibility without requiring upstream CCC changes.
  • Documentation Refresh: Updated various planning, codebase, and research documents to reflect Phase 3 findings, correct stale references to SmartTransaction and CapacityManager, and standardize paths to the new ccc-fork/ local development setup.
Changelog
  • .planning/PROJECT.md
    • Updated local CCC development build path and script reference from ccc-dev/ to ccc-fork/.
  • .planning/REQUIREMENTS.md
    • Marked UDT-01, UDT-02, and UDT-03 requirements as completed.
    • Updated client method getHeaderByTxHash() to getTransactionWithHeader().
    • Changed references from ccc-dev/ to ccc-fork/.
  • .planning/ROADMAP.md
    • Marked Phase 3 as complete.
    • Updated references from ccc-dev/ to ccc-fork/ in Phase 1 description.
    • Refined success criteria for Phase 3 and Phase 5.
  • .planning/STATE.md
    • Updated current project focus to Phase 4.
    • Marked Phase 3 as complete and updated progress and velocity metrics.
    • Resolved concerns related to CCC Udt integration and PR #328.
  • .planning/codebase/ARCHITECTURE.md
    • Updated descriptions to reflect SmartTransaction deletion.
    • Changed ccc-dev/ paths to ccc-fork/.
    • Refined utility layer key exports and file descriptions.
  • .planning/codebase/CONCERNS.md
    • Updated ccc-dev/ to ccc-fork/ paths.
    • Marked SmartTransaction and CapacityManager related concerns as resolved.
    • Updated DAO output limit file references.
  • .planning/codebase/CONVENTIONS.md
    • Updated SmartTransaction status to DELETED.
    • Changed ccc-dev/ to ccc-fork/ paths.
    • Removed getHeader and isCapacity from function naming conventions.
  • .planning/codebase/STACK.md
    • Updated ccc-dev/ to fork-scripts/ and ccc-fork/ paths.
    • Added note about auto-generated fork-workspaces section.
    • Updated SmartTransaction status to deleted.
  • .planning/codebase/STRUCTURE.md
    • Updated utility layer file structure to remove transaction.ts and capacity.ts.
    • Updated ccc-dev/ to fork-scripts/ and ccc-fork/ paths.
    • Detailed the new fork management directories.
  • .planning/phases/01-ickb-utils-smarttransaction-removal/01-01-PLAN.md
    • Updated file paths and references from ccc-dev/ to ccc-fork/.
  • .planning/phases/01-ickb-utils-smarttransaction-removal/01-01-SUMMARY.md
    • Updated references from ccc-dev/ to ccc-fork/ in tech tracking and file paths.
  • .planning/phases/01-ickb-utils-smarttransaction-removal/01-02-SUMMARY.md
    • Clarified that getHeader/HeaderKey were deleted alongside SmartTransaction in 01-03.
  • .planning/phases/01-ickb-utils-smarttransaction-removal/01-CONTEXT.md
    • Updated references from ccc-dev/ to ccc-fork/ for CCC DAO contribution.
  • .planning/phases/01-ickb-utils-smarttransaction-removal/01-RESEARCH.md
    • Updated references from ccc-dev/ to ccc-fork/ in summary, locked decisions, tsgo filter, and code examples.
  • .planning/phases/01-ickb-utils-smarttransaction-removal/01-VERIFICATION.md
    • Updated references from ccc-dev/ to ccc-fork/ in verification table for DAO limit check and local patch.
  • .planning/phases/02-ccc-utility-adoption/02-RESEARCH.md
    • Updated references from ccc-dev/ to ccc-fork/ in summary, code examples, and primary sources.
  • .planning/phases/03-ccc-udt-integration-investigation/03-01-INVESTIGATION.md
    • Added a new document detailing the investigation into CCC Udt internals and override feasibility.
  • .planning/phases/03-ccc-udt-integration-investigation/03-01-PLAN.md
    • Added a new plan document for tracing CCC Udt internals and verifying override feasibility.
  • .planning/phases/03-ccc-udt-integration-investigation/03-01-SUMMARY.md
    • Added a new summary document for the CCC Udt integration investigation.
  • .planning/phases/03-ccc-udt-integration-investigation/03-02-PLAN.md
    • Added a new plan document for writing the formal decision document for Udt integration.
  • .planning/phases/03-ccc-udt-integration-investigation/03-02-SUMMARY.md
    • Added a new summary document for the CCC Udt integration decision.
  • .planning/phases/03-ccc-udt-integration-investigation/03-CONTEXT.md
    • Added a new context document for Phase 3 of the Udt integration investigation.
  • .planning/phases/03-ccc-udt-integration-investigation/03-DECISION.md
    • Added a new decision document outlining the feasibility, header access pattern, and chosen approach for Udt integration.
  • .planning/phases/03-ccc-udt-integration-investigation/03-RESEARCH.md
    • Added a new research document for Phase 3 of the Udt integration investigation.
  • .planning/phases/03-ccc-udt-integration-investigation/03-VERIFICATION.md
    • Added a new verification report for Phase 3 of the Udt integration investigation.
  • .planning/research/ARCHITECTURE.md
    • Updated the recommended approach for IckbUdt to override infoFrom() and corrected the code example.
  • .planning/research/FEATURES.md
    • Updated the local CCC build system reference from ccc-dev/ to ccc-fork/.
  • .planning/research/PITFALLS.md
    • Updated the recommended approach for IckbUdt subclassing and corrected references to the local CCC build system.
  • .planning/research/STACK.md
    • Updated references to the local CCC build system from ccc-dev/ to ccc-fork/ and clarified the recommended approach for IckbUdt.
  • .planning/research/SUMMARY.md
    • Updated references to the local CCC build system from ccc-dev/ to ccc-fork/ and corrected the key architectural decision for IckbUdt.
Activity
  • Phase 3 of the project roadmap, 'CCC Udt Integration Investigation', has been completed.
  • Extensive documentation has been added and updated across planning, codebase, and research files to reflect the findings and decisions of Phase 3.
  • The project's local CCC development setup has been standardized to use ccc-fork/ instead of ccc-dev/.
  • Stale references to SmartTransaction and CapacityManager have been removed or updated throughout the documentation.
  • Requirements UDT-01, UDT-02, and UDT-03, pertaining to UDT integration feasibility, header access patterns, and the final decision, have been marked as complete.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request delivers on Phase 3 of the project, which is a design investigation for integrating iCKB's UDT with CCC's Udt class. The changes primarily consist of extensive documentation updates. This includes new, detailed investigation and decision documents for Phase 3, as well as updates to existing planning, architecture, and research documents to reflect the findings. A key outcome documented is the decision to subclass udt.Udt and override the infoFrom() method. The PR also includes a repository-wide refactoring, renaming the ccc-dev directory and related scripts to a more generic ccc-fork and fork-scripts structure. The documentation changes are thorough, consistent, and provide a clear path forward for subsequent implementation phases. No issues were found in the changes.

@phroi
Copy link
Member Author

phroi commented Feb 25, 2026

LGTM

Phroi %114

@phroi phroi merged commit 54851a3 into master Feb 25, 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.

1 participant