@hasna/skills 0.10.0 → 0.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -488,6 +488,30 @@ are acquired in deterministic path order, and the parent is re-read immediately
488
488
  before the child commit; any changed or ABA generation refuses the child write.
489
489
  No agent process is stopped or restarted.
490
490
 
491
+ Session write locks created by current releases include the host, boot and
492
+ process start identity (plus the Linux PID namespace). After 30 seconds, a
493
+ later writer can archive one only when that identity proves the writer is gone
494
+ on this same host. The exact lock bytes and a metadata record remain under
495
+ `selection-cache/session-lock-recoveries`; the session receipt is not changed
496
+ by recovery. A live, recent, malformed or different-host lock still blocks the
497
+ write. A recovery guard serializes competing recoverers.
498
+
499
+ Older PID-only locks require a local review because they do not identify their
500
+ host. On the host that created the lock, inspect the receipt and lock, verify
501
+ the recorded PID belongs to no live writer, then apply the exact reviewed lock:
502
+
503
+ ```bash
504
+ skills sessions recover-lock <session-id> --json
505
+ skills sessions recover-lock <session-id> --apply \
506
+ --review-digest <review-digest> --confirm-local-host --json
507
+ ```
508
+
509
+ The second command rechecks the lock, receipt, age and PID before archiving.
510
+ Keep the archive path returned by the command. If the review changes or the
511
+ writer cannot be proven gone, leave the lock in place; do not remove the
512
+ session receipt or stop a running agent. A surviving recovery guard also
513
+ requires separate review before another recovery attempt.
514
+
491
515
  Use the same updated Skills installation for every process writing this cache.
492
516
  Session writers coordinate with reconciliation and refuse a stale write that
493
517
  would restore an earlier pin. Reviewed reconciliation approvals bind their
@@ -1469,7 +1493,15 @@ The server supports SQLite and Postgres. The database is an adapter choice, not
1469
1493
  different product: the schema, the organization scoping, and the run lifecycle are
1470
1494
  identical either way.
1471
1495
 
1496
+ Set `SKILLS_PUBLIC_BASE_URL` to this server's public API origin before starting
1497
+ `skills-serve` or embedding its SDK handler. The server uses that authority in
1498
+ profile receipts; its socket address cannot establish the public URL. For a
1499
+ local-only instance, use the loopback origin shown below. A deployed independent
1500
+ instance should use its own HTTPS origin. Without an explicit public URL, the
1501
+ server refuses to start before opening storage.
1502
+
1472
1503
  ```bash
1504
+ export SKILLS_PUBLIC_BASE_URL=http://127.0.0.1:8787
1473
1505
  skills-serve # SQLite at ~/.hasna/skills/server.db
1474
1506
  HASNA_SKILLS_DATABASE_URL=<path>/server.db skills-serve
1475
1507
  HASNA_SKILLS_DATABASE_URL=postgres://user:CHANGEME@host/skills skills-serve