计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
appfolio-prod-checklist【效率与协作】Production readiness checklist for AppFolio integrations. Trigger: "appfolio production checklist".
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: appfolio-prod-checklist description: 'Production readiness checklist for AppFolio integrations.
Trigger: "appfolio production checklist".
' allowed-tools: Read, Write, Edit, Bash(npm:), Bash(curl:), Grep version: 1.5.0 license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags:
AppFolio manages properties, tenants, leases, and work orders for real estate operations. A production integration handles sensitive tenant PII, financial transactions, and maintenance workflows. Failures here mean missed rent collections, unprocessed work orders, or tenant data exposure under CCPA. This checklist ensures your AppFolio API integration is resilient, compliant, and observable.
APPFOLIO_API_KEY stored in secrets manager (not environment files)async function checkAppFolioReadiness(): Promise<void> {
const checks: { name: string; pass: boolean; detail: string }[] = [];
const client = createVerifiedAppFolioClient(); // contract-bound client from appfolio-security-basics
// API connectivity
try {
const res = await client.get('/properties?limit=1');
checks.push({ name: 'API Connectivity', pass: res.status >= 200 && res.status < 300, detail: `HTTP ${res.status}` });
} catch (e: any) { checks.push({ name: 'API Connectivity', pass: false, detail: e.message }); }
// Client construction proves the managed credential and provider contract are available.
checks.push({ name: 'Verified client configuration', pass: true, detail: 'Loaded from managed configuration' });
// Work order endpoint
try {
const res = await client.get('/work_orders?limit=1');
checks.push({ name: 'Work Orders', pass: res.status >= 200 && res.status < 300, detail: `HTTP ${res.status}` });
} catch (e: any) { checks.push({ name: 'Work Orders', pass: false, detail: e.message }); }
for (const c of checks) console.log(`[${c.pass ? 'PASS' : 'FAIL'}] ${c.name}: ${c.detail}`);
}
checkAppFolioReadiness();
| Check | Risk if Skipped | Priority |
|---|---|---|
| API key rotation | Expired keys halt property sync | P1 |
| Payment sync failure | Missed rent collections | P1 |
| Tenant PII exposure | CCPA violation, legal liability | P1 |
| Work order duplication | Duplicate maintenance dispatch | P2 |
| Rate limit handling | 429 errors during bulk property import | P3 |
For a work-order integration release, run the checklist first against a synthetic staging fixture, then use the managed production-shaped client for a single authorized safe read. Confirm the alert route, PII redaction, and idempotency/reconciliation controls while all writes remain disabled. If a credential, endpoint contract, readiness check, or rollback exercise cannot be verified, declare no-go, retain the previous revision, and have the assigned owner remediate before a new rehearsal.
See appfolio-security-basics for tenant data protection and access control.