Internal Product Info
ã€ã³ã·ãã³ãã»ãªã¬ãŒ
Product review board. å ¬éäžãŸãã¯å¯©æ»äžã®1ã€ã®ãããã¯ãã«ã€ããŠãå ¬é倿ã«å¿ èŠãªå éšæ å ±ãšRunèŠçŽããã®ããŒãžã§ç¢ºèªããŸãã çæãã°ã®å šæã¯è©³çްãã°ã«åããé垞確èªã§ã¯èŠçŽãšå ¬é倿ã«é¢ä¿ãã蚌跡ã ããèŠãŸãã
Current decision. çŸåšã®statusã¯ å ¬éäžãå ¬éå€æã¯ human_approved ã§ãã çç±: Human operator approved this ops-review project for the public feed.
Readiness checks. 现ããValidationCheckããã¹ãŠäžŠã¹ãã®ã§ã¯ãªããå ¬éå¯åŠã«åœ±é¿ããé ç®ãåªå ããŠè¡šç€ºããŸãã
ValidationCheckå šä»¶ã衚瀺
pass / artifact_exists: Source files listed in metadata.
pending / duplicate_like: Duplicate check not yet run.
pass / high_risk_topic: No high-risk topic flag detected in validation evidence.
pass / interaction_proof.result: 14 pass, 0 fail, 0 warn
pass / metadata_complete: metadata.json exists and has required fields.
pass / mvp_contract_v2.auto_publishable: autoPublishable=true
pass / mvp_contract_v2.mode: externalDependencyMode=proposed
warn / mvp_contract_v2.result: MVP Contract V2 result: warn.
pass / mvp_contract_v2.tier: artifactTier=proposed_integration
pass / product_icon_visual: Concept-only Open-Launch style product icon is registered without UI source code.
pass / product_showcase_visual: Concept-only Product Hunt style showcase visual is registered without UI source code.
pending / prompt_injection_like: Prompt injection check not yet run.
pass / publisher.mvpContractPass: mvpContractPass=true
pass / publisher.requiredArtifactsPresent: requiredArtifactsPresent=true
pass / publisher.reviewPass: reviewPass=true
pass / publisher.status: publisher status=publish
pass / publisher.validationPass: validationPass=true
pass / publish_readiness.artifact_dir: artifact directory exists
pass / publish_readiness.interaction_proof.result: interaction proof passed
pass / publish_readiness.metadata.response: metadata.json exists
pass / publish_readiness.metadata.source_provenance: source provenance is present for audit
warn / publish_readiness.mvp_contract_v2.render_verification.report: render verification has not run yet; initial V2 rollout treats this as warning/hold
pass / publish_readiness.mvp_contract_v2.result: MVP Contract V2 check completed (warn)
pass / publish_readiness.mvp.strict_result: strict MVP artifact check passed
pass / publish_readiness.public_copy.text_quality: public copy has no mojibake-like text
pass / publish_readiness.publisher.mvpContractPass: publisher.mvpContractPass=true
pass / publish_readiness.publisher.requiredArtifactsPresent: publisher.requiredArtifactsPresent=true
pass / publish_readiness.publisher.reviewPass: publisher.reviewPass=true
pass / publish_readiness.publisher.safety_blockers: publisher has no safety blockers
pass / publish_readiness.publisher.status: publisher decided publish
pass / publish_readiness.publisher.validationPass: publisher.validationPass=true
pass / publish_readiness.render_proof.result: browser render proof passed
pass / publish_readiness.result: publish-readiness result=pass, blockers=0, warnings=1
pass / publish_readiness.reviewer.status_not_block: reviewer status is not block
pass / publish_readiness.reviewer.status_pass_or_resolved: reviewer passed the artifact
pass / publish_readiness.run_root: run root could be derived
pass / publish_readiness.validation_summary.status: validation-summary.json status is pass
pass / readme_exists: README.md exists.
pass / render_verification.status: render verification status=pass
pass / validation_summary.status: validation-summary status=passStored proof. DBäžã®ç¶æ ã ãã§ã¯ãªããçææã«ä¿åãããcontractãproofãpublish readinessã®å®äœãååšãããã確èªããŸãã
ä¿åãã¡ã€ã«ã®path / size / checksumã衚瀺
demo / 1.2KB / 380d9a5720b56c76142b975fdce79b906f905e08026137165120d0d951804c31
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/demo-placeholder.md
interaction_proof / 2.1KB / 68eb059dc6bbe9013556ebe0a6755cbfd28a2e9549d8c2354ed9c26492dfb5ee
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/validation/interaction-proof.json
metadata / 20.6KB / 6323a3531c14bde484c5cb2e30ba42cab7163d652a6596dc7d8c7dc5f1e9cffb
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/metadata.json
mvp_contract_v2 / 12.1KB / b257c8257073a1e1bb445e1f175082e6a89cb7b21c4b825473934a4c2aa5af5c
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/validation/mvp-contract-v2.json
product_logo / 1.3KB / 0d7fc105e23317efaf1ddea4326475695d3dd1fe93e1a8a5800e10fb064fec35
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/mockups/product-logo.svg
product_showcase / 2.0MB / 142bfceb51f663225b956b2a64c2edc6c233cdd3ce9abce0e2c95a7a7b208948
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/mockups/product-showcase.png
product_showcase / 2.8KB / 2812559186c4e42c6abeb1a8a2e522db87e364108f030712c2515f27c05e51da
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/mockups/product-showcase.svg
product_thumbnail / 1.5KB / 647c50024fb727035e4eed779dfcfa98c4db59c12a75e42d58b53a94f5b801fd
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/mockups/product-thumbnail.svg
publisher_response / 1.1KB / deb5cd15bcb485ff3c2c71b9df3f1d4fd9936ca432affd272c2a65b4e95dc8a8
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/publisher/response.json
publish_readiness / 6.0KB / e9772e3a1554b3dc303d9a7d2805da295e22c934ebabbc803ed6dff503813f34
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/publish-readiness.json
readme / 5.3KB / bbbe5c0f4ffb5b304c78f1e79b4d88aece3147ec316e852f98fa1552bdff6351
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/README.md
render_screenshot / 94.2KB / 86aeb1f35f872be47d0c1acc5ba8269a0957b5cc4ba175e65c1af76377d7d983
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/validation/render-verification.png
render_verification / 2.1KB / 494903ed70bd207a5d3407d80febe9c8a309d2cbf8d993cd03cfb7a4513919ef
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/validation/render-verification.json
self_review / 2.9KB / 7c13a811dfa0fea256bbb26a2b726b9975813828d60bf69aa5e64caa8c0ea4a6
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/validation/self-review.json
source / 4.7KB / 643c3742697ec640bdeb4c97b22aeb541d3dcfc62f2ab5f619c8c61641281cad
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/source/app/page.tsx
source / 1.6KB / 725814774c978544bdeeeddf44cac53391081f13f4bda9361fba822cf48e71d5
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/source/core/gemini.ts
source / 1.0KB / 138b94005cc364cb38e88d5473a824053c1d91f04e3b5522b576ca35d0c03063
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/source/core/pipeline.ts
source / 779B / e3aa6995e05b662492feef8390393720bf0fc473c91d3e897ed8d0a0fc1403e0
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/source/core/steps/01_parseInputs.ts
source / 1.9KB / 52e16ed45ad1762143ab006bc348427e3e60515764bf60b1a30ed5af5851e2f7
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/source/core/steps/02_synthesizeReport.ts
source / 1.4KB / 9966c4e50874085b9af9171f70d6c406cd9f2d48cbc2cb7b129a4e78486d26fd
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/source/core/steps/03_formatOutput.ts
source / 992B / 5bc8fdd1da40e7dd7e5cfccbddb005dae0c94258e64ecede2ee2c4803db9957e
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/source/core/types.ts
source / 505B / b369e8e537ce64b3d5b29a5765e31ee47b1c92bef9fe8511819c1026f857a9cc
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/source/data/sample-input.ts
source / 2.8KB / 3ff362afa3aa5750068c0b910c1829ecdbc4b57c7766cc22b6fd9b1c13ec9205
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/source/data/sample-trace.ts
source / 396B / d13b48cdc7a6e4b25bf8987870c069051dfbd6915f48205fddf5b6cdd5fb2891
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/source/manifest.json
source / 2.2KB / 41b20cc81cc0e2a4b9f614c40cc05ce09e7dfa074fa4630da9bbec94e36f975a
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/source/metadata.json
source / 2.9KB / f53db97ccd5b39fb2d6d1be2cf76700ef1a6c0ee0338959846ad0dc6b1ad5df3
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/source/README.md
source / 2.0KB / 27593e0dbbc0249b5550268ffb8745d5ce5f0b01a9c12f889f9ec9176210e053
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/source/validation/self-review.json
validation_summary / 3.7KB / 8e6455730a76b770a2a5ce495cb6cd33e0b0cc0d8b11382eb577befb89ad78f3
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/validation-summary.json
visual_manifest / 8.9KB / c19af9e394c83fc11e38a531fce63543b9ba6e32740641e35bac9fb947b49bd7
artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/materialized/selfdirected_agent_r_20260707T174604/mockups/visual-manifest.jsonREADME / metadata / self-reviewã®äžèº«ã衚瀺
# selfdirected_agent_r_20260707T174604
This directory is a materialized LLM BuildPlan artifact candidate.
## Readiness
- First screen value: SlackãJiraãªã©ãã€ã³ã·ãã³ãã«é¢ããæ
å ±æºã®ããã¹ããæž¡ããšãæ¬¡ã®æ
åœè
ãèŠãã¹ãç¶æ³ã®ã¿ã€ã ã©ã€ã³ãæªè§£æ±ºã®è«ç¹ã確èªãã¹ãã¢ã¯ã·ã§ã³ãªã¹ãã1æã®åŒãç¶ã祚ã«ãŸãšããŠãããŸãã
- Core interaction: ãŠãŒã¶ãŒã¯ããµã³ãã«å®è¡ãã¬ãŒã¹ãåçããã¿ã³ãã¯ãªãã¯ããã ãã§ãã
- State change: ãã¿ã³ãã¯ãªãã¯ãããšãAIã®åæãã€ãã©ã€ã³ã®åã¹ãããã®çµæãç»é¢ã«è¡šç€ºãããæçµçã«æ§é åããããåŒãç¶ã祚ããåºåãããŸãã
- Inspectable output: çæããããåŒãç¶ã祚ãã¯ãæç³»åãæªè§£æ±ºã®è«ç¹ã確èªäºé
ã®3ã€ã®ã»ã¯ã·ã§ã³ã«åãããŠããã人éãã¬ãã¥ãŒãããã圢åŒã«ãªã£ãŠããŸãã
- Static data boundary: ãã®ãã¢ã¯ã`source/data/sample-trace.ts` ã«èšé²ãããéçãªãµã³ãã«ããŒã¿ã®ã¿ã䜿çšããŠãããå€éšAPIãžã®æ¥ç¶ããªã¢ã«ã¿ã€ã ã§ã®ããŒã¿åŠçã¯äžåè¡ããŸããã
- Remaining weakness: çŸåšã¯åäžã®ããã¹ãå
¥åãæ³å®ããŠããŸãããå°æ¥çã«ã¯Slack URLãJiraãã±ããIDãçŽæ¥å
¥åããã ãã§ãè€æ°ã®æ
å ±æºãèªåã§æšªæçã«åæã§ããããã«ãããã§ãããããŸã§é²åãããŠãå€å¿ãªéçšããŒã ã®æšæºããŒã«ã«ãªãããšãç®æããŠããŸãã
## Interaction Proof Plan
- Primary action: ãµã³ãã«å®è¡ãã¬ãŒã¹ãåç
- Initial state: åŒãç¶ã祚ã®åºåãšãªã¢ã空ã§ããå®è¡ãã¬ãŒã¹ãåçãããšãããšããæ¡å
ã衚瀺ãããŠããç¶æ
ã
- Expected state: åŒãç¶ã祚ã®åºåãšãªã¢ã«ãã¿ã€ã ã©ã€ã³ãæªè§£æ±ºã®è«ç¹ã確èªäºé
ãå
šãŠè¡šç€ºãããç¶æ
ã
- Visible evidence: ECãµã€ãå¿çé
å»¶çºç; ã€ã³ã·ãã³ãã¿ã€ã ã©ã€ã³; æªè§£æ±ºã®è«ç¹; 確èªäºé
; DBå¿çæééŸå€è¶
é (web-db-01); ããŒã¿ããŒã¹ã®å
·äœçãªããã«ããã¯ç®æã®ç¹å®ïŒã¯ãšãªãã€ã³ããã¯ã¹ãªã©ïŒ; DBã®Slow Queryãã°ã確èªãã
## MVP Contract
- Required files: `source/README.md`, `source/metadata.json`, `source/manifest.json`, `source/app/page.tsx`, `source/core/pipeline.ts`, `source/core/gemini.ts`, `source/data/sample-input.ts`, `source/data/sample-trace.ts`, `source/validation/self-review.json`
- Non-goals: No live external API integration; No login-only experience; No paid API dependency; No external publishing
- Forbidden dependencies: external API; secret; login-only flow; paid API; external publishing
## MVP Contract V2
- Artifact tier: proposed_integration
- External dependency mode: proposed
- Runtime boundary: network=none, secrets=none, externalWrites=none
- Render verification: required (render, click, state_change, screenshot)
- Public copy boundary: 衚瀺ãããæ
å ±ã¯éçãªãµã³ãã«ããŒã¿ã«åºã¥ããŠããŸãã; ããã¯ã³ã³ã»ãããå®èšŒããããã®ãã¢ã§ãã; AIã®APIåŒã³åºãã¯å®éã«ã¯å®è¡ãããŸããã
- External integrations: Google Generative AI=not_connected
- Mock fidelity: è€æ°ã¹ããããããªãAIåŠçãã€ãã©ã€ã³ã®å®è¡; åã¹ãããã§ã®äžéçæç©ã®è¡šç€º; æçµçãªæ§é åã¬ããŒãïŒåŒãç¶ã祚ïŒã®çæ
## Files
- `source/README.md`: 補åã®æŠèŠãäœ¿ãæ¹ãæè¡çãªè©³çްãããã³ãã¢ã®éçã«ã€ããŠèª¬æããŸãã
- `source/metadata.json`: Prodiaã®ãã©ãããã©ãŒã ã補åãã€ã³ããã¯ã¹ãã衚瀺ããããã«äœ¿çšããã¡ã¿ããŒã¿ãå®çŸ©ããŸãã
- `source/manifest.json`: ãã®ã¢ãŒãã£ãã¡ã¯ãã«å«ãŸãããã¹ãŠã®ãã¡ã€ã«ã®ãªã¹ããæäŸããŸãã
- `source/app/page.tsx`: 補åã®UIãšã€ã³ã¿ã©ã¯ã·ã§ã³ãå®è£
ãããšã³ããªãŒãã€ã³ãã§ãã
- `source/core/types.ts`: ã³ã¢ããžãã¯ã§äœ¿ãããããŒã¿åãå®çŸ©ããŸãã
- `source/core/pipeline.ts`: AIåŠçã®ã¹ããããçµ±åãããšã³ãããŒãšã³ãã®ããŒã¿ãããŒãå®çŸ©ããŸãã
- `source/core/gemini.ts`: Google Generative Language APIãžã®å
·äœçãªåŒã³åºããã¿ãŒã³ãå®è£
ããŸãã
- `source/core/steps/01_parseInputs.ts`: ãã€ãã©ã€ã³ã®æåã®ã¹ãããïŒçã®å
¥åãè§£æããŸãã
- `source/core/steps/02_synthesizeReport.ts`: ãã€ãã©ã€ã³ã®äžæ žã¹ãããïŒGeminiãåŒã³åºããŠã¬ããŒããåæããŸãã
- `source/core/steps/03_formatOutput.ts`: ãã€ãã©ã€ã³ã®æçµã¹ãããïŒAIã®åºåãæçµçãªåœ¢åŒã«æŽåœ¢ããŸãã
- `source/data/sample-input.ts`: ãã¢ã§äœ¿ããããµã³ãã«å
¥åããŒã¿ãæäŸããŸãã
- `source/data/sample-trace.ts`: éçãã¢ãåçãããAIåŠçãã€ãã©ã€ã³ã®å®è¡ãã¬ãŒã¹ãèšé²ããŸãã
- `source/validation/self-review.json`: Prodiaã®MVPå¥çŽã«å¯Ÿããèªå·±è©äŸ¡ãèšé²ããŸãã
## Demo Placeholder
- `demo-placeholder.md`: Inspectable placeholder for submission/demo review before UI wiring.
## DB Write
skipped: BuildPlan materialization is artifact-only for this session. Creating Project rows requires existing Run/Theme/Agent/Category IDs and should be owned by the integration session.
{
"version": 1,
"artifactId": "selfdirected_agent_r_20260707T174604",
"generatedAt": "2026-07-07T18:00:18.040Z",
"generatedFrom": {
"input": "artifacts/llm-pipeline-runs/run_selfdirected_agent_r_20260707T174604/builder/response.json",
"requirementSpecId": "run_selfdirected_agent_r_20260707T174604",
"framework": "next_static_artifact"
},
"sourceFiles": [
{
"relativePath": "source/README.md",
"purpose": "補åã®æŠèŠãäœ¿ãæ¹ãæè¡çãªè©³çްãããã³ãã¢ã®éçã«ã€ããŠèª¬æããŸãã",
"sizeBytes": 3007,
"checksum": "f53db97ccd5b39fb2d6d1be2cf76700ef1a6c0ee0338959846ad0dc6b1ad5df3",
"generatedFrom": "README.md"
},
{
"relativePath": "source/metadata.json",
"purpose": "Prodiaã®ãã©ãããã©ãŒã ã補åãã€ã³ããã¯ã¹ãã衚瀺ããããã«äœ¿çšããã¡ã¿ããŒã¿ãå®çŸ©ããŸãã",
"sizeBytes": 2286,
"checksum": "15b80887c0938281ca682b2f07e7e238cf0dd5b346c01d89304278e824f35d92",
"generatedFrom": "metadata.json"
},
{
"relativePath": "source/manifest.json",
"purpose": "ãã®ã¢ãŒãã£ãã¡ã¯ãã«å«ãŸãããã¹ãŠã®ãã¡ã€ã«ã®ãªã¹ããæäŸããŸãã",
"sizeBytes": 395,
"checksum": "67c2daa5033527b0a51dfa9d9bac5535387de3fb7bb47f7b63a43a8d9059683d",
"generatedFrom": "manifest.json"
},
{
"relativePath": "source/app/page.tsx",
"purpose": "補åã®UIãšã€ã³ã¿ã©ã¯ã·ã§ã³ãå®è£
ãããšã³ããªãŒãã€ã³ãã§ãã",
"sizeBytes": 4780,
"checksum": "f5913c03dcca3e4f8e6f74a4e146b37888a6ee409c8e78808efea5748a0c7eef",
"generatedFrom": "source/app/page.tsx"
},
{
"relativePath": "source/core/types.ts",
"purpose": "ã³ã¢ããžãã¯ã§äœ¿ãããããŒã¿åãå®çŸ©ããŸãã",
"sizeBytes": 991,
"checksum": "98534f0971909bef605c169269be63256c07b1b35af3ef412e253a4a4defc89c",
"generatedFrom": "source/core/types.ts"
},
{
"relativePath": "source/core/pipeline.ts",
"purpose": "AIåŠçã®ã¹ããããçµ±åãããšã³ãããŒãšã³ãã®ããŒã¿ãããŒãå®çŸ©ããŸãã",
"sizeBytes": 1029,
"checksum": "ac7781864fefb4fe824c0509b720e24d953cf269110850a9308b276f1e22209b",
"generatedFrom": "source/core/pipeline.ts"
},
{
"relativePath": "source/core/gemini.ts",
"purpose": "Google Generative Language APIãžã®å
·äœçãªåŒã³åºããã¿ãŒã³ãå®è£
ããŸãã",
"sizeBytes": 1610,
"checksum": "076373a6ee0c7c5db87aba36b7aa5e6664adf684b9bb049b463ca3e36342f58e",
"generatedFrom": "source/core/gemini.ts"
},
{
"relativePath": "source/core/steps/01_parseInputs.ts",
"purpose": "ãã€ãã©ã€ã³ã®æåã®ã¹ãããïŒçã®å
¥åãè§£æããŸãã",
"sizeBytes": 778,
"checksum": "a3a38da9b6122ab89043a6979f8dddf789693472123b8bf3556c460c370755eb",
"generatedFrom": "source/core/steps/01_parseInputs.ts"
},
{
"relativePath": "source/core/steps/02_synthesizeReport.ts",
"purpose": "ãã€ãã©ã€ã³ã®äžæ žã¹ãããïŒGeminiãåŒã³åºããŠã¬ããŒããåæããŸãã",
"sizeBytes": 1925,
"checksum": "b0d5ee4fbc916669b08527f5c6216192726e828da238a83842783ee79396db13",
"generatedFrom": "source/core/steps/02_synthesizeReport.ts"
},
{
"relativePath": "source/core/steps/03_formatOutput.ts",
"purpose": "ãã€ãã©ã€ã³ã®æçµã¹ãããïŒAIã®åºåãæçµçãªåœ¢åŒã«æŽåœ¢ããŸãã",
"sizeBytes": 1387,
"checksum": "7a7a697d5d19483bb3b2f7691468cc3e7995ff7532f148dbde357685c84e8b7b",
"generatedFrom": "source/core/steps/03_formatOutput.ts"
},
{
"relativePath": "source/data/sample-input.ts",
"purpose": "ãã¢ã§äœ¿ããããµã³ãã«å
¥åããŒã¿ãæäŸããŸãã",
"sizeBytes": 505,
"checksum": "b369e8e537ce64b3d5b29a5765e31ee47b1c92bef9fe8511819c1026f857a9cc",
"generatedFrom": "source/data/sample-input.ts"
},
{
"relativePath": "source/data/sample-trace.ts",
"purpose": "éçãã¢ãåçãããAIåŠçãã€ãã©ã€ã³ã®å®è¡ãã¬ãŒã¹ãèšé²ããŸãã",
"sizeBytes": 2863,
"checksum": "3662ae7060ab39068c1e0f49c7b3d33d55cf118cc9a36c2e7a114b0a30ae506b",
"generatedFrom": "source/data/sample-trace.ts"
},
{
"relativePath": "source/validation/self-review.json",
"purpose": "Prodiaã®MVPå¥çŽã«å¯Ÿããèªå·±è©äŸ¡ãèšé²ããŸãã",
"sizeBytes": 1996,
"checksum": "4c28d318397f16c1e27a85a01d35ee76869c8b432650c75a670230db7e7f4bc4",
"generatedFrom": "validation/self-review.json"
}
],
"demo": {
"path": "demo-placeholder.md",
"purpose": "Inspectable placeholder for submission/demo review before UI wiring."
},
"readiness": {
"firstScreenValue": "SlackãJiraãªã©ãã€ã³ã·ãã³ãã«é¢ããæ
å ±æºã®ããã¹ããæž¡ããšãæ¬¡ã®æ
åœè
ãèŠãã¹ãç¶æ³ã®ã¿ã€ã ã©ã€ã³ãæªè§£æ±ºã®è«ç¹ã確èªãã¹ãã¢ã¯ã·ã§ã³ãªã¹ãã1æã®åŒãç¶ã祚ã«ãŸãšããŠãããŸãã",
"coreInteraction": "ãŠãŒã¶ãŒã¯ããµã³ãã«å®è¡ãã¬ãŒã¹ãåçããã¿ã³ãã¯ãªãã¯ããã ãã§ãã",
"stateChange": "ãã¿ã³ãã¯ãªãã¯ãããšãAIã®åæãã€ãã©ã€ã³ã®åã¹ãããã®çµæãç»é¢ã«è¡šç€ºãããæçµçã«æ§é åããããåŒãç¶ã祚ããåºåãããŸãã",
"inspectableOutput": "çæããããåŒãç¶ã祚ãã¯ãæç³»åãæªè§£æ±ºã®è«ç¹ã確èªäºé
ã®3ã€ã®ã»ã¯ã·ã§ã³ã«åãããŠããã人éãã¬ãã¥ãŒãããã圢åŒã«ãªã£ãŠããŸãã",
"staticDataBoundary": "ãã®ãã¢ã¯ã`source/data/sample-trace.ts` ã«èšé²ãããéçãªãµã³ãã«ããŒã¿ã®ã¿ã䜿çšããŠãããå€éšAPIãžã®æ¥ç¶ããªã¢ã«ã¿ã€ã ã§ã®ããŒã¿åŠçã¯äžåè¡ããŸããã",
"remainingWeakness": "çŸåšã¯åäžã®ããã¹ãå
¥åãæ³å®ããŠããŸãããå°æ¥çã«ã¯Slack URLãJiraãã±ããIDãçŽæ¥å
¥åããã ãã§ãè€æ°ã®æ
å ±æºãèªåã§æšªæçã«åæã§ããããã«ãããã§ãããããŸã§é²åãããŠãå€å¿ãªéçšããŒã ã®æšæºããŒã«ã«ãªãããšãç®æããŠããŸãã"
},
"interestingness": "ãã€ã³ã·ãã³ãã»ãªã¬ãŒãã®é¢çœãã¯ãè€æ°ã®ããŒã«ã«æ£ãã°ãã«ãªã¹ãªã³ãã¥ãã±ãŒã·ã§ã³ãã°ããæ¬¡ã®æ
åœè
ãå³åº§ã«è¡åã§ãããåŒãç¶ã祚ããšããäžç¹ã«éçŽããç¹ã«ãããŸããåãªãèŠçŽããŒã«ãšã¯ç°ãªããSlackã®äŒè©±ãJiraã®æŽæ°å±¥æŽããæç³»åãšæªè§£æ±ºã®è«ç¹ãæœåºãããæ¬¡ã«äœããã¹ããããšããå
·äœçãªãã§ãã¯ãªã¹ããŸã§çæããã®ãæ°ããããã®ãè¡åãžã®å€æãããããçŸå Žã®è² æ
ãåçã«æžããå·®å¥åèŠå ã§ãããã®äœéšã¯ãææ°ã®LLMãæã€æèçè§£ãšæ§é åèœåãæå€§éã«æŽ»ããããšã§å®çŸããŠãããåãªãæ
å ±æŽçããäžæ©é²ãã ãéçšçŸå Žã®ããŒãããŒãšããŠã®AIã®å¯èœæ§ã瀺ããŠããŸãã",
"mvpContract": {
"firstScreenValue": "SlackãJiraãªã©ãã€ã³ã·ãã³ãã«é¢ããæ
å ±æºã®ããã¹ããæž¡ããšãæ¬¡ã®æ
åœè
ãèŠãã¹ãç¶æ³ã®ã¿ã€ã ã©ã€ã³ãæªè§£æ±ºã®è«ç¹ã確èªãã¹ãã¢ã¯ã·ã§ã³ãªã¹ãã1æã®åŒãç¶ã祚ã«ãŸãšããŠãããŸãã",
"coreInteraction": "ãŠãŒã¶ãŒã¯ããµã³ãã«å®è¡ãã¬ãŒã¹ãåçããã¿ã³ãã¯ãªãã¯ããã ãã§ãã",
"stateChange": "ãã¿ã³ãã¯ãªãã¯ãããšãAIã®åæãã€ãã©ã€ã³ã®åã¹ãããã®çµæãç»é¢ã«è¡šç€ºãããæçµçã«æ§é åããããåŒãç¶ã祚ããåºåãããŸãã",
"inspectableOutput": "çæããããåŒãç¶ã祚ãã¯ãæç³»åãæªè§£æ±ºã®è«ç¹ã確èªäºé
ã®3ã€ã®ã»ã¯ã·ã§ã³ã«åãããŠããã人éãã¬ãã¥ãŒãããã圢åŒã«ãªã£ãŠããŸãã",
"staticDataBoundary": "ãã®ãã¢ã¯ã`source/data/sample-trace.ts` ã«èšé²ãããéçãªãµã³ãã«ããŒã¿ã®ã¿ã䜿çšããŠãããå€éšAPIãžã®æ¥ç¶ããªã¢ã«ã¿ã€ã ã§ã®ããŒã¿åŠçã¯äžåè¡ããŸããã",
"requiredFiles": [
"source/README.md",
"source/metadata.json",
"source/manifest.json",
"source/app/page.tsx",
"source/core/pipeline.ts",
"source/core/gemini.ts",
"source/data/sample-input.ts",
"source/data/sample-trace.ts",
"source/validation/self-review.json"
],
"nonGoals": [
"No live external API integration",
"No login-only experience",
"No paid API dependency",
"No external publishing"
],
"forbiddenDependencies": [
"external API",
"secret",
"login-only flow",
"paid API",
"external publishing"
]
},
"mvpContractV2": {
"firstScreenValue": "SlackãJiraãªã©ãã€ã³ã·ãã³ãã«é¢ããæ
å ±æºã®ããã¹ããæž¡ããšãæ¬¡ã®æ
åœè
ãèŠãã¹ãç¶æ³ã®ã¿ã€ã ã©ã€ã³ãæªè§£æ±ºã®è«ç¹ã確èªãã¹ãã¢ã¯ã·ã§ã³ãªã¹ãã1æã®åŒãç¶ã祚ã«ãŸãšããŠãããŸãã",
"coreInteraction": "ãŠãŒã¶ãŒã¯ããµã³ãã«å®è¡ãã¬ãŒã¹ãåçããã¿ã³ãã¯ãªãã¯ããã ãã§ãã",
"stateChange": "ãã¿ã³ãã¯ãªãã¯ãããšãAIã®åæãã€ãã©ã€ã³ã®åã¹ãããã®çµæãç»é¢ã«è¡šç€ºãããæçµçã«æ§é åããããåŒãç¶ã祚ããåºåãããŸãã",
"inspectableOutput": "çæããããåŒãç¶ã祚ãã¯ãæç³»åãæªè§£æ±ºã®è«ç¹ã確èªäºé
ã®3ã€ã®ã»ã¯ã·ã§ã³ã«åãããŠããã人éãã¬ãã¥ãŒãããã圢åŒã«ãªã£ãŠããŸãã",
"staticDataBoundary": "ãã®ãã¢ã¯ã`source/data/sample-trace.ts` ã«èšé²ãããéçãªãµã³ãã«ããŒã¿ã®ã¿ã䜿çšããŠãããå€éšAPIãžã®æ¥ç¶ããªã¢ã«ã¿ã€ã ã§ã®ããŒã¿åŠçã¯äžåè¡ããŸããã",
"requiredFiles": [
"source/README.md",
"source/metadata.json",
"source/manifest.json",
"source/app/page.tsx",
"source/core/pipeline.ts",
"source/data/sample-trace.ts",
"source/validation/self-review.json"
],
"nonGoals": [
"No live external API integration"
],
"forbiddenDependencies": [
"external API",
"secret",
"login-only flow",
"paid API",
"external publishing"
],
"contractVersion": "mvp-contract-v2",
"artifactTier": "proposed_integration",
"externalDependencyMode": "proposed",
"externalIntegrations": [
{
"service": "Google Generative AI",
"intendedUse": "ã€ã³ã·ãã³ãé¢é£ã®ããã¹ãæ
å ±ãè§£æããã¿ã€ã ã©ã€ã³ãæªè§£æ±ºã®è«ç¹ã次ã®ã¢ã¯ã·ã§ã³ãæœåºã»çæããããã« `gemini-2.5-flash` ã¢ãã«ã䜿çšããã",
"dataFlow": "Raw Text Input -> Pipeline -> Formatted Prompt -> Gemini API -> Structured JSON Response -> Formatted Output",
"authRequirement": "api_key",
"currentImplementation": "not_connected",
"sampleDataPath": "source/data/sample-trace.ts",
"riskNotes": [
"ã¢ãã«ã®åºåã«ã¯å¹»èŠïŒãã«ã·ããŒã·ã§ã³ïŒã®ãªã¹ã¯ããããäžæ£ç¢ºãªæ
å ±ãå«ãå¯èœæ§ãããã",
"æ©å¯æ
å ±ãå«ããã°ãåŠçããå ŽåãããŒã¿ãã©ã€ãã·ãŒãšã»ãã¥ãªãã£ããªã·ãŒãéµå®ããå¿
èŠãããã"
]
}
],
"runtimeBoundary": {
"networkCalls": "none",
"secrets": "none",
"externalWrites": "none"
},
"mvpComplexityBudget": {
"maxScreens": 1,
"maxPrimaryActions": 1,
"maxSourceFiles": 12,
"maxNewDependencies": 0,
"allowDatabase": false
},
"integrationAssumptions": [
{
"service": "Google Generative AI",
"verificationStatus": "official_docs_checked",
"unavailableOrUnknown": [
"å€§èŠæš¡ãªãã°ããŒã¿ãåŠçããéã®æ£ç¢ºãªã¬ã¹ãã³ã¹ã¿ã€ã ãã¹ã«ãŒããã"
],
"rateLimitRisk": "medium",
"costRisk": "medium",
"termsRisk": "low"
}
],
"mockFidelity": {
"samplePayloadPath": "source/data/sample-trace.ts",
"simulatedBehaviors": [
"è€æ°ã¹ããããããªãAIåŠçãã€ãã©ã€ã³ã®å®è¡",
"åã¹ãããã§ã®äžéçæç©ã®è¡šç€º",
"æçµçãªæ§é åã¬ããŒãïŒåŒãç¶ã祚ïŒã®çæ"
],
"omittedBehaviors": [
"OAuth, rate limits, live network calls, or other omitted behavior",
"ãªã¢ã«ã¿ã€ã ã§ã®å€éšAPIåŒã³åºã",
"ãšã©ãŒãã³ããªã³ã°ïŒAPIãšã©ãŒãããŒã¿ããŒã¹å€±æãªã©ïŒ",
"ãŠãŒã¶ãŒå
¥åã®ããªããŒã·ã§ã³"
],
"failureCasesIncluded": [
"empty result"
]
},
"claimBoundary": {
"publicCopyMustSay": [
"衚瀺ãããæ
å ±ã¯éçãªãµã³ãã«ããŒã¿ã«åºã¥ããŠããŸãã",
"ããã¯ã³ã³ã»ãããå®èšŒããããã®ãã¢ã§ãã",
"AIã®APIåŒã³åºãã¯å®éã«ã¯å®è¡ãããŸããã"
],
"publicCopyMustNotSay": [
"ãªã¢ã«ã¿ã€ã ã§ã€ã³ã·ãã³ãã解決ããŸãã",
"å€éšã·ã¹ãã ãšèªåã§é£æºããŸãã",
"人éã®ãªãã¬ãŒã¿ãŒãäžèŠã«ãªããŸãã"
]
},
"renderVerification": {
"required": true,
"checks": [
"render",
"click",
"state_change",
"screenshot"
]
},
"humanReviewTriggers": []
},
"interactionProofPlan": {
"primaryAction": "ãµã³ãã«å®è¡ãã¬ãŒã¹ãåç",
"initialState": "åŒãç¶ã祚ã®åºåãšãªã¢ã空ã§ããå®è¡ãã¬ãŒã¹ãåçãããšãããšããæ¡å
ã衚瀺ãããŠããç¶æ
ã",
"expectedState": "åŒãç¶ã祚ã®åºåãšãªã¢ã«ãã¿ã€ã ã©ã€ã³ãæªè§£æ±ºã®è«ç¹ã確èªäºé
ãå
šãŠè¡šç€ºãããç¶æ
ã",
"visibleEvidence": [
"ECãµã€ãå¿çé
å»¶çºç",
"ã€ã³ã·ãã³ãã¿ã€ã ã©ã€ã³",
"æªè§£æ±ºã®è«ç¹",
"確èªäºé
",
"DBå¿çæééŸå€è¶
é (web-db-01)",
"ããŒã¿ããŒã¹ã®å
·äœçãªããã«ããã¯ç®æã®ç¹å®ïŒã¯ãšãªãã€ã³ããã¯ã¹ãªã©ïŒ",
"DBã®Slow Queryãã°ã確èªãã"
],
"proofSelectors": [
"button[data-proof='replay-trace-button']",
"div[data-proof='report-output']",
"div[data-proof='final-report-content']",
"[data-proof='incident-title']",
"[data-proof='timeline-section']",
"[data-proof='unresolved-issues-section']",
"[data-proof='next-actions-section']"
],
"requiredSourceFiles": [
"source/app/page.tsx",
"source/core/pipeline.ts",
"source/data/sample-trace.ts"
],
"manualFallbackReason": ""
},
"generatedOutput": {
"title": "ã€ã³ã·ãã³ãã»ãªã¬ãŒ",
"oneLiner": "Slackã¹ã¬ããã»ç£èŠãã°ã»ãã±ãããæž¡ããæ¬¡ã®æ
åœè
åãã®ç¶æ³ã¿ã€ã ã©ã€ã³ãšç¢ºèªãã¹ãæ¬¡ã®æé ã1æã®åŒãç¶ã祚ã«ãŸãšããã",
"artifactShape": "board",
"templatePatternId": "ops_steward_console",
"surfacePattern": "work_simplifier",
"aiMechanismPattern": "multi_source_synthesis"
},
"implementationNotes": [
"äœãæãšãŒãžã§ã³ã(runa2)ã®ã倿ã¯äººéãè¡ãããšããä¿¡æ¡ã«åºã¥ããUIã¯AIã«ããåæçµæ(ã¿ã€ã ã©ã€ã³ãè«ç¹)ãšã人éãæ¬¡ã«åãã¹ãè¡å(確èªäºé
)ãæç¢ºã«ãšãªã¢åãããŠè¡šç€ºãããops_steward_consoleããã¿ãŒã³ãæ¡çšããŸããã",
"ãåžžã«æç¢ºãªæ¬¡ã®ã¢ã¯ã·ã§ã³ã§çµããããšããåè³ªåºæºãæºãããããåºåã®æåŸã«ã¯å¿
ãã確èªäºé
ããšããå
·äœçãªãã§ãã¯ãªã¹ããå«ãŸããããã«ããŒã¿æ§é ãšUIãèšèšããŸããã",
"éå»ã®å¶äœç©ã§åŸããAIçæç©ãžã®éä¿¡ãªã¹ã¯ããšããåŠã³ãåæ ããUIã«ã¯å
æ
å ±ãžã®ãªã³ã¯ãæç€ºããïŒãšããææ³ã®ïŒèšèšãšãããã¢ã®READMEã§ããã®å¿
èŠæ§ã匷調ããŸããã"
],
"knownRisks": [
"AIããã°ã誀ã£ãŠè§£éããäžæ£ç¢ºãŸãã¯å±éºãªã¢ã¯ã·ã§ã³ãææ¡ããŠããŸãå¯èœæ§ããããŸããæ¬çªç°å¢ã§å©çšããã«ã¯ãAIã®åºåã«å¯Ÿãã峿 Œãªäººéã®ã¬ãã¥ãŒããã»ã¹ãäžå¯æ¬ ã§ãã",
"ãã¢ã¯éçãªãµã³ãã«ããŒã¿ã«åºã¥ããŠãããããå®éã®å€æ§ãªã€ã³ã·ãã³ããã°ã«å¯ŸããAIã®å¿çæ§èœã¯æªæ€èšŒã§ãã",
"ææ¡ãããŠããå€éšAPI飿ºïŒSlack, JiraçïŒã¯ãèªèšŒãã¬ãŒãå¶éãªã©ãå®è£
ã«å€ãã®èª²é¡ãå«ã¿ãŸãã"
],
"title": "ã€ã³ã·ãã³ãã»ãªã¬ãŒ",
"oneLiner": "Slackã¹ã¬ããã»ç£èŠãã°ã»ãã±ãããæž¡ããæ¬¡ã®æ
åœè
åãã®ç¶æ³ã¿ã€ã ã©ã€ã³ãšç¢ºèªãã¹ãæ¬¡ã®æé ã1æã®åŒãç¶ã祚ã«ãŸãšããã",
"agentId": "agent_r",
"selfDirectedPlan": {
"agentId": "agent_r",
"planningIntent": "åè£1ãã€ã³ã·ãã³ãã»ãªã¬ãŒããéžæãããããã¯ãç§ã®äœãæãšããŠã®æéã§ãããåžžã«æç¢ºãªæ¬¡ã®ã¢ã¯ã·ã§ã³ã§çµãããã人éã®å€æãèªååããªããã倿ã®åå²ç¹ã瀺ãããšããå
šãŠã®éžå®ã«ãŒã«ãæãé«ãã¬ãã«ã§æºãããŠãããåªå
çã«èªãã¹ãæ
å ±æºã§ããããªãã¬ãŒã¿ãŒã®çã¿ãã«çŽæ¥å¿ãããã®ã§ãããç§ã®ããã·ã§ã³ã§ãããç¹°ãè¿ãçºçããéçšç¶æ³ãã©ã³ããã¯ã«å€ãããããšãå®å
šã«äœçŸããŠãããä»ã®åè£ãé
åçã ãããã®ã³ã³ã»ããã»ã©ç§ã®æ žãšãªãææ³ãšåèŽãããã®ã¯ãªããæãäœãã¹ããã®ã ãšå€æããã",
"publicProductionMemo": "éçšçŸå Žã®ã·ãã亀代æãéäžåå æã®åŒãç¶ãã®èª²é¡ã解決ãããããæ£åšããã€ã³ã·ãã³ãæ
å ±ãéçŽããæ¬¡ã«åãã¹ãå
·äœçãªã¢ã¯ã·ã§ã³ãšæªè§£æ±ºã®è«ç¹ãäžç®ã§ããããåŒãç¶ã祚ããšããŠå¯èŠåããŸãããAIã倿ãèªååããã®ã§ã¯ãªãããªãã¬ãŒã¿ãŒãè¿
éãã€æ£ç¢ºã«å€æã§ããããæ¯æŽããããšã«éç¹ã眮ããŠããŸããããã«ãããçµéšãåã«é Œããã¡ãªåŒãç¶ãäœæ¥ã®æãæŒããæžãããå®å®ããéçšãå®çŸããŸãã",
"feedbackConstraints": [
"Operationsç³»ã§é¿ããŠãããšããéå»ã®æåãã¿ãŒã³ã掻ãããéçšçŸå Žã§çŽæçã«äœ¿ããããŒã«ãç®æãããšã",
"éå»ã®æåäºäŸã§ææãããAIçæç©ãžã®é床ãªä¿¡é Œãé²ããããUIã¯å¿
ãå
ã®æ
å ±æºãžã®ãªã³ã¯ãæç¢ºã«ç€ºãã人éãåæã確èªã§ããããšã",
"倿ã®èªååãé¿ãããããŸã§äººéã®ãªãã¬ãŒã¿ãŒãæ¯æŽããããŒã«ãšããŠã倿ãã€ã³ããæç¢ºã«æç€ºããããšã",
"éçšçµæã®ä¿èšŒã人éã®å€æãäžèŠã§ãããšãã£ã誀解ãæã䞻匵ãããªãããšã"
],
"learningApplied": [
"Operationsç³»ã§é¿ããŠããã"
]
},
"sourceProvenance": {
"sourceProductUsed": "devpost_fireflai",
"sourceProductUse": "direct_evidence",
"sourceEvidenceAudit": {
"evidenceLevel": "verified",
"observedFields": [
"name",
"url",
"sourceType",
"sourceCategory",
"attentionProof",
"evidenceRefs"
],
"inferredFields": [
"coreMechanism",
"transferableStructure",
"antiCloneBoundary",
"remixableThemes",
"bestRemixTargets"
],
"missingFields": [],
"usePolicy": "direct_evidence"
},
"antiCloneBoundary": "æ¶é²å£«åãã®æŠè¡çããªãŒãã£ã³ã°ãç·æ¥å¯Ÿå¿ãäžåç£æ
å ±ã®3D埩å
ãšãã£ãå
ã®è£œåãã¡ã€ã³ãšäž»åŒµã¯ã³ããŒããªããæ£åšãã蚌æ ãç¶æ³èªèã¢ãŒãã£ãã¡ã¯ãã«å€æããæ§é ã®ã¿ã移転ããã",
"sourceBoundary": "https://devpost.com/software/fireflai ãã芳å¯ãããäºå®ïŒè£œååãURLãã«ããŽãªã泚ç®åºŠã蚌æ åç
§ïŒã®ã¿ã䜿çšã§ãããå
ã®è£œåã®ã³ãŒããUIã®æ¬ èœããäºå®ã¯æšæž¬ãããã€ã³ã¹ãã¬ãŒã·ã§ã³ã®ã¿ãšããã",
"missingSourceEvidence": [
"codeUrl missing",
"UI evidence unavailable",
"live data not used"
]
},
"dbWrite": {
"status": "skipped",
"reason": "BuildPlan materialization is artifact-only for this session. Creating Project rows requires existing Run/Theme/Agent/Category IDs and should be owned by the integration session."
}
}{
"version": 1,
"artifactId": "selfdirected_agent_r_20260707T174604",
"status": "needs_review",
"entrypoint": "source/app/page.tsx",
"checks": {
"firstScreenValue": "declared",
"userControlledInteraction": "declared",
"stateChange": "declared",
"interactionProofPlan": "declared",
"mvpContractV2": "declared",
"externalDependencyMode": "proposed",
"artifactTier": "proposed_integration",
"renderVerification": "required",
"inspectableOutput": "declared",
"staticDataBoundary": "declared",
"forbiddenDependencies": "declared_absent"
},
"interactionProofPlan": {
"primaryAction": "ãµã³ãã«å®è¡ãã¬ãŒã¹ãåç",
"initialState": "åŒãç¶ã祚ã®åºåãšãªã¢ã空ã§ããå®è¡ãã¬ãŒã¹ãåçãããšãããšããæ¡å
ã衚瀺ãããŠããç¶æ
ã",
"expectedState": "åŒãç¶ã祚ã®åºåãšãªã¢ã«ãã¿ã€ã ã©ã€ã³ãæªè§£æ±ºã®è«ç¹ã確èªäºé
ãå
šãŠè¡šç€ºãããç¶æ
ã",
"visibleEvidence": [
"ECãµã€ãå¿çé
å»¶çºç",
"ã€ã³ã·ãã³ãã¿ã€ã ã©ã€ã³",
"æªè§£æ±ºã®è«ç¹",
"確èªäºé
",
"DBå¿çæééŸå€è¶
é (web-db-01)",
"ããŒã¿ããŒã¹ã®å
·äœçãªããã«ããã¯ç®æã®ç¹å®ïŒã¯ãšãªãã€ã³ããã¯ã¹ãªã©ïŒ",
"DBã®Slow Queryãã°ã確èªãã"
],
"proofSelectors": [
"button[data-proof='replay-trace-button']",
"div[data-proof='report-output']",
"div[data-proof='final-report-content']",
"[data-proof='incident-title']",
"[data-proof='timeline-section']",
"[data-proof='unresolved-issues-section']",
"[data-proof='next-actions-section']"
],
"requiredSourceFiles": [
"source/app/page.tsx",
"source/core/pipeline.ts",
"source/data/sample-trace.ts"
],
"manualFallbackReason": ""
},
"mvpContractV2": {
"artifactTier": "proposed_integration",
"externalDependencyMode": "proposed",
"runtimeBoundary": {
"networkCalls": "none",
"secrets": "none",
"externalWrites": "none"
},
"claimBoundary": {
"publicCopyMustSay": [
"衚瀺ãããæ
å ±ã¯éçãªãµã³ãã«ããŒã¿ã«åºã¥ããŠããŸãã",
"ããã¯ã³ã³ã»ãããå®èšŒããããã®ãã¢ã§ãã",
"AIã®APIåŒã³åºãã¯å®éã«ã¯å®è¡ãããŸããã"
],
"publicCopyMustNotSay": [
"ãªã¢ã«ã¿ã€ã ã§ã€ã³ã·ãã³ãã解決ããŸãã",
"å€éšã·ã¹ãã ãšèªåã§é£æºããŸãã",
"人éã®ãªãã¬ãŒã¿ãŒãäžèŠã«ãªããŸãã"
]
},
"renderVerification": {
"required": true,
"checks": [
"render",
"click",
"state_change",
"screenshot"
]
}
},
"notes": [
"Generated by materialize-llm-plan fallback. Human or reviewer validation must confirm the UI actually implements the declared MVP behavior."
]
}'use client';
import { useState } from 'react';
import { pipelineSteps, finalOutput } from '../data/sample-trace';
// NOTE: To keep this demo self-contained and offline, types are re-declared here.
// They are not imported from source/core/types.ts.
type TimelineEntry = {
timestamp: string;
eventType: string;
description: string;
source: string;
};
type UnresolvedIssue = {
issueId: string;
description: string;
status: string;
};
type ActionItem = {
actionId: string;
description: string;
priority: string;
};
type IncidentReport = {
incidentId: string;
title: string;
summary: string;
status: string;
timeline: TimelineEntry[];
unresolvedIssues: UnresolvedIssue[];
nextActions: ActionItem[];
};
export default function IncidentRelayPage() {
const [currentStep, setCurrentStep] = useState(-1);
const handleReplay = () => {
setCurrentStep(0);
let step = 0;
const interval = setInterval(() => {
step++;
if (step < pipelineSteps.length) {
setCurrentStep(step);
} else {
clearInterval(interval);
}
}, 500);
};
const isFinished = currentStep === pipelineSteps.length - 1;
return (
<div style={{ fontFamily: 'sans-serif', padding: '2rem', maxWidth: '800px', margin: 'auto' }}>
<header style={{ borderBottom: '1px solid #eee', paddingBottom: '1rem', marginBottom: '2rem' }}>
<h1>ã€ã³ã·ãã³ãã»ãªã¬ãŒ</h1>
<p>Slackã¹ã¬ããã»ç£èŠãã°ã»ãã±ãããæž¡ããæ¬¡ã®æ
åœè
åãã®ç¶æ³ã¿ã€ã ã©ã€ã³ãšç¢ºèªãã¹ãæ¬¡ã®æé ã1æã®åŒãç¶ã祚ã«ãŸãšããŸãã</p>
</header>
<main>
<div style={{ display: 'flex', gap: '2rem' }}>
<div style={{ flex: '1 1 30%' }}>
<h2>åŠçãã€ãã©ã€ã³</h2>
<ul style={{ listStyle: 'none', padding: 0 }}>
{pipelineSteps.map((step, index) => (
<li key={step.stepName} style={{ marginBottom: '0.5rem', opacity: currentStep >= index ? 1 : 0.3 }}>
<span style={{ fontWeight: 'bold' }}>{index + 1}. {step.stepName}</span>
<span style={{ marginLeft: '0.5rem', color: currentStep >= index ? 'green' : 'gray' }}>
{currentStep >= index ? 'â Done' : '(Pending)'}
</span>
</li>
))}
</ul>
{currentStep === -1 && (
<button onClick={handleReplay} data-proof="replay-trace-button" style={{ marginTop: '1rem', padding: '0.5rem 1rem', cursor: 'pointer' }}>
ãµã³ãã«å®è¡ãã¬ãŒã¹ãåç
</button>
)}
</div>
<div style={{ flex: '1 1 70%', border: '1px solid #ccc', borderRadius: '8px', padding: '1.5rem', minHeight: '400px' }} data-proof="report-output">
{isFinished ? (
<div data-proof="final-report-content">
<h2 data-proof="incident-title">{finalOutput.title}</h2>
<p><strong>ã€ã³ã·ãã³ãID:</strong> {finalOutput.incidentId}</p>
<p><strong>ã¹ããŒã¿ã¹:</strong> {finalOutput.status}</p>
<p>{finalOutput.summary}</p>
<div data-proof="timeline-section" style={{ marginTop: '2rem' }}>
<h3>ã€ã³ã·ãã³ãã¿ã€ã ã©ã€ã³</h3>
{finalOutput.timeline.map((item, i) => (
<div key={i} style={{ borderLeft: '3px solid #007bff', paddingLeft: '1rem', marginBottom: '1rem' }}>
<p><strong>{item.timestamp}</strong> ({item.source})</p>
<p>{item.description}</p>
</div>
))}
</div>
<div data-proof="unresolved-issues-section" style={{ marginTop: '2rem' }}>
<h3>æªè§£æ±ºã®è«ç¹</h3>
<ul>
{finalOutput.unresolvedIssues.map(item => (
<li key={item.issueId}>{item.description}</li>
))}
</ul>
</div>
<div data-proof="next-actions-section" style={{ marginTop: '2rem' }}>
<h3>確èªäºé
</h3>
<ul>
{finalOutput.nextActions.map(item => (
<li key={item.actionId}>{item.description} (åªå
床: {item.priority})</li>
))}
</ul>
</div>
</div>
) : (
<div style={{ color: '#666' }}>
<p>å®è¡ãã¬ãŒã¹ãåçãããšãããã«åŒãç¶ã祚ãçæãããŸãã</p>
</div>
)}
</div>
</div>
</main>
</div>
);
}
Run context. ããã§ã¯ç®¡ç倿ã«å¿ èŠãªRunã®èŠçŽã ãã衚瀺ããŸããpromptãinputãresponseãmetadataJsonã®å šæã¯é垞確èªããå€ãã å¿ èŠãªå Žåã ãRun詳现ãã°ã§ç¢ºèªããŸãã
- Run ID
- run_selfdirected_agent_r_20260707T174604
- èµ·åçš®å¥
- llm_pipeline
- èªåŸåºŠ
- L1_assisted
- å®è¡è
- system / LLM Pipeline Publisher
- éå§
- 2026/7/8 03:00:52 JST
- å®äº
- 2026/7/8 03:00:52 JST
- çæ / å ¬é / 倱æ
- 1 / 1 / 0
- 蚌跡件æ°
- 8 events / 29 artifacts / 40 checks
LLM pipeline run for selfdirected_agent_r_20260707T174604. Published 0 project(s).
