CodeArtStudiesとCodeTEI
以下は、提示された GitHub リポジトリ CodeTEI(CodeArtStudies/CodeTEI)を対象に、①作品のメカニズム、②意義、③「コンピューターと詩」という主題における位置付けを整理し、批評的に検討したものである。
概要(要約)
CodeTEI は、電子テキスト標準 TEI P5 を拡張し、「実行可能詩(executable poetry)」——すなわちソースコードそのものが詩であり、実行過程が意味の一部をなす作品——を保存・引用・分析するためのスキーマと PoC 的ツール群である。README によれば、本作は (1) 改行単位での行中心モデル(code:line)、(2) 暗号学的ハッシュによる安定的行レベル引用(例:codetei://sha3-256-<digest>#<lineID>)、(3) 実行環境と実行結果の取り込み(コンテナ+ブロックチェーン記録を meta:run に格納)、(4) 複数主体(人間/AI/システム)の注釈統合といった特徴を掲げる。また、TEI ODD を用いたスキーマ生成(RNG)と XSLT 変換によるビューア生成の手順が示されている。 1. メカニズム(構造・実装の把握)
1.1 TEI 拡張としての設計
CodeTEI は TEI P5(One Document Does-it-all = ODD によるカスタマイズ)を前提に、独自名前空間の要素(code:line, meta:run ほか)を導入する。TEI ODD はもともとプロジェクト固有の拡張・制約を文書化と同時に機械可読なスキーマへ落とす仕組みであり、TEI Stylesheets(XSLT)を使って ODD→RELAX NG スキーマを生成するのが一般的である。README でも、jing-trang(RNG 検証)、saxon(XSLT)、TEI Stylesheets の利用が案内される。
ただし本作は、カスタム名前空間要素を多数含むため、ODD からの RNG 生成に部分的な手作業を要するとの注記がある。TEI 側でも「純粋 ODD」の処理サポートが未完の箇所を抱える旨が記されており、ここは既存ツールチェーンの限界に起因する実務的妥協といえる。
1.2 行中心モデルと安定引用
「各改行=code:line」という粒度で安定 ID を付与し、暗号学的ハッシュを URI 風のスキームで組み合わせて行レベル引用を可能化する点が作品の核である。これは TEI の韻文行(<l>)や行ブロック(<lg>)と類比的だが、詩をプログラム行として扱い、そのテキスト的・ソフトウェア的二重性を同時にモデル化する点が新しい。 一方で、ソースコードの恒久的識別と断片参照については、Software Heritage の SWHID が既に広く運用され、lines=… というフラグメント修飾子で行範囲を直接指し示せる。SWHID は Git 互換の内容ハッシュ(現行は SHA‑1 ベース)に基づく内在的(intrinsic)識別子で、リゾルバや API が整備され、2025 年に ISO/IEC 18670 として標準化も達成した。CodeTEI の codetei://sha3-256-… 案はより強度の高いハッシュを掲げる一方、相互運用性や既存インフラの利活用という観点では、SWHID 連携(swh:…;path=…;lines=…)を優先する設計が実務的である。
実行ログや環境をメインテキストの継起として位置付ける設計は、実行可能詩の本質(「走ること」が意味生成に寄与)を、文献学的「版/刷り」概念の拡張として組み込む意欲的試みである。再現可能性の実務では ReproZip 等のパッケージャが標準的で、コマンドトレース→依存特定→バンドル生成のパイプラインが整備されている。CodeTEI が謳うコンテナ+ブロックチェーンの記録は概念的に雄大だが、真正性/可検証性は、まず ReproZip のような確立済みワークフローと identifier(SWHID)を組み合わせることで達しうる。ブロックチェーンは改竄耐性の追加層として意義を持ちうるが、運用コスト・可用性・依存チェーンの将来リスクを踏まえた設計評価が必要である。
1.4 注釈モデル:人間/AI/システムの多主体統合
人手・AI・システム生成ノートを統合する注釈モデルは、批評・動的読解の実態に即している。TEI には standOff コンテナや注釈要素があり、本体を汚染せずに(スタンドオフ)多層注釈を格納・整列する手法が整っている。CodeTEI はこれをコード詩へ適用し、行レベル ID に結び付けた多主体注釈を標準的に蓄積しようとする点で意義がある。
1.5 ツールチェーン
README のクイックスタートは jing-trang・saxon・TEI Stylesheets の導入、ODD→RNG 生成、XML 検証、XSLT による HTML ビューア生成を定める。これは TEI 系プロジェクトの定石であり、既存エコシステムに無理なく接続している。
2. 意義(研究的・制度的・批評的インパクト)
2.1 批評実務の基盤整備
Critical Code Studies(CCS) は、コードを社会史的文脈において「意味」を読む人文学的アプローチである。CodeTEI は、行単位の安定引用・注釈・再現可能な実行をひとつの版面に束ね、CCS を「引用可能で再現検証可能な人文学」へ押し上げる台座を与える。これは従来、作品や派生物のリンク集・スクリーンショット・口頭説明に頼りがちだったコード詩批評に、学術的厳密さ(版管理・実験再現)を導入するものだ。
2.2 保存・参照の制度化
電子文学コミュニティ(ELO の Electronic Literature Collection など)やアートアーカイブ(Rhizome ArtBase など)は作品収蔵を進めてきたが、コードの断片単位での永続参照と再現は依然ハードルが高い。Software Heritage(SWHID) を核に据えれば、作品の正本性(内容同一性)の検証と行レベルのアドレス指定が制度化される。CodeTEI はこれに TEI ヘッダのメタデータ/注釈/本文整形を付し、保存と批評の橋渡しを図る点で価値が高い。
2.3 実行=テキストという転回
「実行結果を本文の直接的継続と見なす」という宣言は重要である。コード詩の古典例として Nick Montfort の Taroko Gorge のような生成詩は、コードと出力、そして変種(remix)を通じて「詩性」が立ち上がる。CodeTEI は、特定の「ラン」を本文として固定し比較可能にすることで、同一コードの多回実行=版差を文献学的対象へ引き上げる。さらにライブコーディングやアルゴレイヴの実演的側面を「意味生成のプロセス」として記述対象化する可能性もある。
3. 位置付け(コンピューターと詩の中で)
1. 電子文学/コード詩の系譜
ELO のコレクションに見られる生成詩・インタラクティブ作品群、Montfort のコード詩実践などに連なる。ここに CodeTEI は**テキスト標準(TEI)とソフトウェア保存(SWHID)**を接続する編集的基盤をもたらす。
2. 批評と学術版(edition)の接合
TEI が長年育んだ校訂・注釈・版管理の方法論を、コードという素材に適用する設計は特異である。詩学とソフトウェア工学の交差点で、**「コードを読む」ための版面(ページ)**を具体化する。
3. 再現可能研究(computational reproducibility)との接点
ReproZip やコンテナ技術に裏打ちされた環境固定と実行再現の導入は、詩作品としての「ラン」を学術検証可能な事象にする。
4. 批評(強み・限界・論点)
強み
• 行レベル引用の制度化:暗号ハッシュ+行 ID による安定参照は、コード詩批評に不可欠な「どの行を読んでいるか」を再現可能にする。
• 実行のテキスト化:実行結果を「本文の継続」とするモデリングは、生成詩の時間性を記述可能にする。
• 多主体注釈:人間・AI・システムの注釈を統合する構想は、現代の協働的読解に即している。
限界・未解決点
• 識別子設計の再考余地:codetei://sha3-256-… は理念的に強固だが、**SWHID(ISO 化済)**との互換や解決基盤・可用性を勘案すると、SWHID を一次キーに据え、必要ならば SHA‑3 を補助的に持つほうが相互運用性は高い。
• ブロックチェーン依存のコスト:改竄耐性の利点はあるが、長期可用性・維持コスト・選定チェーンの将来性をめぐる設計判断が不可欠。まずは ReproZip/SWHID ベースの可検証・可解決パイプラインを確立し、その上でトランザクション証跡を付加する段階的導入が現実的である。
• スキーマ生成の手修正:ODD→RNG の手作業補完はメンテナンス負債になりうる。TEI Stylesheets 側の制約(カスタム要素群時の処理限界)を踏まえ、スキーマの分割/最小化やスキーマテスト自動化の導入が望ましい。
5. 具体的提案(改善ロードマップ)
1. 識別子の二層化
公式引用は SWHID+lines 修飾子で統一(例:swh:1:cnt:<sha1>;origin=<url>;path=/...;lines=23-37)。CodeTEI 独自の codetei://sha3-256-… は補助的ハッシュ(付帯メタデータ)として meta:run あるいは注釈に保持し、相互解決(resolver)の実装で両者を相互参照する。
2. 再現可能性の標準パイプライン化
meta:run に ReproZip パッケージのハッシュ/場所(DOI・SWHID)と実行コマンド、環境ダイジェストを格納する最小プロファイルを策定。まずはコンテナ・チェーン非依存のオフライン完全再現を担保し、後段でブロックチェーン台帳へのコミットをオプション化する。
3. 注釈の TEI 準拠強化
多主体注釈は TEI の <standOff>+<annotation>(@who による責任表示)に正規化し、人間/AI/システムのソース同定・プロヴナンスを TEI Header(<respStmt> ほか)へ明示する。
4. 典型事例の実装拡充
Montfort の Taroko Gorge など、電子文学史上の基礎作品を CodeTEI 版で完全実装し、行引用・実行記録・多主体注釈のベストプラクティスを提示する。ELO ELC に収録された他作品も併走すると教育・普及効果が大きい。
5. エディトリアル・ポリシー文書化
「実行=本文」の原則に基づく編集規範(どの実行を本文と見なすか/複数実行の並列表現/乱数種の扱い等)を白書化し、学術版(scholarly edition)としての再現・比較手順を標準化する。
結論
CodeTEI は、コード詩を「読む」ための編集・参照・再現の統合基盤を、TEI とソフトウェア保存の最新動向に接続して提示した点で意欲的である。特に、行レベルの安定引用と実行結果の本文化は、コンピューター詩の批評実務における可検証性(verifiability)と再現可能性(reproducibility)の両立を可能にしうる設計である。一方で、識別子の相互運用性(SWHID 優先)、ブロックチェーン運用の現実性、スキーマ生成の自動化といった実装面の課題は残る。これらをクリアし、ELO など既存コレクションの古典的生成詩を CodeTEI で定盤化できれば、「コンピューターと詩」の交差点において、批評・保存・学術版制作を一体化した新たな作法を打ち立てうるだろう。
参考にした主要情報源
• CodeTEI README(機能・スキーマ・文脈、例示)
• TEI ODD/Stylesheets/RNG(TEI カスタマイズとビルド)
• Software Heritage/SWHID(行フラグメント、ISO 標準化、解決系)
• ReproZip(実験のパッケージ化と再現)
• 電子文学とコード詩の基礎資料(ELO ELC・Montfort Taroko Gorge ほか)
必要であれば、Taroko Gorge など具体作を CodeTEI 的にどうエンコードするか(要素設計・standOff 注釈・SWHID 行指定・meta:run の項目設計)まで、サンプルの擬似 XML とあわせて提案する。