https://github.com/ROI-DANINO/feather-browser
· scanned 2026-06-15 23:55 UTC (2 months, 3 weeks ago)
70 raw signals (0 security + 70 graph)
Last scanned 2 months, 3 weeks ago · v1 · 69 actionable findings from 1 signal source. 1 repeated signal grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 1002 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
feather.md |
software | healthy | feather.md |
README.md |
software | healthy | README.md |
PROGRESS.md |
software | healthy | PROGRESS.md |
CLAUDE.md |
software | healthy | CLAUDE.md |
package.json |
software | healthy | package.json |
package-lock.json |
software | healthy | package-lock.json |
ROADMAP.md |
software | healthy | ROADMAP.md |
vitest.measurement.config.ts |
software | healthy | vitest.measurement.config.ts |
tsconfig.json |
software | healthy | tsconfig.json |
LICENSE |
software | healthy | LICENSE |
AGENTS.md |
software | healthy | AGENTS.md |
vitest.config.ts |
software | healthy | vitest.config.ts |
vitest.integration.config.ts |
software | healthy | vitest.integration.config.ts |
0011-the-doors-before-the-guards.md |
software | healthy | blog/0011-the-doors-before-the-guards.md |
0020-feather-on-trial.md |
software | healthy | blog/0020-feather-on-trial.md |
0010-the-three-locks.md |
software | healthy | blog/0010-the-three-locks.md |
0012-the-map-i-drew-for-myself.md |
software | healthy | blog/0012-the-map-i-drew-for-myself.md |
0001-the-story-so-far.md |
software | healthy | blog/0001-the-story-so-far.md |
README.md |
software | healthy | blog/README.md |
0002-write-it-down-or-it-didnt-happen.md |
software | healthy | blog/0002-write-it-down-or-it-didnt-happen.md |
0006-the-hello-world-that-logged-in-as-me.md |
software | healthy | blog/0006-the-hello-world-that-logged-in-as-me.md |
0018-hired-on-probation.md |
software | healthy | blog/0018-hired-on-probation.md |
0007-the-keys-were-under-the-doormat.md |
software | healthy | blog/0007-the-keys-were-under-the-doormat.md |
0008-the-shared-room.md |
software | healthy | blog/0008-the-shared-room.md |
0019-the-reviews-that-caught-me-lying.md |
software | healthy | blog/0019-the-reviews-that-caught-me-lying.md |
0005-the-migration-that-needed-no-code.md |
software | healthy | blog/0005-the-migration-that-needed-no-code.md |
0015-the-relay.md |
software | healthy | blog/0015-the-relay.md |
_pending.md |
software | healthy | blog/_pending.md |
0016-ten-errands.md |
software | healthy | blog/0016-ten-errands.md |
0003-the-scaffolding-was-hiding-the-house.md |
software | healthy | blog/0003-the-scaffolding-was-hiding-the-house.md |
0013-the-test-that-passed.md |
software | healthy | blog/0013-the-test-that-passed.md |
0014-tests-that-can-fail.md |
software | healthy | blog/0014-tests-that-can-fail.md |
0009-the-demo-that-fact-checked-me.md |
software | healthy | blog/0009-the-demo-that-fact-checked-me.md |
0004-the-feature-that-was-never-there.md |
software | healthy | blog/0004-the-feature-that-was-never-there.md |
0017-teaching-it-to-see.md |
software | healthy | blog/0017-teaching-it-to-see.md |
perception-walk.integration.test.ts |
software | healthy | tests/integration/perception-walk.integration.test.ts |
capability-gate.integration.test.ts |
software | healthy | tests/integration/capability-gate.integration.test.ts |
close-tab.integration.test.ts |
software | healthy | tests/integration/close-tab.integration.test.ts |
observe.integration.test.ts |
software | healthy | tests/integration/observe.integration.test.ts |
dismiss.integration.test.ts |
software | healthy | tests/integration/dismiss.integration.test.ts |
debug-capture.integration.test.ts |
software | healthy | tests/integration/debug-capture.integration.test.ts |
transport.integration.test.ts |
software | healthy | tests/integration/transport.integration.test.ts |
sse.integration.test.ts |
software | healthy | tests/integration/sse.integration.test.ts |
origin-host-hardening.integration.test.ts |
software | healthy | tests/integration/origin-host-hardening.integration.test.ts |
attach-cdp.integration.test.ts |
software | healthy | tests/integration/attach-cdp.integration.test.ts |
tab-updated.integration.test.ts |
software | healthy | tests/integration/tab-updated.integration.test.ts |
disposable-cleanup.integration.test.ts |
software | healthy | tests/integration/disposable-cleanup.integration.test.ts |
profile-lock.integration.test.ts |
software | healthy | tests/integration/profile-lock.integration.test.ts |
observe-loop.integration.test.ts |
software | healthy | tests/integration/observe-loop.integration.test.ts |
secret-leakage.integration.test.ts |
software | healthy | tests/integration/secret-leakage.integration.test.ts |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
pageWith |
software | healthy | tests/integration/perception-walk.integration.test.ts:pageW… |
makeMockManager |
software | healthy | tests/integration/capability-gate.integration.test.ts:makeM… |
request |
software | healthy | tests/integration/capability-gate.integration.test.ts:reque… |
authed |
software | healthy | tests/integration/capability-gate.integration.test.ts:authed |
requestGrant |
software | healthy | tests/integration/capability-gate.integration.test.ts:reque… |
lastApprovalToken |
software | healthy | tests/integration/capability-gate.integration.test.ts:lastA… |
api |
software | healthy | tests/integration/close-tab.integration.test.ts:api |
setup |
software | healthy | tests/integration/observe.integration.test.ts:setup |
api |
software | healthy | tests/integration/dismiss.integration.test.ts:api |
api |
software | healthy | tests/integration/debug-capture.integration.test.ts:api |
makeMockManager |
software | healthy | tests/integration/transport.integration.test.ts:makeMockMan… |
makeMockManager |
software | healthy | tests/integration/sse.integration.test.ts:makeMockManager |
makeMockManager |
software | healthy | tests/integration/origin-host-hardening.integration.test.ts… |
request |
software | healthy | tests/integration/origin-host-hardening.integration.test.ts… |
api |
software | healthy | tests/integration/tab-updated.integration.test.ts:api |
api |
software | healthy | tests/integration/disposable-cleanup.integration.test.ts:api |
api |
software | healthy | tests/integration/profile-lock.integration.test.ts:api |
api |
software | healthy | tests/integration/observe-loop.integration.test.ts:api |
api |
software | healthy | tests/integration/api-flow.integration.test.ts:api |
api |
software | healthy | tests/integration/observe-route.integration.test.ts:api |
request |
software | healthy | tests/integration/identity.integration.test.ts:request |
authed |
software | healthy | tests/integration/identity.integration.test.ts:authed |
mockSessions |
software | healthy | tests/integration/identity.integration.test.ts:mockSessions |
api |
software | healthy | tests/integration/input-commands.integration.test.ts:api |
dataUrl |
software | healthy | tests/integration/input-commands.integration.test.ts:dataUrl |
waitForUrl |
software | healthy | tests/integration/input-commands.integration.test.ts:waitFo… |
goto |
software | healthy | tests/integration/input-commands.integration.test.ts:goto |
readResult |
software | healthy | tests/integration/input-commands.integration.test.ts:readRe… |
start |
software | healthy | tests/integration/input-commands.integration.test.ts:start |
api |
software | healthy | tests/integration/tabs-discovery.integration.test.ts:api |
api |
software | healthy | tests/integration/proxy-redaction.integration.test.ts:api |
api |
software | healthy | tests/integration/await-human.integration.test.ts:api |
dataUrl |
software | healthy | tests/integration/await-human.integration.test.ts:dataUrl |
captureResumePath |
software | healthy | tests/integration/await-human.integration.test.ts:captureRe… |
findSystemChromium |
software | healthy | tests/integration/system-chromium.integration.test.ts:findS… |
chromiumBuild |
software | healthy | tests/integration/system-chromium.integration.test.ts:chrom… |
row |
software | healthy | tests/unit/perception-diff.test.ts:row |
newSession |
software | healthy | tests/unit/observe-cache.test.ts:newSession |
fakeHandle |
software | healthy | tests/unit/observe-cache.test.ts:fakeHandle |
r |
software | healthy | tests/unit/dismiss-match.test.ts:r |
ov |
software | healthy | tests/unit/dismiss-match.test.ts:ov |
check |
software | healthy | tests/unit/fs-layout.test.ts:check |
mkTmp |
software | healthy | tests/unit/fs-layout.test.ts:mkTmp |
left |
software | healthy | tests/unit/screenshot-retention.test.ts:left |
makeSession |
software | healthy | tests/unit/commands/health.test.ts:makeSession |
callsAfterPoll |
software | healthy | tests/unit/commands/await-human.test.ts:callsAfterPoll |
obs |
software | healthy | tests/unit/commands/dismiss.test.ts:obs |
result |
software | healthy | tests/unit/commands/wait.test.ts:result |
makeRunningSession |
software | healthy | tests/unit/sessions/session-close-tab.test.ts:makeRunningSe… |
makeSession |
software | healthy | tests/unit/sessions/session-dynamic-pages.test.ts:makeSessi… |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
blog |
software | healthy | blog |
tests |
software | healthy | tests |
integration |
software | healthy | tests/integration |
unit |
software | healthy | tests/unit |
commands |
software | healthy | tests/unit/commands |
scripts |
software | healthy | tests/unit/scripts |
sessions |
software | healthy | tests/unit/sessions |
logs |
software | healthy | tests/unit/logs |
identity |
software | healthy | tests/unit/identity |
transport |
software | healthy | tests/unit/transport |
profiles |
software | healthy | tests/unit/profiles |
capability |
software | healthy | tests/unit/capability |
debug |
software | healthy | tests/unit/debug |
browser |
software | healthy | tests/unit/browser |
measurement |
software | healthy | tests/measurement |
helpers |
software | healthy | tests/helpers |
journal |
software | healthy | journal |
archive |
software | healthy | journal/archive |
next |
software | healthy | journal/archive/next |
2026-06-07 |
software | healthy | journal/archive/next/2026-06-07 |
2026-06-11 |
software | healthy | journal/archive/next/2026-06-11 |
2026-06-09 |
software | healthy | journal/archive/next/2026-06-09 |
2026-06-15 |
software | healthy | journal/archive/next/2026-06-15 |
2026-06-08 |
software | healthy | journal/archive/next/2026-06-08 |
2026-06-10 |
software | healthy | journal/archive/next/2026-06-10 |
handoffs |
software | healthy | journal/archive/handoffs |
ops |
software | healthy | journal/ops |
archive |
software | healthy | journal/ops/archive |
sessions |
software | healthy | journal/ops/sessions |
raw |
software | healthy | journal/raw |
archive |
software | healthy | journal/raw/archive |
_inbox |
software | healthy | journal/raw/_inbox |
memory |
software | healthy | journal/memory |
context |
software | healthy | journal/context |
work |
software | healthy | journal/work |
automation |
software | healthy | journal/work/automation |
product |
software | healthy | journal/work/product |
browser |
software | healthy | journal/work/browser |
docs |
software | healthy | docs |
commands |
software | healthy | docs/commands |
feather_notebooklm_pack |
software | healthy | docs/feather_notebooklm_pack |
sessions |
software | healthy | docs/sessions |
v1_wrap |
software | healthy | docs/v1_wrap |
claude-for-chrome |
software | healthy | docs/v1_wrap/claude-for-chrome |
raw |
software | healthy | docs/v1_wrap/claude-for-chrome/raw |
capture |
software | healthy | docs/v1_wrap/claude-for-chrome/capture |
outputs |
software | healthy | docs/v1_wrap/claude-for-chrome/outputs |
test_1 |
software | healthy | docs/v1_wrap/test_1 |
tasks |
software | healthy | docs/v1_wrap/test_1/tasks |
plans |
software | healthy | docs/plans |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
FeatherApi |
software | healthy | scripts/demo/hero-chatgpt-gmail.ts:FeatherApi |
FeatherPaths |
software | healthy | src/fs-layout.ts:FeatherPaths |
ListTabsHandler |
software | healthy | src/commands/list-tabs.ts:ListTabsHandler |
SnapshotHandler |
software | healthy | src/commands/snapshot.ts:SnapshotHandler |
HealthHandler |
software | healthy | src/commands/health.ts:HealthHandler |
ObserveHandler |
software | healthy | src/commands/observe.ts:ObserveHandler |
NavigateHandler |
software | healthy | src/commands/navigate.ts:NavigateHandler |
GetSessionHandler |
software | healthy | src/commands/status.ts:GetSessionHandler |
ListSessionsHandler |
software | healthy | src/commands/status.ts:ListSessionsHandler |
OpenTabHandler |
software | healthy | src/commands/open-tab.ts:OpenTabHandler |
AwaitHumanHandler |
software | healthy | src/commands/await-human.ts:AwaitHumanHandler |
ExportCookiesHandler |
software | healthy | src/commands/export-cookies.ts:ExportCookiesHandler |
ElementNotFoundError |
software | healthy | src/commands/input-errors.ts:ElementNotFoundError |
ElementNotActionableError |
software | healthy | src/commands/input-errors.ts:ElementNotActionableError |
WaitTimeoutError |
software | healthy | src/commands/input-errors.ts:WaitTimeoutError |
RefExpiredError |
software | healthy | src/commands/input-errors.ts:RefExpiredError |
DebugBundleHandler |
software | healthy | src/commands/debug-bundle.ts:DebugBundleHandler |
HumanInControlError |
software | healthy | src/commands/pause-registry.ts:HumanInControlError |
LaunchSessionHandler |
software | healthy | src/commands/launch.ts:LaunchSessionHandler |
PressHandler |
software | healthy | src/commands/press.ts:PressHandler |
WaitHandler |
software | healthy | src/commands/wait.ts:WaitHandler |
ScreenshotHandler |
software | healthy | src/commands/screenshot.ts:ScreenshotHandler |
CloseSessionHandler |
software | healthy | src/commands/close.ts:CloseSessionHandler |
CloseTabHandler |
software | healthy | src/commands/close-tab.ts:CloseTabHandler |
SelectOptionHandler |
software | healthy | src/commands/select-option.ts:SelectOptionHandler |
TypeHandler |
software | healthy | src/commands/type.ts:TypeHandler |
DismissHandler |
software | healthy | src/commands/dismiss.ts:DismissHandler |
ClickHandler |
software | healthy | src/commands/click.ts:ClickHandler |
ExtractHandler |
software | healthy | src/commands/extract.ts:ExtractHandler |
SessionNotFoundError |
software | healthy | src/sessions/session.ts:SessionNotFoundError |
PageNotFoundError |
software | healthy | src/sessions/session.ts:PageNotFoundError |
SessionNotRunningError |
software | healthy | src/sessions/session.ts:SessionNotRunningError |
CannotCloseLastTabError |
software | healthy | src/sessions/session.ts:CannotCloseLastTabError |
FeatherSession |
software | healthy | src/sessions/session.ts:FeatherSession |
SessionManager |
software | healthy | src/sessions/manager.ts:SessionManager |
ProcessSampler |
software | healthy | src/measurement/sampler.ts:ProcessSampler |
MeasurementRunner |
software | healthy | src/measurement/runner.ts:MeasurementRunner |
FeatherLogger |
software | healthy | src/logs/logger.ts:FeatherLogger |
IdentityStore |
software | healthy | src/identity/store.ts:IdentityStore |
IdentityManager |
software | healthy | src/identity/manager.ts:IdentityManager |
IdentityNotFoundError |
software | healthy | src/identity/types.ts:IdentityNotFoundError |
IdentityAlreadyExistsError |
software | healthy | src/identity/types.ts:IdentityAlreadyExistsError |
IdentityValidationError |
software | healthy | src/identity/types.ts:IdentityValidationError |
ProfileLockedError |
software | healthy | src/profiles/lock.ts:ProfileLockedError |
ProfileLock |
software | healthy | src/profiles/lock.ts:ProfileLock |
WorkspaceMetadata |
software | healthy | src/profiles/workspace.ts:WorkspaceMetadata |
CapabilityGrantRegistry |
software | healthy | src/capability/grants.ts:CapabilityGrantRegistry |
SessionHoldRegistry |
software | healthy | src/capability/holds.ts:SessionHoldRegistry |
GrantAuditSink |
software | healthy | src/capability/audit.ts:GrantAuditSink |
DangerousModePolicy |
software | healthy | src/capability/policy.ts:DangerousModePolicy |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
POST /v1/identities |
api | healthy | src/transport/identity-routes.ts |
GET /v1/identities |
api | healthy | src/transport/identity-routes.ts |
GET /v1/identities/:id |
api | healthy | src/transport/identity-routes.ts |
DELETE /v1/identities/:id |
api | healthy | src/transport/identity-routes.ts |
POST /v1/identities/:id/warm |
api | healthy | src/transport/identity-routes.ts |
POST /v1/identities/:id/mark-warm |
api | healthy | src/transport/identity-routes.ts |
GET /v1/events |
api | healthy | src/transport/sse.ts |
GET /health |
api | healthy | src/transport/routes.ts |
POST /v1/sessions |
api | healthy | src/transport/routes.ts |
GET /v1/sessions |
api | healthy | src/transport/routes.ts |
GET /v1/sessions/:sessionId |
api | healthy | src/transport/routes.ts |
POST /v1/sessions/:sessionId/navigate |
api | healthy | src/transport/routes.ts |
POST /v1/sessions/:sessionId/tabs |
api | healthy | src/transport/routes.ts |
GET /v1/sessions/:sessionId/health |
api | healthy | src/transport/routes.ts |
GET /v1/sessions/:sessionId/tabs |
api | healthy | src/transport/routes.ts |
DELETE /v1/sessions/:sessionId/tabs/:pageId |
api | healthy | src/transport/routes.ts |
POST /v1/sessions/:sessionId/snapshot |
api | healthy | src/transport/routes.ts |
POST /v1/sessions/:sessionId/observe |
api | healthy | src/transport/routes.ts |
POST /v1/sessions/:sessionId/dismiss |
api | healthy | src/transport/routes.ts |
POST /v1/sessions/:sessionId/extract |
api | healthy | src/transport/routes.ts |
POST /v1/sessions/:sessionId/click |
api | healthy | src/transport/routes.ts |
POST /v1/sessions/:sessionId/type |
api | healthy | src/transport/routes.ts |
POST /v1/sessions/:sessionId/press |
api | healthy | src/transport/routes.ts |
POST /v1/sessions/:sessionId/select-option |
api | healthy | src/transport/routes.ts |
POST /v1/sessions/:sessionId/wait |
api | healthy | src/transport/routes.ts |
POST /v1/sessions/:sessionId/await-human |
api | healthy | src/transport/routes.ts |
GET /v1/sessions/:sessionId/resume |
api | healthy | src/transport/routes.ts |
POST /v1/sessions/:sessionId/resume |
api | healthy | src/transport/routes.ts |
POST /v1/sessions/:sessionId/grants |
api | healthy | src/transport/routes.ts |
GET /v1/approvals/:humanToken |
api | healthy | src/transport/routes.ts |
POST /v1/approvals/:humanToken |
api | healthy | src/transport/routes.ts |
POST /v1/sessions/:sessionId/cookies/export |
api | healthy | src/transport/routes.ts |
POST /v1/sessions/:sessionId/screenshot |
api | healthy | src/transport/routes.ts |
POST /v1/sessions/:sessionId/debug-bundle |
api | healthy | src/transport/routes.ts |
DELETE /v1/sessions/:sessionId |
api | healthy | src/transport/routes.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
/ |
frontend | healthy | tests/integration/capability-gate.integration.test.ts |
/v1/sessions/ses_cap/grants |
frontend | healthy | tests/integration/capability-gate.integration.test.ts |
/v1/sessions/ses_cap/cookies/export |
frontend | healthy | tests/integration/capability-gate.integration.test.ts |
/v1/sessions/ses_cap |
frontend | healthy | tests/integration/capability-gate.integration.test.ts |
/health |
frontend | healthy | tests/integration/origin-host-hardening.integration.test.ts |
/v1/sessions |
frontend | healthy | tests/integration/origin-host-hardening.integration.test.ts |
/v1/identities |
frontend | healthy | tests/integration/identity.integration.test.ts |
/v1/identities/roi-linkedin |
frontend | healthy | tests/integration/identity.integration.test.ts |
/v1/identities/roi-linkedin/mark-warm |
frontend | healthy | tests/integration/identity.integration.test.ts |
/v1/identities/nobody/warm |
frontend | healthy | tests/integration/identity.integration.test.ts |
/v1/identities/warmable/warm |
frontend | healthy | tests/integration/identity.integration.test.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::scripts/spikes/cookie-isolation-spike.ts |
security | healthy | scripts/spikes/cookie-isolation-spike.ts |
auth::skills/feather-human-handoff/SKILL.md |
security | healthy | skills/feather-human-handoff/SKILL.md |
auth::tests/unit/scripts/continuity.test.ts |
security | healthy | tests/unit/scripts/continuity.test.ts |
auth::scripts/demo/continuity.ts |
security | healthy | scripts/demo/continuity.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
password_literal::tests/integration/proxy-redaction.integra… |
security | healthy | tests/integration/proxy-redaction.integration.test.ts |
password_literal::tests/unit/logs/redact.test.ts |
security | healthy | tests/unit/logs/redact.test.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-3nou_q8g |
software | healthy | /tmp/repobility-clone-3nou_q8g |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
port:44197 |
network | healthy | tests/unit/transport/origin-host-guard.test.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
verify |
cicd | healthy | .github/workflows/ci.yml |
This page is publicly accessible at:
https://repobility.com/scan/5fe4dd8b-b34b-44fc-a27d-af8d4ff5d1e3/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/5fe4dd8b-b34b-44fc-a27d-af8d4ff5d1e3/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.