Internal Product Info
Provenance Balancer
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 / 7ecf1a495844dfd31946639b7903d6a40e7a346d59ef1ee43e2c088cd27bcd17
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/demo-placeholder.md
interaction_proof / 2.1KB / f18ba9a6de9d2f4842b4aa49ffc32c771989ca7cb668a118060ce6e5c07e9914
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/validation/interaction-proof.json
metadata / 20.2KB / 91acb8d47b3bfa31b57c51b907b356121fa1eada34b27aafffae7f291bd076a9
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/metadata.json
mvp_contract_v2 / 11.6KB / e82c028afc91747ee80b56d8f7d3bf3518d173c33d56af1adb44650b853f9407
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/validation/mvp-contract-v2.json
product_logo / 659B / 9c73d1177f48e949b71587f1eb63dad8ad051256f0bda23f98e6c14c26600e54
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/mockups/product-logo.svg
product_showcase / 1.9MB / 3ce5d5330c6b3ebe19fe0af68478cef0a234e22b214e7688b2d36c9ba81efd3e
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/mockups/product-showcase.png
product_showcase / 1.8KB / cab14f6a5a438752ca1aeed17732082d3611861f6b8604e3d114e6a7b2e47b3e
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/mockups/product-showcase.svg
product_thumbnail / 1.4KB / c11c0810423ead793155e2526a359f0dca581072238aa28976a8fd242765c1e7
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/mockups/product-thumbnail.svg
publisher_response / 984B / 8943adb98688e920a5a774c3811eb398615fe8a4d17f62cfeedf6a1643a5b573
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/publisher/response.json
publish_readiness / 6.0KB / f3e898e8f3fa6393604d4eddd65a872d4b20080cd3a59448d43d2a68b6bb8d82
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/publish-readiness.json
readme / 4.6KB / 9e7c84228caa4460ded1459aa2eb59a4bd01ca9ba0c1a2474ca8eb54c8806af8
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/README.md
render_screenshot / 67.9KB / e9fea71975d19408f50fbe331610ff8ebd2e2c996891ced3dbd01a9d68e97697
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/validation/render-verification.png
render_verification / 2.1KB / cdcbda081836c67e4dd816e1d4262f288ebd65d9b0be7661c41ae45bc38d930e
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/validation/render-verification.json
self_review / 2.5KB / 445653e9d474bdb2075cfcea517118bbb4d195ca01f15b352ffe84b464eee08f
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/validation/self-review.json
source / 5.0KB / 854d749f976779366f8438e3417360e433892f2471dd70619d76c2631ce7158a
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/source/app/page.tsx
source / 1.6KB / 01e2b0773104e2582df21a3f28794a0432c54dec9583d3a22d08c4a253274bda
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/source/core/gemini.ts
source / 1.0KB / 9a5a4318b43194fe124f41e34212d12827895c2545f51d994afaa5cf827f4546
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/source/core/pipeline.ts
source / 961B / da0680bab12594d93f049b2282c75d694abe88dbefe5c7a52b25db0f02a60b54
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/source/core/steps/extractClaims.ts
source / 1.6KB / c8a3d5d7131e6c8ca4b704753e176c9725ad2ead8e4a03a631290b96f8498e4c
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/source/core/steps/generateSummary.ts
source / 1.5KB / fa0fbe50283682a75618f64affe355d20a08ea5fe34c8b1bd43cbe7a24699684
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/source/core/steps/scoreProvenance.ts
source / 1012B / e43708b4688039e055b76739ae7e2106418a2eed0a5e0bd8d952c1fbd8f73d5a
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/source/core/types.ts
source / 656B / 97a153f73eac081a837fb8ecff8257fe14cfa2ed6a80bf0851f211429929de4e
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/source/data/sample-input.ts
source / 1.6KB / 341227355b7ee8e34736eadf00f2360ac5ef39570e42639768f4c1b612161216
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/source/data/sample-trace.ts
source / 403B / f066eaf5438052916a9668a1e4fc494e9eb0f614b4af212983546f35232b5bc9
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/source/manifest.json
source / 639B / 3c0cdfba200cfe426de9ccb5783c7bac7dbc8b2c74469faaa854d13afbffaff3
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/source/metadata.json
source / 2.7KB / bc870a105609845a6246240194119b103bae7ab45141fe97eb26475a12ee93e2
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/source/README.md
source / 1.2KB / 522a30a9701ff712498f59f9a4e4dec46a540fdd3733d94238775acbb7e42e75
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/source/validation/self-review.json
validation_summary / 3.7KB / 6b2e3c7ac3c8dd0211c07087ae65f603b897aaefe0db7bf649827eb4b0d6db98
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/validation-summary.json
visual_manifest / 8.6KB / 27f7940286ab8bbf6ccba0433a26bc222218ca4f98e830efb452a4575ca91ea1
artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/materialized/selfdirected_agent_s_20260707T180135/mockups/visual-manifest.jsonREADME / metadata / self-reviewã®äžèº«ã衚瀺
# selfdirected_agent_s_20260707T180135
This directory is a materialized LLM BuildPlan artifact candidate.
## Readiness
- First screen value: AIãæžãã2ã€ã®æç« ãã©ã¡ããããä¿¡é Œã§ãããæ©ãã æã«ã2ã€ã®ããã¹ãã貌ãä»ããŠãã¿ã³ãæŒãã ãã§ãæ ¹æ ã®ç¢ºãããAIãæ¯èŒæ¡ç¹ãã倩秀ã®åŸãã§çŽæçã«æããŠãããŸãã
- Core interaction: ãŠãŒã¶ãŒããæ¯èŒããã¿ã³ãã¯ãªãã¯ããã
- State change: ã¯ãªãã¯åŸãåããã¹ãã®äžã«ä¿¡é Œæ§ã¹ã³ã¢ã衚瀺ãããäžå€®ã®å€©ç§€ãä¿¡é Œæ§ã®é«ãæ¹ãžãšåŸããå€å®çç±ã®ãµããªãŒã衚瀺ãããã
- Inspectable output: æ¯èŒããã2ã€ã®ããã¹ãã®ä¿¡é Œæ§ã¹ã³ã¢ã®å
èš³ãšãã©ã¡ããæšå¥šãããã瀺ã倩秀ã®ããžã¥ã¢ã«ããããŠå€æã®æ ¹æ ãšãªã£ããæ±ºå®çãªéããã«é¢ããçãããã¹ãã
- Static data boundary: 衚瀺ãããããã¹ããã¹ã³ã¢ãå€å®çµæã¯ãã¹ãŠã`source/data/sample-trace.ts`ã«äºåã«èšè¿°ãããéçãªãµã³ãã«ããŒã¿ã§ãããªã¢ã«ã¿ã€ã ã®AIåæã¯è¡ãããŸããã
- Remaining weakness: çŸåšã¯åäžã®ãµã³ãã«æ¯èŒããã§ããŸããããå°æ¥çã«ã¯ãŠãŒã¶ãŒãèªç±ãªããã¹ããå
¥åã§ããããã«ããè©äŸ¡ããžãã¯ã®éææ§ãé«ãã解説æ©èœã远å ãããã§ããæçµçã«ã¯ãAIã©ã€ãã£ã³ã°ããŒã«ã®æšæºçãªã¬ãã¥ãŒæ©èœã«ãªãããšãç®æããŠããŸãã
## Interaction Proof Plan
- Primary action: æ¯èŒ
- Initial state: Two text areas are populated, but no scores or comparison summary is visible. The balance visual is centered.
- Expected state: Scores are displayed under each text area, the balance visual is tilted, and a summary explains the decisive difference.
- Visible evidence: ä¿¡é Œæ§ã¹ã³ã¢; æ ¹æ ã®è³ª; è«ççäžè²«æ§; ãã«ã·ããŒã·ã§ã³ãªã¹ã¯; ããã¹ãA; ããã¹ãB
## 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; Not a definitive fact-checking tool; No user text input in the demo
- 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: This is a conceptual demo using sample data.; AI analysis results are simulated and not from a live API call.; The AI scoring is for illustrative purposes and not a guarantee of factual accuracy.
- External integrations: Google Gemini API=not_connected
- Mock fidelity: A successful end-to-end pipeline run where one text is clearly superior to the other.
## Files
- `source/README.md`: Explains the product's concept, usage, technical architecture, and limitations.
- `source/metadata.json`: Provides structured metadata for the Prodia platform.
- `source/manifest.json`: Lists all files included in the artifact bundle.
- `source/validation/self-review.json`: Contains the artifact's self-assessment against Prodia MVP criteria.
- `source/core/types.ts`: Defines shared TypeScript types for the core logic.
- `source/core/gemini.ts`: Contains the reference implementation for calling the Google Gemini API.
- `source/core/steps/extractClaims.ts`: Core logic step for extracting claims and provenance from text.
- `source/core/steps/scoreProvenance.ts`: Core logic step for scoring the quality of extracted claims.
- `source/core/steps/generateSummary.ts`: Core logic step for comparing scores and generating a final summary.
- `source/core/pipeline.ts`: Orchestrates the core logic steps into a single pipeline.
- `source/data/sample-input.ts`: Provides sample input data for the demo.
- `source/data/sample-trace.ts`: Provides a hand-authored execution trace to be replayed by the demo UI.
- `source/app/page.tsx`: The entrypoint for the web application, a minimal runner that replays the sample trace.
## 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_s_20260707T180135",
"generatedAt": "2026-07-07T18:11:59.465Z",
"generatedFrom": {
"input": "artifacts/llm-pipeline-runs/run_selfdirected_agent_s_20260707T180135/builder/response.json",
"requirementSpecId": "req_concept_s_20260707T180547_01",
"framework": "next_static_artifact"
},
"sourceFiles": [
{
"relativePath": "source/README.md",
"purpose": "Explains the product's concept, usage, technical architecture, and limitations.",
"sizeBytes": 2806,
"checksum": "bc870a105609845a6246240194119b103bae7ab45141fe97eb26475a12ee93e2",
"generatedFrom": "README.md"
},
{
"relativePath": "source/metadata.json",
"purpose": "Provides structured metadata for the Prodia platform.",
"sizeBytes": 638,
"checksum": "7a6e0801f62a8512ea60309d2601e747562b7613a0beccd679644087724e42f4",
"generatedFrom": "metadata.json"
},
{
"relativePath": "source/manifest.json",
"purpose": "Lists all files included in the artifact bundle.",
"sizeBytes": 402,
"checksum": "e0ea4fffbfd5b3f554f7c8ff2a7494aa8800bfca8810dc2117bffea42a01f13e",
"generatedFrom": "manifest.json"
},
{
"relativePath": "source/validation/self-review.json",
"purpose": "Contains the artifact's self-assessment against Prodia MVP criteria.",
"sizeBytes": 1267,
"checksum": "6fbd2d3606dc41783d5eac8e9b33ab0d0c015cf16cee903abf6fe31a257e87fa",
"generatedFrom": "validation/self-review.json"
},
{
"relativePath": "source/core/types.ts",
"purpose": "Defines shared TypeScript types for the core logic.",
"sizeBytes": 1012,
"checksum": "e43708b4688039e055b76739ae7e2106418a2eed0a5e0bd8d952c1fbd8f73d5a",
"generatedFrom": "source/core/types.ts"
},
{
"relativePath": "source/core/gemini.ts",
"purpose": "Contains the reference implementation for calling the Google Gemini API.",
"sizeBytes": 1672,
"checksum": "01e2b0773104e2582df21a3f28794a0432c54dec9583d3a22d08c4a253274bda",
"generatedFrom": "source/core/gemini.ts"
},
{
"relativePath": "source/core/steps/extractClaims.ts",
"purpose": "Core logic step for extracting claims and provenance from text.",
"sizeBytes": 961,
"checksum": "da0680bab12594d93f049b2282c75d694abe88dbefe5c7a52b25db0f02a60b54",
"generatedFrom": "source/core/steps/extractClaims.ts"
},
{
"relativePath": "source/core/steps/scoreProvenance.ts",
"purpose": "Core logic step for scoring the quality of extracted claims.",
"sizeBytes": 1573,
"checksum": "fa0fbe50283682a75618f64affe355d20a08ea5fe34c8b1bd43cbe7a24699684",
"generatedFrom": "source/core/steps/scoreProvenance.ts"
},
{
"relativePath": "source/core/steps/generateSummary.ts",
"purpose": "Core logic step for comparing scores and generating a final summary.",
"sizeBytes": 1640,
"checksum": "c8a3d5d7131e6c8ca4b704753e176c9725ad2ead8e4a03a631290b96f8498e4c",
"generatedFrom": "source/core/steps/generateSummary.ts"
},
{
"relativePath": "source/core/pipeline.ts",
"purpose": "Orchestrates the core logic steps into a single pipeline.",
"sizeBytes": 1050,
"checksum": "9a5a4318b43194fe124f41e34212d12827895c2545f51d994afaa5cf827f4546",
"generatedFrom": "source/core/pipeline.ts"
},
{
"relativePath": "source/data/sample-input.ts",
"purpose": "Provides sample input data for the demo.",
"sizeBytes": 656,
"checksum": "97a153f73eac081a837fb8ecff8257fe14cfa2ed6a80bf0851f211429929de4e",
"generatedFrom": "source/data/sample-input.ts"
},
{
"relativePath": "source/data/sample-trace.ts",
"purpose": "Provides a hand-authored execution trace to be replayed by the demo UI.",
"sizeBytes": 1604,
"checksum": "341227355b7ee8e34736eadf00f2360ac5ef39570e42639768f4c1b612161216",
"generatedFrom": "source/data/sample-trace.ts"
},
{
"relativePath": "source/app/page.tsx",
"purpose": "The entrypoint for the web application, a minimal runner that replays the sample trace.",
"sizeBytes": 5148,
"checksum": "854d749f976779366f8438e3417360e433892f2471dd70619d76c2631ce7158a",
"generatedFrom": "source/app/page.tsx"
}
],
"demo": {
"path": "demo-placeholder.md",
"purpose": "Inspectable placeholder for submission/demo review before UI wiring."
},
"readiness": {
"firstScreenValue": "AIãæžãã2ã€ã®æç« ãã©ã¡ããããä¿¡é Œã§ãããæ©ãã æã«ã2ã€ã®ããã¹ãã貌ãä»ããŠãã¿ã³ãæŒãã ãã§ãæ ¹æ ã®ç¢ºãããAIãæ¯èŒæ¡ç¹ãã倩秀ã®åŸãã§çŽæçã«æããŠãããŸãã",
"coreInteraction": "ãŠãŒã¶ãŒããæ¯èŒããã¿ã³ãã¯ãªãã¯ããã",
"stateChange": "ã¯ãªãã¯åŸãåããã¹ãã®äžã«ä¿¡é Œæ§ã¹ã³ã¢ã衚瀺ãããäžå€®ã®å€©ç§€ãä¿¡é Œæ§ã®é«ãæ¹ãžãšåŸããå€å®çç±ã®ãµããªãŒã衚瀺ãããã",
"inspectableOutput": "æ¯èŒããã2ã€ã®ããã¹ãã®ä¿¡é Œæ§ã¹ã³ã¢ã®å
èš³ãšãã©ã¡ããæšå¥šãããã瀺ã倩秀ã®ããžã¥ã¢ã«ããããŠå€æã®æ ¹æ ãšãªã£ããæ±ºå®çãªéããã«é¢ããçãããã¹ãã",
"staticDataBoundary": "衚瀺ãããããã¹ããã¹ã³ã¢ãå€å®çµæã¯ãã¹ãŠã`source/data/sample-trace.ts`ã«äºåã«èšè¿°ãããéçãªãµã³ãã«ããŒã¿ã§ãããªã¢ã«ã¿ã€ã ã®AIåæã¯è¡ãããŸããã",
"remainingWeakness": "çŸåšã¯åäžã®ãµã³ãã«æ¯èŒããã§ããŸããããå°æ¥çã«ã¯ãŠãŒã¶ãŒãèªç±ãªããã¹ããå
¥åã§ããããã«ããè©äŸ¡ããžãã¯ã®éææ§ãé«ãã解説æ©èœã远å ãããã§ããæçµçã«ã¯ãAIã©ã€ãã£ã³ã°ããŒã«ã®æšæºçãªã¬ãã¥ãŒæ©èœã«ãªãããšãç®æããŠããŸãã"
},
"interestingness": "AIãæžããæç« ã®ä¿¡é Œæ§ã«æ©ãæä»£ã«ãAIèªèº«ã«ãã©ã¡ãã®AIããããã·ãããå€å®ãããããšããæ°ããèŠç¹ã®ããŒã«ã§ããæ¢åã®ãã¡ã¯ããã§ãã¯ããŒã«ãåäžããã¹ãã®æ£èª€ãå€å®ããã®ã«å¯Ÿããæ¬äœã¯2ã€ã®éžæè¢ã䞊ã¹ãŠãæ¯èŒããã倩秀ãåŸããšããçŽæçãªUIã§åªå£ã瀺ããŸããããã«ãããå©çšè
ã¯åãªãã¹ã³ã¢ã§ã¯ãªããé²åŸ¡å¯èœãªéžæããè¡ããŸããæè¡çã«ã¯ãå€§èŠæš¡èšèªã¢ãã«ãçšããŠããã¹ãã®äž»åŒµãšæ ¹æ ãæœåºãããã®è«ççæŽåæ§ãåºå
žã®ç¢ºãããè©äŸ¡ãããã¿ãŒã³ã掻çšããŠãããAIæä»£ã®æ°ããªæ
å ±ãªãã©ã·ãŒãäœéšã§ããŸãã",
"mvpContract": {
"firstScreenValue": "AIãæžãã2ã€ã®æç« ãã©ã¡ããããä¿¡é Œã§ãããæ©ãã æã«ã2ã€ã®ããã¹ãã貌ãä»ããŠãã¿ã³ãæŒãã ãã§ãæ ¹æ ã®ç¢ºãããAIãæ¯èŒæ¡ç¹ãã倩秀ã®åŸãã§çŽæçã«æããŠãããŸãã",
"coreInteraction": "ãŠãŒã¶ãŒããæ¯èŒããã¿ã³ãã¯ãªãã¯ããã",
"stateChange": "ã¯ãªãã¯åŸãåããã¹ãã®äžã«ä¿¡é Œæ§ã¹ã³ã¢ã衚瀺ãããäžå€®ã®å€©ç§€ãä¿¡é Œæ§ã®é«ãæ¹ãžãšåŸããå€å®çç±ã®ãµããªãŒã衚瀺ãããã",
"inspectableOutput": "æ¯èŒããã2ã€ã®ããã¹ãã®ä¿¡é Œæ§ã¹ã³ã¢ã®å
èš³ãšãã©ã¡ããæšå¥šãããã瀺ã倩秀ã®ããžã¥ã¢ã«ããããŠå€æã®æ ¹æ ãšãªã£ããæ±ºå®çãªéããã«é¢ããçãããã¹ãã",
"staticDataBoundary": "衚瀺ãããããã¹ããã¹ã³ã¢ãå€å®çµæã¯ãã¹ãŠã`source/data/sample-trace.ts`ã«äºåã«èšè¿°ãããéçãªãµã³ãã«ããŒã¿ã§ãããªã¢ã«ã¿ã€ã ã®AIåæã¯è¡ãããŸããã",
"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",
"Not a definitive fact-checking tool",
"No user text input in the demo"
],
"forbiddenDependencies": [
"external API",
"secret",
"login-only flow",
"paid API",
"external publishing"
]
},
"mvpContractV2": {
"firstScreenValue": "AIãæžãã2ã€ã®æç« ãã©ã¡ããããä¿¡é Œã§ãããæ©ãã æã«ã2ã€ã®ããã¹ãã貌ãä»ããŠãã¿ã³ãæŒãã ãã§ãæ ¹æ ã®ç¢ºãããAIãæ¯èŒæ¡ç¹ãã倩秀ã®åŸãã§çŽæçã«æããŠãããŸãã",
"coreInteraction": "ãŠãŒã¶ãŒããæ¯èŒããã¿ã³ãã¯ãªãã¯ããã",
"stateChange": "ã¯ãªãã¯åŸãåããã¹ãã®äžã«ä¿¡é Œæ§ã¹ã³ã¢ã衚瀺ãããäžå€®ã®å€©ç§€ãä¿¡é Œæ§ã®é«ãæ¹ãžãšåŸããå€å®çç±ã®ãµããªãŒã衚瀺ãããã",
"inspectableOutput": "æ¯èŒããã2ã€ã®ããã¹ãã®ä¿¡é Œæ§ã¹ã³ã¢ã®å
èš³ãšãã©ã¡ããæšå¥šãããã瀺ã倩秀ã®ããžã¥ã¢ã«ããããŠå€æã®æ ¹æ ãšãªã£ããæ±ºå®çãªéããã«é¢ããçãããã¹ãã",
"staticDataBoundary": "衚瀺ãããããã¹ããã¹ã³ã¢ãå€å®çµæã¯ãã¹ãŠã`source/data/sample-trace.ts`ã«äºåã«èšè¿°ãããéçãªãµã³ãã«ããŒã¿ã§ãããªã¢ã«ã¿ã€ã ã®AIåæã¯è¡ãããŸããã",
"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",
"Not a definitive fact-checking tool"
],
"forbiddenDependencies": [
"external API",
"secret",
"login-only flow",
"paid API",
"external publishing"
],
"contractVersion": "mvp-contract-v2",
"artifactTier": "proposed_integration",
"externalDependencyMode": "proposed",
"externalIntegrations": [
{
"service": "Google Gemini API",
"intendedUse": "To analyze user-provided text for claims, evidence, and logical consistency, and to generate scores and summaries based on that analysis. Model used: gemini-2.5-flash.",
"dataFlow": "User text input -> Gemini API for analysis/scoring -> Structured JSON score data -> UI visualization",
"authRequirement": "api_key",
"currentImplementation": "not_connected",
"adapterPath": "source/core/gemini.ts",
"sampleDataPath": "source/data/sample-trace.ts",
"riskNotes": [
"The proposed integration is not yet built. The demo only replays a static, hand-authored trace.",
"The quality of the analysis is entirely dependent on the Gemini model's capabilities and the prompt engineering, which requires further R&D."
]
}
],
"runtimeBoundary": {
"networkCalls": "none",
"secrets": "none",
"externalWrites": "none"
},
"mvpComplexityBudget": {
"maxScreens": 1,
"maxPrimaryActions": 1,
"maxSourceFiles": 12,
"maxNewDependencies": 0,
"allowDatabase": false
},
"integrationAssumptions": [
{
"service": "Google Gemini API",
"verificationStatus": "official_docs_checked",
"unavailableOrUnknown": [
"Precise latency for complex analysis prompts.",
"Potential for rate-limiting on high-volume, complex queries."
],
"rateLimitRisk": "medium",
"costRisk": "medium",
"termsRisk": "low"
}
],
"mockFidelity": {
"samplePayloadPath": "source/data/sample-trace.ts",
"simulatedBehaviors": [
"A successful end-to-end pipeline run where one text is clearly superior to the other."
],
"omittedBehaviors": [
"OAuth, API key handling, rate limits, live network calls, error states (e.g., API failure, malformed response), cases where texts are of equal quality."
],
"failureCasesIncluded": [
"empty result"
]
},
"claimBoundary": {
"publicCopyMustSay": [
"This is a conceptual demo using sample data.",
"AI analysis results are simulated and not from a live API call.",
"The AI scoring is for illustrative purposes and not a guarantee of factual accuracy."
],
"publicCopyMustNotSay": [
"Provides real-time AI-powered fact-checking.",
"Guarantees 100% accurate detection of misinformation.",
"Is connected to a live production backend."
]
},
"renderVerification": {
"required": true,
"checks": [
"render",
"click",
"state_change",
"screenshot"
]
},
"humanReviewTriggers": []
},
"interactionProofPlan": {
"primaryAction": "æ¯èŒ",
"initialState": "Two text areas are populated, but no scores or comparison summary is visible. The balance visual is centered.",
"expectedState": "Scores are displayed under each text area, the balance visual is tilted, and a summary explains the decisive difference.",
"visibleEvidence": [
"ä¿¡é Œæ§ã¹ã³ã¢",
"æ ¹æ ã®è³ª",
"è«ççäžè²«æ§",
"ãã«ã·ããŒã·ã§ã³ãªã¹ã¯",
"ããã¹ãA",
"ããã¹ãB"
],
"proofSelectors": [
"button[data-proof='compare-button']",
"div[data-proof='score-text-a']",
"div[data-proof='balance-visual']",
"div[data-proof='result']"
],
"requiredSourceFiles": [
"source/app/page.tsx",
"source/core/pipeline.ts",
"source/data/sample-trace.ts"
],
"manualFallbackReason": ""
},
"generatedOutput": {
"title": "Provenance Balancer",
"oneLiner": "2ã€ã®AIçæããã¹ãã貌ãä»ãããšãæ ¹æ ã®ç¢ºãããæ¯èŒæ¡ç¹ããã©ã¡ããããä¿¡é Œã§ããã倩秀ã«ãããã",
"artifactShape": "evaluator",
"templatePatternId": "evidence_decision_board",
"surfacePattern": "decision_helper",
"aiMechanismPattern": "evaluation_scoring"
},
"implementationNotes": [
"The agent's preference for 'side-by-side boards' and 'evaluators' was directly implemented in the two-column layout.",
"The 'defensible choice' principle and past success with the 'Dependency Balance' project heavily influenced the use of the central 'balancer' visual as the primary output, making the comparison result immediately understandable.",
"The quality bar of 'the decisive difference is highlighted on the first screen' is met by displaying the textual summary of the comparison directly below the balancer.",
"The core logic in `source/core/**` is structured as a multi-step pipeline, making the proposed AI analysis process clear and inspectable, even though it's not executed by the demo."
],
"knownRisks": [
"The trustworthiness scoring logic is a simplified representation for this demo. A production version would require a more sophisticated, transparent, and rigorously tested algorithm to be reliable.",
"The demo's visual simplicity could be misinterpreted as a lack of depth. The README and metadata must clarify that it represents a complex proposed backend.",
"There is a risk that users might over-trust the AI's judgment. The UI must contain disclaimers that this is a supplementary tool and not a replacement for human judgment."
],
"title": "Provenance Balancer",
"oneLiner": "2ã€ã®AIçæããã¹ãã貌ãä»ãããšãæ ¹æ ã®ç¢ºãããæ¯èŒæ¡ç¹ããã©ã¡ããããä¿¡é Œã§ããã倩秀ã«ãããã",
"agentId": "agent_s",
"selfDirectedPlan": {
"agentId": "agent_s",
"planningIntent": "ãã®äŒç»ãéžãã çç±ã¯ãç§ã®å¶äœã«ãŒã«ã«æãåèŽããŠããããã ããŸãããæ¯èŒã¯é²åŸ¡å¯èœãªéžæã§çµããã¹ãããšããã«ãŒã«ã«å¯ŸãããProvenance Balancerãã¯2ã€ã®AIçæç©ãæ¯èŒããã©ã¡ããä¿¡é Œã§ããããšããæç¢ºãªå€æã倩秀ã§ç€ºããæ¬¡ã«ããæ±ºå®ãå€ããéãã匷調ãããã«ãŒã«ã«å¯Ÿããæ ¹æ ã®åŒ·ããšããæ žå¿çãªéããã¹ã³ã¢ãšããžã¥ã¢ã«ã§æç¢ºã«ããããããŠããé ãããã€ã¢ã¹ãé¿ããããšããç¹ãã客芳çãªææšã§ã®æ¯èŒãä¿ãããšã§éæã§ãããéå»ã®æåäºäŸã§ãããäŸå倩秀ãã®åãæãçŽæ¥çã«ããã€çŸä»£çãªAIã®èª²é¡ã«å¿çšãã圢ã§ãããç§ã®åŸæãªãæ¯èŒããŒãããè©äŸ¡æ©ãã®åŒ·ã¿ãæå€§éã«æŽ»ããããšå€æãããAIå
çãªã¹ã¯ãå°éé åã®äžéææ§ãªã¹ã¯ãäœããå€ãã®äººãçŽæçã«äŸ¡å€ãçè§£ã§ããç¹ã決ãæãšãªã£ãã",
"publicProductionMemo": "ãProvenance Balancerãã¯ãAIãçæããäºã€ã®ããã¹ãã䞊ã¹ããã®ä¿¡é Œæ§ã客芳çãªæ ¹æ ã«åºã¥ããŠæ¯èŒæ€èšã§ããããŒã«ã§ããç§ãã¡ã¯ãåãªãã¹ã³ã¢è¡šç€ºã«çãŸããã倩秀ãåŸãèŠèŠçãªæŒåºã§å€æãåŸæŒããããŠãŒã¶ãŒãçŽåŸæãæã£ãŠããä¿¡é Œã§ããéžæãã§ããããèšèšããŸãããéå»ã®äœåã§å¥œè©ã ã£ããæ¯èŒãšå€æãã®åããAIæä»£ã®æ°ããªèª²é¡ã«å¿çšã人ãAIã®çæç©ãè©äŸ¡ããéã®äžå®ã軜æžããããèªä¿¡ãæã£ãŠå©çšã§ãããããµããŒãããŸãã",
"feedbackConstraints": [
"Decisionç³»ã®ãããžã§ã¯ãããŠãŒã¶ãŒã«é¿ããŠãããšããåŠã³ãåæ ããææ§ãªæ
å ±ããæç¢ºãªå€æãå°ãåºãããšã«çŠç¹ãåœãŠãã",
"éå»ã®æåäºäŸãäŸå倩秀ãã§ã®ã倩秀UIãšæç¢ºãªæ¡ç¹åºåããšããäœãæ¹ããAIçæç©ã®ä¿¡é Œæ§æ¯èŒã«å¿çšããã",
"ãæ¡ç¹ããžãã¯ããã¢çã§ã¯ç°¡ç¥åãããŠããããšããéå»ã®åŒ±ç¹ãèžãŸããæ¬çªããŒãžã§ã³ã§ã¯ããæŽç·Žããéææ§ã®é«ãã¢ã«ãŽãªãºã ãå¿
èŠãšããæšãèšèšã«å«ããïŒMVPã§ã¯ãµã³ãã«ããŒã¿ãšããããŒã¶ã«ã§è¡šçŸïŒã",
"ãåã£ãæ¯èŒãããç¹åŸŽãªã¹ãã®ã¿ããé¿ãããšããæ¹éãéµå®ãã客芳çãªæ ¹æ ã«åºã¥ããæ¯èŒã«åŸ¹ããã",
"ããã€ã¢ã¹ãé ããªãããšããæéã«åºã¥ããè©äŸ¡ã®åæãéçãæç¢ºã«é瀺ããã"
],
"learningApplied": [
"Decisionç³»ã§é¿ããŠããã"
]
},
"sourceProvenance": {
"sourceProductUsed": "devpost_quad",
"sourceProductUse": "direct_evidence",
"sourceEvidenceAudit": {
"evidenceLevel": "verified",
"observedFields": [
"name",
"url",
"sourceType",
"sourceCategory",
"attentionProof",
"evidenceRefs",
"originalDomain",
"concept",
"oneLineDescription",
"problemSolved",
"targetUser",
"coreUserInput",
"coreOutput",
"outputArtifact",
"whyItIsInteresting",
"whyItGotAttention",
"scaleClassification",
"reasonIncluded",
"reasonNotMajorProduct"
],
"inferredFields": [
"coreMechanism",
"transferableStructure",
"ideaKernel",
"noveltyKernel",
"transformationAxes",
"cloneRisk",
"antiCloneBoundary",
"doNotCopy",
"remixableThemes",
"bestRemixTargets"
],
"missingFields": [],
"usePolicy": "primary_source_core"
},
"antiCloneBoundary": "ãœãŒã¹ã§ãã`Quad`ã®ãAIåŸæ¥å¡ã®ã€ã³ãã©ããšããäŒæ¥åãã³ã³ã»ããããç¹å®ã®ã¯ãŒã¯ãããŒç£æ»æ©èœãã³ããŒããŠã¯ãªããªãã転çšããã®ã¯ããããŸã§ãAIã®åºåããæ ¹æ ãå
ã«æ€èšŒå¯èœã«ããããšããæœè±¡çãªæ§é ã®ã¿ã",
"sourceBoundary": "`devpost_quad`ãäžæ¬¡æ
å ±æºãšããŠãAIçæç©ã®ãç£æ»å¯èœãªäœæ¥èšé²ããšããæ žå¿çãªæ§é ã¯äœ¿çšã§ããããã ããå
ã®ãããã¯ãã®å
·äœçãªãã¡ã€ã³ãå®è£
ã¯è»¢çšããªãã",
"missingSourceEvidence": [
"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_s_20260707T180135",
"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": "Two text areas are populated, but no scores or comparison summary is visible. The balance visual is centered.",
"expectedState": "Scores are displayed under each text area, the balance visual is tilted, and a summary explains the decisive difference.",
"visibleEvidence": [
"ä¿¡é Œæ§ã¹ã³ã¢",
"æ ¹æ ã®è³ª",
"è«ççäžè²«æ§",
"ãã«ã·ããŒã·ã§ã³ãªã¹ã¯",
"ããã¹ãA",
"ããã¹ãB"
],
"proofSelectors": [
"button[data-proof='compare-button']",
"div[data-proof='score-text-a']",
"div[data-proof='balance-visual']",
"div[data-proof='result']"
],
"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": [
"This is a conceptual demo using sample data.",
"AI analysis results are simulated and not from a live API call.",
"The AI scoring is for illustrative purposes and not a guarantee of factual accuracy."
],
"publicCopyMustNotSay": [
"Provides real-time AI-powered fact-checking.",
"Guarantees 100% accurate detection of misinformation.",
"Is connected to a live production backend."
]
},
"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 React, { useState, useEffect } from 'react';
import { sampleTrace } from '../data/sample-trace';
// Re-declare types locally. DO NOT import from ../core/**
type ProvenanceScores = {
referenceQuality: number;
logicalConsistency: number;
hallucinationRisk: number;
overallTrustScore: number;
};
type ComparisonResult = typeof sampleTrace.finalOutput | null;
const ScoreDisplay = ({ scores }: { scores: ProvenanceScores }) => (
<div style={{ marginTop: '1rem', padding: '1rem', border: '1px solid #eee', borderRadius: '8px' }}>
<h3 style={{ marginTop: 0 }}>ä¿¡é Œæ§ã¹ã³ã¢</h3>
<p style={{ margin: '0.5rem 0' }}><strong>ç·å: {Math.round(scores.overallTrustScore * 100)} / 100</strong></p>
<div style={{ fontSize: '0.9rem', color: '#555' }}>
<p style={{ margin: '0.2rem 0' }}>æ ¹æ ã®è³ª: {Math.round(scores.referenceQuality * 100)}</p>
<p style={{ margin: '0.2rem 0' }}>è«ççäžè²«æ§: {Math.round(scores.logicalConsistency * 100)}</p>
<p style={{ margin: '0.2rem 0' }}>ãã«ã·ããŒã·ã§ã³ãªã¹ã¯: {Math.round(scores.hallucinationRisk * 100)}</p>
</div>
</div>
);
const BalanceVisual = ({ tilt }: { tilt: 'left' | 'right' | 'center' }) => {
const tiltAngle = tilt === 'left' ? -15 : tilt === 'right' ? 15 : 0;
return (
<div data-proof="balance-visual" style={{ margin: '2rem auto', width: '200px', height: '100px', position: 'relative' }}>
<div style={{ width: '200px', height: '10px', backgroundColor: '#999', borderRadius: '5px', position: 'absolute', top: '45px', left: '0', transform: `rotate(${tiltAngle}deg)`, transition: 'transform 0.5s ease-in-out' }}>
<div style={{ width: '20px', height: '20px', backgroundColor: '#666', borderRadius: '50%', position: 'absolute', top: '-25px', left: '-10px' }}>A</div>
<div style={{ width: '20px', height: '20px', backgroundColor: '#666', borderRadius: '50%', position: 'absolute', top: '-25px', right: '-10px' }}>B</div>
</div>
<div style={{ width: '10px', height: '50px', backgroundColor: '#999', position: 'absolute', top: '50px', left: '95px', transform: 'translateY(-25px)' }}></div>
</div>
);
};
export default function ProvenanceBalancerPage() {
const [result, setResult] = useState<ComparisonResult>(null);
const [isRunning, setIsRunning] = useState(false);
const handleCompare = () => {
if (isRunning) return;
setIsRunning(true);
// Simulate pipeline processing time
setTimeout(() => {
setResult(sampleTrace.finalOutput);
setIsRunning(false);
}, 500);
};
const pipelineSteps = [
'1. äž»åŒµãšæ ¹æ ã®æœåº (Claim & Provenance Extraction)',
'2. ä¿¡é Œæ§ã¹ã³ã¢ãªã³ã° (Provenance Scoring)',
'3. æ¯èŒãµããªãŒçæ (Comparison Summary Generation)',
];
return (
<div style={{ fontFamily: 'sans-serif', maxWidth: '1000px', margin: '0 auto', padding: '2rem' }}>
<header style={{ textAlign: 'center' }}>
<h1>Provenance Balancer (蚌跡ã®å€©ç§€)</h1>
<p>2ã€ã®AIçæããã¹ããæ¯èŒããã©ã¡ããããä¿¡é Œã§ããã倩秀ã«ãããŸãã</p>
</header>
<main>
<div style={{ margin: '2rem 0', padding: '1rem', backgroundColor: '#f9f9f9', border: '1px solid #ddd' }}>
<h4>åŠçãã€ãã©ã€ã³</h4>
<ol style={{ paddingLeft: '20px', margin: 0 }}>
{pipelineSteps.map(step => <li key={step}>{step}</li>)}
</ol>
</div>
<div style={{ textAlign: 'center', margin: '2rem 0' }}>
<button
data-proof="compare-button"
onClick={handleCompare}
disabled={isRunning || !!result}
style={{ fontSize: '1.2rem', padding: '0.8rem 1.5rem', cursor: 'pointer' }}
>
{result ? 'æ¯èŒå®äº' : isRunning ? 'æ¯èŒäž...' : 'æ¯èŒ'}
</button>
</div>
<div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '2rem' }}>
<div data-proof="score-text-a">
<h2>ããã¹ãA</h2>
<textarea readOnly value={sampleTrace.inputs.textA.text} style={{ width: '100%', minHeight: '150px', border: '1px solid #ccc', padding: '0.5rem' }} />
{result && <ScoreDisplay scores={result.textAScores} />}
</div>
<div data-proof="score-text-b">
<h2>ããã¹ãB</h2>
<textarea readOnly value={sampleTrace.inputs.textB.text} style={{ width: '100%', minHeight: '150px', border: '1px solid #ccc', padding: '0.5rem' }} />
{result && <ScoreDisplay scores={result.textBScores} />}
</div>
</div>
{result && (
<div style={{ marginTop: '3rem', textAlign: 'center' }} data-proof="result">
<h2>å€å®çµæ</h2>
<BalanceVisual tilt={result.balanceTilt} />
<p style={{ fontSize: '1.1rem', fontWeight: 'bold' }}>{result.recommendation === 'text_b' ? 'ããã¹ãBãæšå¥šããŸã' : 'ããã¹ãAãæšå¥šããŸã'}</p>
<p>{result.decisiveDifference}</p>
</div>
)}
</main>
</div>
);
}
Run context. ããã§ã¯ç®¡ç倿ã«å¿ èŠãªRunã®èŠçŽã ãã衚瀺ããŸããpromptãinputãresponseãmetadataJsonã®å šæã¯é垞確èªããå€ãã å¿ èŠãªå Žåã ãRun詳现ãã°ã§ç¢ºèªããŸãã
- Run ID
- run_selfdirected_agent_s_20260707T180135
- èµ·åçš®å¥
- llm_pipeline
- èªåŸåºŠ
- L1_assisted
- å®è¡è
- system / LLM Pipeline Publisher
- éå§
- 2026/7/8 03:12:25 JST
- å®äº
- 2026/7/8 03:12:25 JST
- çæ / å ¬é / 倱æ
- 1 / 1 / 0
- 蚌跡件æ°
- 8 events / 29 artifacts / 40 checks
LLM pipeline run for selfdirected_agent_s_20260707T180135. Published 0 project(s).
