Skip to content

new code-base with PSR standards - #282

Open
voku wants to merge 258 commits into
nategood:masterfrom
voku:master
Open

new code-base with PSR standards #282
voku wants to merge 258 commits into
nategood:masterfrom
voku:master

Conversation

@voku

@voku voku commented Nov 13, 2019

Copy link
Copy Markdown

Hi, I forked this project some time ago, because I wanted to lean something from other devs code, in the mean time, I added some features that maybe helpfull for others also. :)

new features:

  • PSR-3: Logger Interface
  • PSR-7: HTTP Message Interface
  • PSR-17: HTTP Factory Interface
  • PSR-18: HTTP Client Interface
  • support for async requests

This change is Reviewable

voku and others added 30 commits April 30, 2016 12:26
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
-> removed fixed version ...
Copilot AI and others added 30 commits April 30, 2026 14:17
…ack, charset, README)

Agent-Logs-Url: https://github.com/voku/httpful/sessions/9399ebc4-8b6c-4d3f-81bc-2183620fff6e

Co-authored-by: voku <264695+voku@users.noreply.github.com>
Agent-Logs-Url: https://github.com/voku/httpful/sessions/1a96e2f8-8c99-482b-833a-e02e774b09e5

Co-authored-by: voku <264695+voku@users.noreply.github.com>
Agent-Logs-Url: https://github.com/voku/httpful/sessions/e1af6f48-c4a7-4c8e-baa9-fe8e4fa18e3c

Co-authored-by: voku <264695+voku@users.noreply.github.com>
Agent-Logs-Url: https://github.com/voku/httpful/sessions/e1af6f48-c4a7-4c8e-baa9-fe8e4fa18e3c

Co-authored-by: voku <264695+voku@users.noreply.github.com>
[+]: PHP 8.0+ rework
Agent-Logs-Url: https://github.com/voku/httpful/sessions/facf86f5-fc33-42ea-98a3-593ea22a9757

Co-authored-by: voku <264695+voku@users.noreply.github.com>
Agent-Logs-Url: https://github.com/voku/httpful/sessions/facf86f5-fc33-42ea-98a3-593ea22a9757

Co-authored-by: voku <264695+voku@users.noreply.github.com>
Agent-Logs-Url: https://github.com/voku/httpful/sessions/facf86f5-fc33-42ea-98a3-593ea22a9757

Co-authored-by: voku <264695+voku@users.noreply.github.com>
Agent-Logs-Url: https://github.com/voku/httpful/sessions/facf86f5-fc33-42ea-98a3-593ea22a9757

Co-authored-by: voku <264695+voku@users.noreply.github.com>
Agent-Logs-Url: https://github.com/voku/httpful/sessions/facf86f5-fc33-42ea-98a3-593ea22a9757

Co-authored-by: voku <264695+voku@users.noreply.github.com>
Agent-Logs-Url: https://github.com/voku/httpful/sessions/facf86f5-fc33-42ea-98a3-593ea22a9757

Co-authored-by: voku <264695+voku@users.noreply.github.com>
Agent-Logs-Url: https://github.com/voku/httpful/sessions/facf86f5-fc33-42ea-98a3-593ea22a9757

Co-authored-by: voku <264695+voku@users.noreply.github.com>
Add DX helper aliases + boost line coverage to 95.86% (+5.2pp)
Document post-3.1.0 API changes and BC scope
Agent-Logs-Url: https://github.com/voku/httpful/sessions/de62c859-f0c9-4475-b657-9ac02ec470b8

Co-authored-by: voku <264695+voku@users.noreply.github.com>
Agent-Logs-Url: https://github.com/voku/httpful/sessions/83c91c6e-be59-4fd6-be43-a16d9c1f6ccf

Co-authored-by: voku <264695+voku@users.noreply.github.com>
…peline

Tighten Infection gates and cover escaped mutation paths
* Add agent-loop tooling and implement QUERY (RFC 10008) through it

Two things, one dogfooding run: wire voku/agent-loop into this repository as
optional tooling, then use its governed workflow to land a real change.

## agent-loop as isolated tooling

agent-loop requires PHP ^8.3 while httpful still supports ^8.0, so it is not a
root require-dev dependency: it lives in tools/agent-loop with its own
composer.json. `composer install` and CI are unaffected on every supported PHP
version. `composer agent-loop -- <args>` is the shorthand for the CLI.

Scaffolded .agent-loop/ (Kanban board, task briefs), projected the first-party
skills and subagent roles into .claude/, and added AGENTS.md as the router -
including the fact that the CLI is not at vendor/bin/agent-loop here.

The package-shipped Claude hooks resolve their runtime as
<root>/vendor/autoload.php, which exists in this repository but knows nothing
about voku\AgentLoop\*, so every SessionStart died with a "class not found".
docs/agents/claude-hooks/ is the host-owned bundle documented for this, with a
runtime probe that also covers the tools/ layout.

Only the board, task briefs and config are tracked under .agent-loop/;
run-local and derived state (map index, compiled recall, runs, sessions,
contracts) is ignored, matching what agent-loop does in its own repository. A
checkout without them still passes `agent-loop verify`.

## QUERY (RFC 10008)

RFC 10008 defines QUERY as a method that carries its query in the request body
like POST, but is safe and idempotent like GET - a combination httpful had no
way to express.

- Http::QUERY, listed in allMethods(), safeMethods() and idempotentMethods().
  allMethods() is load-bearing: Request::_setMethod() validates against it, so
  without it every QUERY request would have thrown.
- Request::query(), Client::query() / Client::query_request(), and
  ClientMulti::add_query(), all following the existing PATCH/PUT shape.

The generic paths needed no change: CURLOPT_CUSTOMREQUEST already carries any
non-POST method, body attachment is method-agnostic, and Factory::createRequest
accepts QUERY through the same validation.

Validation: phpstan level 8 clean. phpunit is 936 tests / 1909 assertions with
one failure, ClientTest::testHttpClient, which asserts a 405 from a live POST to
www.google.com and is unrelated to this change - reproduced with the change
stashed. Tracked as HTTPFUL-5. The governed task closed with that recorded as an
accepted risk rather than a passed gate, so it stays visible.

## Workflow findings

13 reproducible findings about agent-loop itself are written up in
docs/agents/agent-loop-findings.md and tracked as board cards HTTPFUL-2
(install-layout portability), HTTPFUL-3 (CLI ergonomics) and HTTPFUL-4
(guidance and review-report quality). None are fixed here.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017csFdHxEtgBfC8wWM9Ni6j

* dogfood: move agent feedback into governed findings

* ci: replay current agent-loop projection

* ci: replay projection after status fix

* ci: apply verified agent-loop projection

* chore: regenerate agent-loop projection from current candidate

* chore: drop superseded Claude hook workaround

* ci: apply final agent-loop projection

* chore: regenerate final agent-loop projection

* chore: consume released agent-loop 0.16.5

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants