From 337d1b56954b69632ba2fb1e6d42851585a095ca Mon Sep 17 00:00:00 2001 From: Ho Date: Wed, 25 Feb 2026 12:25:48 +0900 Subject: [PATCH 1/5] AI helper: init --- .claude/settings.json | 15 +++++ .claude/skills/db-query/SKILL.md | 36 ++++++++++ .../integration-test-helper/ProverE2E.md | 7 ++ .../skills/integration-test-helper/SKILL.md | 62 ++++++++++++++++++ CLAUDE.md | 1 + tests/prover-e2e/experience/ChangePort.md | 1 + tests/prover-e2e/report_20260225_1113.txt | 47 +++++++++++++ tests/prover-e2e/report_20260225_1156.txt | 45 +++++++++++++ .../app.elf | Bin 0 -> 3379188 bytes .../app.elf | Bin 0 -> 5209180 bytes .../app.elf | Bin 0 -> 5611840 bytes 11 files changed, 214 insertions(+) create mode 100644 .claude/settings.json create mode 100644 .claude/skills/db-query/SKILL.md create mode 100644 .claude/skills/integration-test-helper/ProverE2E.md create mode 100644 .claude/skills/integration-test-helper/SKILL.md create mode 100644 CLAUDE.md create mode 100644 tests/prover-e2e/experience/ChangePort.md create mode 100644 tests/prover-e2e/report_20260225_1113.txt create mode 100644 tests/prover-e2e/report_20260225_1156.txt create mode 100755 zkvm-prover/.work/galileo/5fb0b545c66e5670b2aa8856e213d172e843ef2d1350fe43d526856e8340b6476618ea25a7991845bbc5fd571670ee47379ba31ace92d345bca59702a0d4112d/app.elf create mode 100755 zkvm-prover/.work/galileo/a03f7324e6e258756c6e705b52cb56651ca01d429273ea5d9892b60dd573ec0622c0e5294bcb1b3a9def836f8d0f18612a9860629b9497292976ca11844b7e73/app.elf create mode 100755 zkvm-prover/.work/galileo/bff42a22cd426101b7417d59f421ae0b81bd0a3dd1ace95462a25056f3b5620af2be2f4468d1ac4a70e7682babb1c60417e21c7633d4b55b58f44703ec82b05a/app.elf diff --git a/.claude/settings.json b/.claude/settings.json new file mode 100644 index 0000000000..81dfecd82c --- /dev/null +++ b/.claude/settings.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://json.schemastore.org/claude-code-settings.json", + "env": {}, + "companyAnnouncements": [ + "Welcome! Here is scroll-tech" + ], + "permissions": { + "allow": [ + "Bash(pwd)", + "Bash(ls *)", + "Bash(cat *)" + ], + "deny": [] + } +} diff --git a/.claude/skills/db-query/SKILL.md b/.claude/skills/db-query/SKILL.md new file mode 100644 index 0000000000..ed2d8ffcf7 --- /dev/null +++ b/.claude/skills/db-query/SKILL.md @@ -0,0 +1,36 @@ +--- +name: db-query +description: Do query from database for common task +model: sonnet +allowed-tools: Bash(psql *) +--- + +User could like to know about the status of L2 data blocks and proving task, following is their request: + +$ARGUMENTS + +(If you find there is nothing in the request above, just tell "nothing to do" and stop) + +You should have known the data sheme of our database, if not yet, read it from the `.sql` files under `database/migrate/migrations`. + +According to use's request, generate the corresponding SQL expression and query the database. For example, if user ask "list the assigned chunks", it means "query records from `chunk` table with proving_status=2 (assigned)", or the SQL expression 'SELECT * from chunk where proving_status=2;'. If it is not clear, you can ask user which col they are indicating to, and list some possible options. + +For the generated SQL, following rules MUST be obey: + ++ Limit the number of records to 20, unless user has a specification explicitly like "show me ALL chunks". ++ Following cols can not be read by human and contain very large texts, they MUST be excluded in the SQL expression: + + For all table, any col named "proof" + + "header" and "transactions" in `l2_block` table + + "calldata" in `l1_message` ++ Always omit the `deleted_at` col, never include them in query or use in where condition ++ Without explicit specification, the records should be ordered by the `updated_at` col, the most recent one first. + +When you has decided the SQL expression, always print it out. + +You use psql client to query from our PostgreSQL db. When launching psql, always with "-w" options, and use "-o" to send all ouput to `query_report.txt` file under system's temporary dir, like /tmp. You MUST NOT read the generated report. + +If the psql failed since authentication, remind user to prepare their `.pgpass` file under home dir. + +You should have known the endpoint of the database before, in the form of PostgreSQL DSN. If not, try to read it from the `db.dsn` field inside of `coordinator/build/bin/conf/config.json`. If still not able to get the data, ask via Ask User Question to get the endpoint. + + diff --git a/.claude/skills/integration-test-helper/ProverE2E.md b/.claude/skills/integration-test-helper/ProverE2E.md new file mode 100644 index 0000000000..5660dd67be --- /dev/null +++ b/.claude/skills/integration-test-helper/ProverE2E.md @@ -0,0 +1,7 @@ +## Notes for handling ProverE2E + ++ Ensure the `conf` dir has been correctly linked and remind user which path it currently links to. + ++ If some files are instructed to be generated, but they have been existed, NEVER refer the content before the generation. They may be left from different setup and contain wrong message for current process. + ++ In step 4, if the `l2.validium_mode` is set to true, MUST Ask User for decryption key to fill the `sequencer.decryption_key` field. The key must be a hex string WITHOUT "0x" prefix. \ No newline at end of file diff --git a/.claude/skills/integration-test-helper/SKILL.md b/.claude/skills/integration-test-helper/SKILL.md new file mode 100644 index 0000000000..5691494d8f --- /dev/null +++ b/.claude/skills/integration-test-helper/SKILL.md @@ -0,0 +1,62 @@ +--- +name: integration-test-helper +description: Assist with the process described in the specified directory to prepare or advance integration tests. The target directory and instruction section can be specified, like "tests/prover-e2e test". +model: sonnet +allowed-tools: Bash(make *), Bash(tee *), Bash(jq *) +--- + +This skill helps launching the full process described in the instructions, also investigate and report the results. + +## Target directory + +The **target directory** under which the setup process being run is: $ARGUMENTS[0]. +Under the target dir there are the stuff and instructions. If the target dir above is empty, just use !`pwd`. + +## Instructions + +First read `README.md` under target directory, instructions should be under heading named ($ARGUMENTS[1]). If there is no such a heading name, just try the "Test" heading. + +In additional, there are two optional places for more knowledge about current instructions: + ++ An .md file under current skill dir, named from the top header of the `README.md` file or the name of target directory. + For example, if the target dir is `tests/prover-e2e`, the top header in `README.md` has "ProverE2E", so there may be a .md file named as `prover-e2e.md` or `ProverE2E.md` + ++ All files under `experience` path (if it existed) of target dir contains additional experience, which is specialized for current host + +## Run each step listed in instructions + +The instructions often contain multiple steps which should be completed in sequence. Following are some rules MUST be obey while handling each step: + +### "Must do" while executing commands in steps + +Any command mentioned in steps should be executed by Bash tool, with following MUST DO for handling the outputs: + ++ Use "| tee " to capture output of bash tool into local file for investigating later. The file name of log should be in format as `__