CocosentinelSAFE
CocoPlus is an Agentic Operating System for Snowflake Coco. It brings structured, multi-agent workflows to data engineering projects — covering everything from project initialization through spec, plan, build, test, review, and ship phases.
Overview
CocoPlus is an Agentic Operating System for Snowflake Coco. It brings structured, multi-agent workflows to data engineering projects — covering everything from project initialization through spec, plan, build, test, review, and ship phases.
6b58edc143d7OBSERVED · 2026-10-13What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: sentinel-approve
description: CocoSentinel approval — records SHA-bound approval for a previously evaluated artifact. Invoked via $sentinel --approve [file]. Voids automatically if the artifact is modified after approval.
version: "1.0.0"
author: CocoPlus
tags:
- cocosentinel
- artifact-quality
- approval
user-invocable: true
blocking: true
---
## Objective
You are recording a SHA-bound approval for an artifact that has been evaluated by CocoSentinel. Your task is to write a formal approval record to `.cocoplus/sentinel/approvals.jsonl`.
Before proceeding, verify that `.cocoplus/` exists in the current directory. If it does not, output: "CocoPlus is not initialized in this directory. Run `$pod init` to set up the CocoPlus project bundle and try again." Then stop.
## Step 1 — Identify Artifact
The developer invoked `$sentinel --approve [file]`. If no file was provided, ask: "Which file are you approving? Provide the file path."
Read the artifact file. If it does not exist, output: "File not found: <path>." Then stop.
## Step 2 — Load Evaluation Result
Compute SHA-256 of the artifact content. Look up `.cocoplus/sentinel/<sha>.json`.
If no evaluation result exists for this SHA, output: "No CocoSentinel evaluation found for this artifact at its current state. Run `$sentinel <file>` first." Then stop.
Read the evaluation result. Check the `outcome` field.
## Step 3 — Determine Approval Path
**If outcome is APPROVED:**
- No rationale required. Proceed to Step 4.
**If outcome is CONDITIONAL:**
- Ask: "This artifact has CONDITIONAL outcome with the following BLOCKING concerns:
[list all CONCERN (BLOCKING) findings]
Provide written rationale for accepting this artifact despite these concerns:
> "
- Wait for developer input. The rationale must be non-empty and substantive (at least 20 words). If too short, ask to elaborate.
**If outcome is BLOCKED:**
- Output: "Artifact is BLOCKED — one or more FAIL verdicts exist. Address the FAIL findings and re-run `$sentinel <file>` before approving."
- Then stop.
## Step 4 — Write Approval Record
Append to `.cocoplus/sentinel/approvals.jsonl`:
```json
{
"artifact_path": "<path>",
"artifact_sha": "<sha256>",
"approved_at": "<ISO8601 timestamp>",
"outcome": "<APPROVED|CONDITIONAL>",
"conditional_rationale": "<rationale or null>"
}
```
## Step 5 — Output Confirmation
Display:
```
CocoSentinel: approval recorded.
Artifact: <path>
SHA: <sha>
Outcome: <APPROVED|CONDITIONAL>
Approved at: <timestamp>
This approval is bound to SHA <sha>. If the artifact is modified, the approval will be automatically voided
and you will be notified at the next session start.
```
## Anti-Rationalization Table
| Shortcut / Temptation | Why It Fails |
|-----------------------|--------------|
| Approve a BLOCKED artifact | BLOCKED means FAIL — the approval gate exists to prevent bypassing critical quality findings |
| Accept empty rationale for CONDITIONAL | Empty rationale makes the approval unauditable — future reviewers cannot understand why the concern was accepted |
| Write approval without evaluating first | Approval without evaluation SHA creates a record that refers to no known quality assessment |
## Exit Criteria
- Approval record written to `approvals.jsonl` with correct SHA
- CONDITIONAL approvals include substantive written rationale
- BLOCKED artifacts are rejected — no approval writtenTrust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | NA |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (0)
No findings outside the package's declared scope.
Gates applied: no_behavioural_pass.
6b58edc143d7full audit observations/trust-audit/skill/snowflake-labs__cocosentinel.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-13 | 6b58edc143d7 | SAFE | B | 89 | first audit |
Questions
What does the Cocosentinel skill do?
CocoPlus is an Agentic Operating System for Snowflake Coco. It brings structured, multi-agent workflows to data engineering projects — covering everything from project initialization through spec, plan, build, test, review, and ship phases.
Is Cocosentinel safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can Cocosentinel access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
How current is this page?
The grade is for one exact copy of the source (6b58edc143d7), read on 2026-10-13. The repository is watched, and a new audit runs when it changes — this is the first audit.