{"_id":"@dmsdc-ai/aigentry-dustcraw","_rev":"4-bd66322b3931c7ddaf8c13f9e3825f8f","name":"@dmsdc-ai/aigentry-dustcraw","dist-tags":{"latest":"0.3.1"},"versions":{"0.1.1":{"name":"@dmsdc-ai/aigentry-dustcraw","version":"0.1.1","keywords":["aigentry","dustcraw","data-collection","rss","scraping","auto-ingest"],"author":{"name":"dmsdc-ai"},"license":"MIT","_id":"@dmsdc-ai/aigentry-dustcraw@0.1.1","maintainers":[{"name":"duckyoung_kim","email":"banggayo3@gmail.com"}],"bin":{"dustcraw":"bin/dustcraw.js"},"dist":{"shasum":"d3292a257d3b063dae0f4d082092222e6751dc0d","tarball":"https://registry.npmjs.org/@dmsdc-ai/aigentry-dustcraw/-/aigentry-dustcraw-0.1.1.tgz","fileCount":117,"integrity":"sha512-yd+5HesxLZayGfSxfvhZLiIDrW5WqJLerX8IXQ9QPWmvtIYUKsvMtcLNnfsD7BoyG7nql2YEaOSsdocEEzzbqQ==","signatures":[{"sig":"MEUCIQDkCwm4giuvYT2JhdpAjSqXwnbn8bnIulOcBDUEAQBNpwIgDMYQo4pCPejOV1vOypXPxrZpCnh1Zb/zVl38HxRXuyA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":502345},"main":"src/index.ts","type":"module","gitHead":"738e33dc9ae3814e38d66cc77928a382b6c603c1","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"duckyoung_kim","email":"banggayo3@gmail.com"},"_npmVersion":"10.8.2","description":"Airborne signal absorber — collects floating public data (RSS/API/web) and feeds aigentry-brain","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/aigentry-dustcraw_0.1.1_1773336062679_0.6364924479397673","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@dmsdc-ai/aigentry-dustcraw","version":"0.2.0","keywords":["aigentry","dustcraw","data-collection","rss","scraping","auto-ingest"],"author":{"name":"dmsdc-ai"},"license":"MIT","_id":"@dmsdc-ai/aigentry-dustcraw@0.2.0","maintainers":[{"name":"duckyoung_kim","email":"banggayo3@gmail.com"}],"bin":{"dustcraw":"bin/dustcraw.js"},"dist":{"shasum":"000910fb7d721a18f35e957a0cf1e852e93beab2","tarball":"https://registry.npmjs.org/@dmsdc-ai/aigentry-dustcraw/-/aigentry-dustcraw-0.2.0.tgz","fileCount":107,"integrity":"sha512-QKuHPR0DCJk/ekw5F7P5asJJuIZ0ttddIPmssf4RW0Nl+iPiMhHwW3TZv5rl6r6Xg3T3cQtkpirdRbArhH0qpA==","signatures":[{"sig":"MEQCICpLPDXO22d+FjB1J96zEmHXCVFSCBMzVIVHPfFjnAUDAiBJ6MfPU+oZuENn8YjX8wOXjHBtGs0/EIdnApz0pbwScg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":483487},"main":"src/index.ts","type":"module","gitHead":"b8088f5c78c49081b1b83715917bdaa93208445c","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"duckyoung_kim","email":"banggayo3@gmail.com"},"_npmVersion":"10.8.2","description":"Airborne signal absorber — collects floating public data (RSS/API/web) and feeds aigentry-brain","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/aigentry-dustcraw_0.2.0_1773342376582_0.2650267974127358","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@dmsdc-ai/aigentry-dustcraw","version":"0.3.0","keywords":["aigentry","dustcraw","data-collection","rss","scraping","auto-ingest"],"author":{"name":"dmsdc-ai"},"license":"MIT","_id":"@dmsdc-ai/aigentry-dustcraw@0.3.0","maintainers":[{"name":"duckyoung_kim","email":"banggayo3@gmail.com"}],"bin":{"dustcraw":"bin/dustcraw.js"},"dist":{"shasum":"38d03d6bf0f2ac5e74fd72d6c562e98f75860d7b","tarball":"https://registry.npmjs.org/@dmsdc-ai/aigentry-dustcraw/-/aigentry-dustcraw-0.3.0.tgz","fileCount":429,"integrity":"sha512-ehygPbCaenEjxnjaXXgy9xqHOMXq0LqcSypIzy5I7TnUm1EN2cdqf6cTr8z9egVICLguGD85eBO5eW2JhiE/0Q==","signatures":[{"sig":"MEUCIANVG5rQfbTXm8n5Pgf04yofQ80hxKuAZNJEWTb3HQg9AiEAqw114OlyYZtP6kDxRJ0QvGlf2j6dUNq5MhpgZObEPVo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1189448},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","gitHead":"e358205fe5ef699cf3fac30fe8633a9785e7ec6a","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"duckyoung_kim","email":"banggayo3@gmail.com"},"_npmVersion":"10.8.2","description":"Airborne signal absorber — collects floating public data (RSS/API/web) and feeds aigentry-brain","directories":{},"_nodeVersion":"20.20.0","dependencies":{"tsx":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/aigentry-dustcraw_0.3.0_1773496256075_0.2980028108605901","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@dmsdc-ai/aigentry-dustcraw","version":"0.3.1","description":"Airborne signal absorber — collects floating public data (RSS/API/web) and feeds aigentry-brain","type":"module","main":"dist/src/index.js","types":"dist/src/index.d.ts","bin":{"dustcraw":"bin/dustcraw.js"},"scripts":{"build":"tsc","prepublishOnly":"npm run build","test":"vitest run","test:watch":"vitest","lint":"tsc --noEmit"},"keywords":["aigentry","dustcraw","data-collection","rss","scraping","auto-ingest"],"author":{"name":"dmsdc-ai"},"license":"MIT","dependencies":{"tsx":"^4.0.0"},"devDependencies":{"typescript":"^5.7.3","vitest":"^4.0.0"},"_id":"@dmsdc-ai/aigentry-dustcraw@0.3.1","gitHead":"17ea151b1545f3efd0358bcd30ae0121dd73b9e8","_nodeVersion":"20.20.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-1A5Dt1VdN+0zkDNlqXU92RNBQsqW1FzLNwhpH0fHZpbHo16Z4brXGi1hRMyzS2CIapPXDBZmh4WCMm81unWsTQ==","shasum":"011a47430b9235662af9b99379dffdc043bfc042","tarball":"https://registry.npmjs.org/@dmsdc-ai/aigentry-dustcraw/-/aigentry-dustcraw-0.3.1.tgz","fileCount":429,"unpackedSize":1189455,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCJDp6gflaIEsSGzYoLQ3qVVcaAsVz5ZhQLhEO6aaoGsQIgLX5OzmLbSupd6FCq50NTvsAV3tUT241IPK4hBoSZdLU="}]},"_npmUser":{"name":"duckyoung_kim","email":"banggayo3@gmail.com"},"directories":{},"maintainers":[{"name":"duckyoung_kim","email":"banggayo3@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/aigentry-dustcraw_0.3.1_1773496423267_0.7969211037132842"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-12T17:21:02.559Z","modified":"2026-03-14T13:53:43.610Z","0.1.1":"2026-03-12T17:21:02.882Z","0.2.0":"2026-03-12T19:06:16.820Z","0.3.0":"2026-03-14T13:50:56.251Z","0.3.1":"2026-03-14T13:53:43.477Z"},"author":{"name":"dmsdc-ai"},"license":"MIT","keywords":["aigentry","dustcraw","data-collection","rss","scraping","auto-ingest"],"description":"Airborne signal absorber — collects floating public data (RSS/API/web) and feeds aigentry-brain","maintainers":[{"name":"duckyoung_kim","email":"banggayo3@gmail.com"}],"readme":"# dustcraw\n\n**Airborne signal absorber** — collects floating public data (RSS/API/web) and feeds the AI ecosystem.\n\n## Core Principle: Revenue & User Value First\nEvery feature and data source is prioritized by:\n1. **Profitability** — Does it contribute to revenue?\n2. **Desirability** — Do users love this content?\n3. **Demand** — Is there a real need for this information?\n4. **Usage** — Is the source high-traffic/engagement?\n\n## Architecture\n- **Patch Model**: TTL-based configuration adjustments via `resolveConfig()`.\n- **DecisionGate**: Autonomous multi-AI deliberation for self-amplifying system changes.\n- **AdaptiveGovernor**: Dynamic thresholding based on promotion trends.\n- **Handoff System**: Post-deliberation task routing to executor agents.\n- **SignalStore (v0.2.0)**: Local JSONL-based storage for promoted signals, ensuring durability even when the brain is unavailable.\n- **Brain Isolation Strategy (v0.2.0)**: Decoupled architecture using `BrainClientAdapter`. `dustcraw` no longer requires a direct brain connection for its core loop, promoting portability and fault tolerance.\n\n## New Feature: Self-Amplifying Architecture\nAs of v0.2.0, `dustcraw` implements a self-amplifying feedback loop:\n- **Adaptive Budgeting**: The system fetches user interaction stats from the brain to dynamically adjust `PromotionBudget`. High-value signals lead to increased ingestion capacity.\n- **Interest Drift Detection**: Automatically identifies shifts in user interest and adjusts `InterestTermStore` via autonomous deliberation.\n\n## New Feature: Autonomous Deliberation Handoff\nAs of v0.1.1, `dustcraw` supports the **Autonomous Deliberation Handoff** pattern:\n- **Synthesis Consumption**: Automatically polls `mcp-deliberation` state files for completed deliberations with `auto_execute: true`.\n- **Structured Tasks**: Parses `actionable_tasks` (id, task, files, priority) to create precise implementation jobs.\n- **Shared Envelope**: Uses the ecosystem-wide `SharedEnvelope` format for cross-agent communication.\n- **Inbox Watcher**: A background daemon (`bin/inbox-watcher.mjs`) that picks up tasks and executes them via specialized AI skills (autopilot, TDD, parallel execution).\n\n## Setup & Usage\n```bash\nnpm install\nnpm run build\ndustcraw init   # Create default config\ndustcraw start  # Run the collection daemon\n```\n\n## Tech Stack\n- TypeScript (ESM)\n- Vitest\n- Node.js\n- systemd (Deployment)\n","readmeFilename":"README.md"}