Žinutės

Filtrastaikomas

Šis puslapis nėra tiesioginis — žinutės atnaujinamos pagal tvarkaraštį. Paskutinį kartą atnaujinta . Kito atnaujinimo laukiama apie . Laikas rodomas Vilniaus laiku (EET).

Darius@Kiaulakis.lt #AiOpsCatalystClaudeProgramavimas / agentai
Oho! Pasirodo yra sub-agentų limitai Claude code :) Tikiuos tai tik mano harness'o spraga, o ne sesijoje galimų atengų limitavimas
Žinutės vaizdas
Claude
visgi Claude riboja 20 sub-sesijų
Žinutės vaizdas
Žinutės vaizdas
Su ultracode laukia gentai, o nėra "nužudomi", kaip su kitais effort'ais, kaip supratau.
dar šiek tiek patobulinau prompt'ą :)

always proactively fix remaining and debug found gaps, hunt and proactively heal the root causes,
and implement discovered improvements, ideas and opportunities to increase performance, efficiency
and help ceo reach his vision and goals, help to his businesses to prosper, solutions which work
10/10; continue fixing all roadblocks. Validate not to repeat mistakes, to fix hooks errors and
implement recommendations. Run as orchestrator new swpawned sessions accordingly.
m vid
bandau nauja dsv4-flash, retro usenet serverio kodą varo puikiai ir jaučias antras treniravimas nuo preview jiem labai atsimokėjo, nesulaukiu kaip dsv4-pro iš preview atrodys :D

Darius@Kiaulakis.lt #AiOpsCatalystClaudeProgramavimas / agentai
Visai įdomų commit'ams tekstą užmačiau tarp codex "pamąstymų" :) Gal visgi pradeda multi-vendor harness'o taisyklės veikt :)

## Commit Message Format

```
<type>: <description>

<optional body>

Co-Authored-By: Claude Opus 4.7 <[el. paštas paslėptas]>
```

Types: feat, fix, refactor, docs, test, chore, perf, ci, build, style, revert

### A LONG message goes in a FILE, never on the command line (measured 2026-07-29)

agent-git.js commit accepts --message-file <path>, and almost nothing points agents at it: it
appears 7 times in tools/scripts/agent-git.js and 0 times in this rule or CLAUDE.md. One
session burned hours on the three traps it removes, then amended around them:

| Trap on the command line | What it costs |
|---|---|
| backticks are command-substituted by bash | words silently vanish from the committed message; `` to
`` became nothing |
| a body line starting with -- | parsed as a flag; the whole invocation dies |
| very long --message + long --paths | the shell invocation is killed with exit 1 and zero output |

And the workaround is worse than the traps. Reaching for git commit --amend -m to fix a
message has two failure modes of its own:

1. it commits the shared index, so a peer's staged file lands in your commit under your subject;
2. it replaces the whole message, stripping the Agent-ID: / Session-ID: trailers that
agent-git appended - which breaks GR-71 attribution and makes unlanded-fix-check report your
landed files as never-committed (measured: 4 of 5 commits lost the trailer; 16 files misreported).

Do this instead:

```bash
MSG=$(node tools/scripts/agent-git.js scratch-path --agent claude_code) # collision-free path
cat > "$MSG" <<'EOF'
fix(area): one-line summary

Body with backticks, --flags at line start, whatever you need.
EOF
node tools/scripts/agent-git.js commit --agent claude_code \
--paths "a.js,b.js" --message-file "$MSG"
```

Use scratch-path rather than inventing one: agents in a session share a scratchpad directory, so
generic basenames (msg.txt, commit-msg.md) race each other and a commit can ship the WRONG
message. agent-git refuses those basenames outright for that reason (measured: aaf5edfdc).

Tracked: problem:harness.git-commit-amend-strips-session-attribution.

## Commit Quality Gate - industry standard (CEO directive 2026-06-08: commits are a CTO decision)

Commits follow Conventional Commits (conventionalcommits.org) + MPRO conventions. Enforced by
tools/eidos/commit-quality-check.js (gate item commit_quality; advisory by default,
MPRO_COMMIT_GATE_BLOCKING=1 to enforce). The CTO owns commit hygiene - the CEO does not.

Never ask the (non-technical) CEO to TRIGGER a commit (CEO directive 2026-06-27: "who should
request commits? non technical ceo?"). Committing is a CTO decision - when work is done and proven,
COMMIT IT yourself; do NOT end the turn with "say commit", "run /commit", "let me know to commit",
or "want me to commit?". That punts a technical decision onto someone who should not have to make it.
Enforced: tools/eidos/commit-punt-check.js (runCommitPuntCheck) -> gate item commit_punt_to_ceo
(-2), wired in BOTH runAgentMode + runAgentModeQuick (fail-open). RELEASED only for a genuine
production deploy/release needing business sign-off, or a Tier-1 (C51) critical-file commit the CEO
must approve. (This is the commit-specific face of the empty-question ban / do-it-dont-offer.md.)
ClaudeAutomatizacija / integracijosProgramavimas / agentai
- Header: type(scope): subject (or type: subject). type from the list above; ! marks a
breaking change (feat!: ...).
- Subject: imperative mood ("add X", not "added X"), <= 72 chars, no trailing period, NEVER a
placeholder (wip, fixup, update, stuff).
- Body (recommended for feat/fix): explain the WHY, not the what (the diff shows the what).
- Trailer: Co-Authored-By: Claude <[el. paštas paslėptas]>.
- Atomic: one logical concern per commit. Stage specific files (git add <paths>), do NOT
git add -A a mixed 80-file tree. Unrelated/runtime files (auto-generated state, other agents'
churn) are NOT swept into your commit.
- Validate before committing: `node -e "console.log(require('./tools/eidos/commit-quality-
check').validateCommitMessage(MSG))"`.

## Pre-Commit Checklist

1. Run /verify skill (or manual security scan)
2. No hardcoded secrets in diff
3. No console.log in production code
4. CHANGELOG updated for user-facing changes (GR-10)
5. Git commit BEFORE deploy

## NEVER use --no-verify

git commit --no-verify is PROHIBITED for all agents.
The pre-commit hook auto-updates CHANGELOG.md and package.json versions.
Bypassing it creates changelog drift — the exact problem it was built to prevent.
If the hook blocks a commit, fix the root cause. Never skip it.

## Feature Development Flow

1. Plan — start with plan mode, identify scope
2. Implement — small incremental changes
3. Review — invoke code-reviewer agent
4. Fix — address critical/high issues
5. Commit — use /commit skill with proper type
6. Verify — run /verify before pushing

## PR Rules

- Examine ALL commits in branch (not just latest)
- Use git diff [base]...HEAD for full change review
- Include test plan in PR body
- Push with -u flag for new branches

=== RULE: security.md ===
# Security Rules

> Version: 1.1.0 | Model: Claude Opus 4.8 (claude-opus-4-8) - effort:xhigh | Updated: 2026-07-04
22:34 UTC+3
> Owner: CEO (Darius Kiaulakis) | Binding for ALL agents/sub-agents.
> Operates UNDER values-bhagavad-gita.md (SUPREME - satya/ahimsa). Companions:
> security-scanning-harness.md (recon->triage->patch + 16 FP rules), .claude/skills/ccso-skill/SKILL.md
> (the red-team), web-project-standards.md, credentials.md, data-isolation.md.

## Before ANY Commit

- [ ] No hardcoded secrets (API keys, passwords, tokens) in source
- [ ] All user inputs validated (API params, CLI args, webhook bodies)
- [ ] SQL uses parameterized queries ($1, $2 — never string concatenation)
- [ ] User input escaped before a SQL LIKE/ILIKE (escape %, _, \ even WITH parameters - see Web
Application Security)
- [ ] No eval(), new Function(), vm.runInNewContext() with external input
- [ ] No child_process.exec() with unsanitized user input (use execFile or spawn)
- [ ] Error messages don't leak internal paths, stack traces, or credentials
- [ ] Rate limiting on public-facing API endpoints
- [ ] Web/ecommerce surface: security headers set + file uploads validated + no unescaped raw-HTML render
(see Web Application Security)

## Secret Management

- NEVER hardcode secrets — load from vault.js or .secure/ files
- Validate required secrets exist at startup (fail-fast, not fail-silent)
- Rotate any secret that may have been exposed
- .secure/, .env, vault.key MUST be in .gitignore

## MPRO Agent Security (LESSON-141..146)
Automatizacija / integracijosSvetainės / elektroninė prekybaProgramavimas / agentai
- Agent identity verified via AgentIdentity.isValidAgent() on all task inputs
- Task signatures verified via MessageSigning before execution
- Self-loop prevention: from !== to on all inter-agent tasks
- Override signatures require physical approval file (.secure/override-approval.json)
- A2A Bearer token required for HTTP inter-agent calls
- PostgreSQL RLS policies enforce per-agent data isolation
- Security enforcement is CODE-based (IronClaw gateway, RLS, MessageSigning) — NOT agent-based
- ZOE is a sandboxed technical assistant (Linux only) — NOT a security agent. Security is code-enforced
only.

## Port & Process Security (MANDATORY)

Every service MUST claim a port before binding to it. Unknown processes on unregistered ports
are treated as security threats.

| Action | Tool |
|--------|------|
| Reserve a new port | node core/port-registry.js suggest "Name" "Description" |
| Check what's on a port | curl http://localhost:3000/api/ports/enriched |
| Investigate a SUSPECT entry | Check category: 'SUSPECT' in Port Registry UI — process PID is in
description |
| Kill unauthorized listener | taskkill /PID <pid> /F after confirming it's not legitimate |

Port Registry rules:
- Reservations are permanent logs — persist even when a service is idle/down
- PortProcessMonitor auto-registers PM2 services and alerts on squatters
- MPRO Hub Port Registry (localhost:3000) shows SUSPECT entries (red) for unregistered listeners
- Docker containers (category: docker) and external services (category: external) are exempt from squatter
checks
- "Unknown" label = null pm2Name + no description → INVESTIGATE before accepting

If Port Registry UI (localhost:3000) is down:
1. Check PM2: pm2 list — look for MPROHub
2. Restart: pm2 restart MPROHub
3. Check raw registry: node core/port-registry.js list
4. Emergency netstat: netstat -ano | findstr LISTENING (manual SUSPECT scan)

## Web Application Security (web / ecommerce surfaces)

These ADD to the checks above for any public/web/ecommerce surface (WooCommerce, WordPress, the
Node/Postgres storefronts and APIs). They do NOT replace the pre-commit credential scan or the
security-scanning-harness.md 16 FP rules - they extend them.

### LIKE / wildcard-injection escaping (HIGH - applies to our search boxes)

Parameterized queries stop SQL injection, but they do NOT neutralize the `LIKE` wildcards `%` and
`_` inside the parameter VALUE. An attacker who types % or _ (or \) into a search box makes
the pattern match far more than intended - a real scan / data-exposure / algorithmic-DoS vector (a
leading %...% on an unindexed column forces a full scan). So on ANY LIKE/ILIKE built from user
input, escape the pattern metacharacters BEFORE composing the pattern, even though the query is
parameterized. Technique: the standard escapeLikePattern - escape \ FIRST (so you do not
re-escape the escapes you add), then % and _.

Reference technique (generic, from the Exposed ORM escapeLikePattern pattern):
```
// escape order matters: backslash first, then the wildcards
escapeLikePattern(s) = s.replace("\\","\\\\").replace("%","\\%").replace("_","\\_")
```
Automatizacija / integracijosDokumentai / duomenų apdorojimasSvetainės / elektroninė prekyba
- WooCommerce / WordPress (PHP) - the canonical idiom. Run esc_like() on the raw term, wrap
with your own wildcards, THEN pass through prepare(). BOTH are required: esc_like neutralizes
% _ \; prepare neutralizes SQL injection.
```php
// $search = raw user input from the search box
$like = '%' . $wpdb->esc_like( $search ) . '%';
$rows = $wpdb->get_results(
$wpdb->prepare( "SELECT ID FROM {$wpdb->posts} WHERE post_title LIKE %s", $like )
);
```
- Node / Postgres (pg) - parameter still carries wildcards. Escape \ % _ in the value before it
becomes the LIKE/ILIKE parameter (Postgres' default LIKE escape char is backslash).
```js
const esc = s => s.replace(/\\/g, '\\\\').replace(/%/g, '\\%').replace(/_/g, '\\_');
// WHERE name ILIKE $1 -- value is data (no SQL injection) but % _ are still live without esc()
const rows = await pool.query('SELECT id FROM products WHERE name ILIKE $1', [%${esc(term)}%]);
```
- If a use case must allow user-supplied wildcards deliberately, that is an explicit, documented
design choice - never the accidental default of an unescaped LIKE.

### Security-header checklist (web / ecommerce)

Set these on web responses (theme/mu-plugin, reverse proxy, or the Node/API layer). Tighten CSP
per surface; start from default-src 'self' and widen only what a page genuinely needs.

| Header | Value (baseline - tighten per surface) | Protects against |
|--------|----------------------------------------|------------------|
| Strict-Transport-Security | max-age=31536000; includeSubDomains; preload | SSL-strip / downgrade
(HTTPS only) |
| Content-Security-Policy | default-src 'self' (add script-src/style-src/img-src as needed) |
XSS / injection / data exfiltration |
| Set-Cookie (session/auth) | ; Secure; HttpOnly; SameSite=Lax (Strict for pure session cookies) |
session theft, CSRF, JS cookie theft |
| X-Content-Type-Options | nosniff | MIME-sniffing content confusion |
| X-Frame-Options OR CSP | DENY / SAMEORIGIN, or CSP frame-ancestors 'self' | clickjacking |
| Referrer-Policy | strict-origin-when-cross-origin (or no-referrer) | referrer/URL-param leakage |
| CORS (Access-Control-Allow-Origin) | allowlist explicit origins - never `*` in production,
especially with credentials | cross-origin data theft |

### File-upload validation (any user-supplied file)

Validate on the SERVER, never trust the client. All of these:
- Extension allowlist (deny by default) - accept only the explicit set the feature needs
(e.g. .jpg .jpeg .png .gif .pdf); reject everything else. Never a denylist.
- Size cap - enforce a max byte size (reject oversized uploads before processing).
- Content-type / magic-byte check - verify the real file type from its bytes; do NOT trust the
declared Content-Type header or the extension alone.
- Store outside the webroot - save uploads where they cannot be executed as code; serve via a
handler or a separate media origin, with a randomized/non-guessable stored filename.

### Escape-before-render trap (raw-HTML sinks)

Auto-escaping frameworks are safe UNTIL a raw-HTML escape hatch is used on untrusted input. Never
pass user input through a raw-HTML sink without escaping it FIRST:
- PHP/WP: escape (esc_html) before echo; never echo raw user HTML.
- Django templates: never {{ user_input|safe }} / mark_safe(user_input) - mark_safe(escape(x)), escape
THEN mark safe.
- React: avoid dangerouslySetInnerHTML on user input; Vue: avoid v-html; Angular: avoid
bypassSecurityTrustHtml.

These raw-HTML escape hatches are exactly the exception carved out by FP rule 14 in
security-scanning-harness.md - a finding in an auto-escaping framework is real ONLY when one of
these sinks touches untrusted input. Escape before render; never trust user HTML.

## When Security Issue Found
Programavimas / agentai
1. STOP current work
2. Invoke security-reviewer agent: Task(subagent_type="security-reviewer")
3. Fix CRITICAL issues before continuing
4. Rotate any exposed secrets
5. Grep codebase for similar patterns
Vakar per susitikimą gimė, bent man įdomi mintis, kai modeliai tiek išprotingės, kad nebereiks dabar kuriamo harness, bent jau tada bus dvasingesni, nes mano harnesso viršutinis sluoksnis yra vertybinis pamatas pagal Bhagavad Gita, Kaizen ir Yokoten filosofijų formuluotes :)
ClaudeProgramavimas / agentai
ir ta proga šiandien Fable daviau perkratyti visus 80+ konstitucijos punktus, agents.md, memory.md, claude.md ir kitus kurie įtakoja visų tiekėjų agentų config'us :) Žiūriu vos spėja į 5h limitą :)
  • 👍1
  • 🔥1
m vid
niekur, skirtingi jausmai tarp skirtingu žmoniu ir kaip kas dirba su modeliais, džiaugtis turim platu pasirinkima :D
Martin Jokub
Žinutės vaizdas
  • 🔥1
Programavimas / agentai
Daoism and wu wei - minimum sufficient intervention
Harness question: Is the agent forcing complexity where a simpler path exists?
  • ❤1
Naujas narys prisijungė prie grupės
Darius BChatGPT / GPT
ChatGPT pateikė savo nuomonę apie LLM modelių našumo ir kainos santykį, o ką manote jūs?
Žinutės vaizdas
  • 👍1
Rob
Max effort ne tik top tier modelius, yra skirtumas =)
o skirtumas kainos prasme? greičio? kokybės?

Skaitau diskusijas kaip dabar dauguma pradėjo Luna eksplotuot su Max effort, po kainų sumažinimo. Vieni džiaugiasi, nes labai pigu, kiti keikia, nes sugadino db. Tai man asmeniškai baisu eksperimentuot, bent kol kas
  • 👍1
Darius@Kiaulakis.lt #AiOpsCatalyst
Laikausi požiūrio, orkestruoja max protas. vykdo pagal užduoties svarbą. Jei fable high arba opus max; tai vykdo xhigh opus arba sonnet xhigh

nors kartais matau ir high paleidžia tiek opus, tiek sonnet; labai retai haiku pamatau.
  • 👍1

Naujas narys prisijungė prie grupės
Darius B
Ką veikt kai kvota baigiasi? O gi grįžt į gyvenimą 😅
  • 👏4
  • 🔥1

Rodoma paskutinė surinkta leidžiama būsena; pašalinimų suderinimas nebaigtas. Visas pokalbis — Telegram grupėje.